diff mbox series

ACPI: CPPC: add sysfs entry for guaranteed performance

Message ID 20240606115541.2069-1-ptesarik@suse.com
State New
Headers show
Series ACPI: CPPC: add sysfs entry for guaranteed performance | expand

Commit Message

Petr Tesařík June 6, 2024, 11:55 a.m. UTC
Expose the CPPC guaranteed performance as reported by the platform through
GuaranteedPerformanceRegister.

The current value is already read in cppc_get_perf_caps() and stored in
struct cppc_perf_caps (to be used by the intel_pstate driver), so only the
attribute itself needs to be defined.

Signed-off-by: Petr Tesařík <ptesarik@suse.com>
---
 drivers/acpi/cppc_acpi.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Petr Tesarik June 21, 2024, 8:48 a.m. UTC | #1
On Thu,  6 Jun 2024 13:55:41 +0200
Petr Tesarik <ptesarik@suse.com> wrote:

> Expose the CPPC guaranteed performance as reported by the platform through
> GuaranteedPerformanceRegister.
> 
> The current value is already read in cppc_get_perf_caps() and stored in
> struct cppc_perf_caps (to be used by the intel_pstate driver), so only the
> attribute itself needs to be defined.

Are there any objections to exposing this CPPC register through sysfs?
I mean, if everybody is OK with it, the patch could be acked and queued
for 6.11, right?

Petr T

> Signed-off-by: Petr Tesařík <ptesarik@suse.com>
> ---
>  drivers/acpi/cppc_acpi.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
> index 1d857978f5f4..9976bb57356e 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -160,6 +160,7 @@ show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, highest_perf);
>  show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, lowest_perf);
>  show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, nominal_perf);
>  show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, lowest_nonlinear_perf);
> +show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, guaranteed_perf);
>  show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, lowest_freq);
>  show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, nominal_freq);
>  
> @@ -196,6 +197,7 @@ static struct attribute *cppc_attrs[] = {
>  	&highest_perf.attr,
>  	&lowest_perf.attr,
>  	&lowest_nonlinear_perf.attr,
> +	&guaranteed_perf.attr,
>  	&nominal_perf.attr,
>  	&nominal_freq.attr,
>  	&lowest_freq.attr,
Rafael J. Wysocki June 21, 2024, 10:16 a.m. UTC | #2
On Fri, Jun 21, 2024 at 10:49 AM Petr Tesarik <petr.tesarik@suse.com> wrote:
>
> On Thu,  6 Jun 2024 13:55:41 +0200
> Petr Tesarik <ptesarik@suse.com> wrote:
>
> > Expose the CPPC guaranteed performance as reported by the platform through
> > GuaranteedPerformanceRegister.
> >
> > The current value is already read in cppc_get_perf_caps() and stored in
> > struct cppc_perf_caps (to be used by the intel_pstate driver), so only the
> > attribute itself needs to be defined.
>
> Are there any objections to exposing this CPPC register through sysfs?
> I mean, if everybody is OK with it, the patch could be acked and queued
> for 6.11, right?

It actually has been queued already, sorry for the missing notice.

It's been in linux-next for some time even.
Petr Tesarik June 21, 2024, 11:09 a.m. UTC | #3
On Fri, 21 Jun 2024 12:16:06 +0200
"Rafael J. Wysocki" <rafael@kernel.org> wrote:

> On Fri, Jun 21, 2024 at 10:49 AM Petr Tesarik <petr.tesarik@suse.com> wrote:
> >
> > On Thu,  6 Jun 2024 13:55:41 +0200
> > Petr Tesarik <ptesarik@suse.com> wrote:
> >  
> > > Expose the CPPC guaranteed performance as reported by the platform through
> > > GuaranteedPerformanceRegister.
> > >
> > > The current value is already read in cppc_get_perf_caps() and stored in
> > > struct cppc_perf_caps (to be used by the intel_pstate driver), so only the
> > > attribute itself needs to be defined.  
> >
> > Are there any objections to exposing this CPPC register through sysfs?
> > I mean, if everybody is OK with it, the patch could be acked and queued
> > for 6.11, right?  
> 
> It actually has been queued already, sorry for the missing notice.
> 
> It's been in linux-next for some time even.

Oh, OK, I could have checked myself. ;-)

Thanks!
Petr T
diff mbox series

Patch

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 1d857978f5f4..9976bb57356e 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -160,6 +160,7 @@  show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, highest_perf);
 show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, lowest_perf);
 show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, nominal_perf);
 show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, lowest_nonlinear_perf);
+show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, guaranteed_perf);
 show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, lowest_freq);
 show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, nominal_freq);
 
@@ -196,6 +197,7 @@  static struct attribute *cppc_attrs[] = {
 	&highest_perf.attr,
 	&lowest_perf.attr,
 	&lowest_nonlinear_perf.attr,
+	&guaranteed_perf.attr,
 	&nominal_perf.attr,
 	&nominal_freq.attr,
 	&lowest_freq.attr,