linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors
@ 2014-11-13 18:51 Lenny Szubowicz
  2014-11-18 23:30 ` Rafael J. Wysocki
  0 siblings, 1 reply; 2+ messages in thread
From: Lenny Szubowicz @ 2014-11-13 18:51 UTC (permalink / raw)
  To: linux-kernel
  Cc: Rafael J. Wysocki, Viresh Kumar, linux-pm, Joseph.Szczypek, lszubowi

The pcc-cpufreq driver is not automatically loaded on systems where
the platform's power management setting requires this driver.
Instead, on those systems no CPU frequency driver is registered and
active.

Make the autoloading matching criteria for loading the pcc-cpufreq
driver the same as done in acpi-cpufreq by commit c655affbd524d01
("ACPI / cpufreq: Add ACPI processor device IDs to acpi-cpufreq").

x86 CPU frequency drivers are now typically autoloaded by specifying
MODULE_DEVICE_TABLE entries and x86cpu model specific matching.
But pcc-cpufreq was omitted when acpi-cpufreq and other drivers were
changed to use this approach.

Both acpi-cpufreq and pcc-cpufreq depend on a distinct and mutually
exclusive set of ACPI methods which are not directly tied to specific
processor model numbers. Both of these drivers have init routines
which look for their required ACPI methods. As a result, only the
appropriate driver registers as the cpu frequency driver and the other
one ends up being unloaded.

Tested on various systems where acpi-cpufreq, intel_pstate, and
pcc-cpufreq are the expected cpu frequency drivers.

Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
Signed-off-by: Joseph Szczypek <joseph.szczypek@hp.com>
Reported-by: Trinh Dao <trinh.dao@hp.com>
---
 drivers/cpufreq/pcc-cpufreq.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c
index 4d2c8e8..2a0d589 100644
--- a/drivers/cpufreq/pcc-cpufreq.c
+++ b/drivers/cpufreq/pcc-cpufreq.c
@@ -603,6 +603,13 @@ static void __exit pcc_cpufreq_exit(void)
 	free_percpu(pcc_cpu_info);
 }
 
+static const struct acpi_device_id processor_device_ids[] = {
+	{ACPI_PROCESSOR_OBJECT_HID, },
+	{ACPI_PROCESSOR_DEVICE_HID, },
+	{},
+};
+MODULE_DEVICE_TABLE(acpi, processor_device_ids);
+
 MODULE_AUTHOR("Matthew Garrett, Naga Chumbalkar");
 MODULE_VERSION(PCC_VERSION);
 MODULE_DESCRIPTION("Processor Clocking Control interface driver");
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors
  2014-11-13 18:51 [PATCH] cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors Lenny Szubowicz
@ 2014-11-18 23:30 ` Rafael J. Wysocki
  0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2014-11-18 23:30 UTC (permalink / raw)
  To: Lenny Szubowicz; +Cc: linux-kernel, Viresh Kumar, linux-pm, Joseph.Szczypek

On Thursday, November 13, 2014 01:51:52 PM Lenny Szubowicz wrote:
> The pcc-cpufreq driver is not automatically loaded on systems where
> the platform's power management setting requires this driver.
> Instead, on those systems no CPU frequency driver is registered and
> active.
> 
> Make the autoloading matching criteria for loading the pcc-cpufreq
> driver the same as done in acpi-cpufreq by commit c655affbd524d01
> ("ACPI / cpufreq: Add ACPI processor device IDs to acpi-cpufreq").
> 
> x86 CPU frequency drivers are now typically autoloaded by specifying
> MODULE_DEVICE_TABLE entries and x86cpu model specific matching.
> But pcc-cpufreq was omitted when acpi-cpufreq and other drivers were
> changed to use this approach.
> 
> Both acpi-cpufreq and pcc-cpufreq depend on a distinct and mutually
> exclusive set of ACPI methods which are not directly tied to specific
> processor model numbers. Both of these drivers have init routines
> which look for their required ACPI methods. As a result, only the
> appropriate driver registers as the cpu frequency driver and the other
> one ends up being unloaded.
> 
> Tested on various systems where acpi-cpufreq, intel_pstate, and
> pcc-cpufreq are the expected cpu frequency drivers.
> 
> Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
> Signed-off-by: Joseph Szczypek <joseph.szczypek@hp.com>
> Reported-by: Trinh Dao <trinh.dao@hp.com>

Queued up for 3.19-rc1, thanks!

> ---
>  drivers/cpufreq/pcc-cpufreq.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c
> index 4d2c8e8..2a0d589 100644
> --- a/drivers/cpufreq/pcc-cpufreq.c
> +++ b/drivers/cpufreq/pcc-cpufreq.c
> @@ -603,6 +603,13 @@ static void __exit pcc_cpufreq_exit(void)
>  	free_percpu(pcc_cpu_info);
>  }
>  
> +static const struct acpi_device_id processor_device_ids[] = {
> +	{ACPI_PROCESSOR_OBJECT_HID, },
> +	{ACPI_PROCESSOR_DEVICE_HID, },
> +	{},
> +};
> +MODULE_DEVICE_TABLE(acpi, processor_device_ids);
> +
>  MODULE_AUTHOR("Matthew Garrett, Naga Chumbalkar");
>  MODULE_VERSION(PCC_VERSION);
>  MODULE_DESCRIPTION("Processor Clocking Control interface driver");
> 

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-18 23:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-13 18:51 [PATCH] cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors Lenny Szubowicz
2014-11-18 23:30 ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).