linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Ashwin Chaugule <ashwin.chaugule@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
	Jaswinder Singh <jaswinder.singh@linaro.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Linaro ACPI Mailman List <linaro-acpi@lists.linaro.org>,
	Patch Tracking <patches@linaro.org>,
	linux acpi <linux-acpi@vger.kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: [PATCH v6 2/7] ACPI: Make ACPI processor driver more extensible
Date: Wed, 08 Jul 2015 14:43:07 +0100	[thread overview]
Message-ID: <559D28EB.8000909@arm.com> (raw)
In-Reply-To: <CAJ5Y-eZBYb551T=kBdbjM4YQ1f_hwYBgkVk4wJsDHSib00XfrA@mail.gmail.com>



On 08/07/15 02:27, Ashwin Chaugule wrote:
> On 7 July 2015 at 21:07, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
>> On Monday, June 15, 2015 04:09:06 PM Ashwin Chaugule wrote:
>>> The ACPI processor driver is currently tied too closely
>>> to the ACPI C-states (CST), P-states (PSS) and other related
>>> constructs for controlling CPU idle and CPU performance.
>>>
>>> The newer ACPI specification (v5.1 onwards) introduces
>>> alternative methods to CST and PSS. These new mechanisms
>>> are described within each ACPI Processor object and so they
>>> need to be scanned whenever a new Processor object is detected.
>>> This patch introduces two new Kconfig symbols to allow for
>>> finer configurability among the various options for controlling
>>> CPU idle and performance states. There is no change in functionality
>>> and these options are defaulted to enabled to maintain previous
>>> behaviour.
>>>
>>> The following patchwork introduces CPPC: A newer method of
>>> controlling CPU performance. The OS is not expected to support CPPC
>>> and PSS at runtime. So the kconfig option lets us make these two
>>> mutually exclusive at compile time.
>>>
>>> Signed-off-by: Ashwin Chaugule <ashwin.chaugule@linaro.org>
>>> Reviewed-by: Al Stone <al.stone@linaro.org>
>>> ---
>>>   drivers/acpi/Kconfig            |  31 +++++++++--
>>>   drivers/acpi/Makefile           |   7 ++-
>>>   drivers/acpi/processor_driver.c |  86 ++++++++++++++++++----------
>>>   drivers/cpufreq/Kconfig         |   2 +-
>>>   drivers/cpufreq/Kconfig.x86     |   2 +
>>>   include/acpi/processor.h        | 120 ++++++++++++++++++++++++++++------------
>>>   6 files changed, 176 insertions(+), 72 deletions(-)
>>>
>>> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
>>> index ab2cbb5..5942754 100644
>>> --- a/drivers/acpi/Kconfig
>>> +++ b/drivers/acpi/Kconfig
>>> @@ -166,18 +166,39 @@ config ACPI_DOCK
>>>          This driver supports ACPI-controlled docking stations and removable
>>>          drive bays such as the IBM Ultrabay and the Dell Module Bay.
>>>
>>> -config ACPI_PROCESSOR
>>> -     tristate "Processor"
>>> -     select THERMAL
>>> -     select CPU_IDLE
>>> +config ACPI_CST
>>> +     bool "ACPI C states (CST) driver"
>>> +     depends on ACPI_PROCESSOR
>>>        depends on X86 || IA64
>>> +     select CPU_IDLE
>>>        default y
>>>        help
>>>          This driver installs ACPI as the idle handler for Linux and uses
>>>          ACPI C2 and C3 processor states to save power on systems that
>>> -       support it.  It is required by several flavors of cpufreq
>>> +       support it.
>>> +
>>> +config ACPI_PSS
>>> +     bool "ACPI P States (PSS) driver"
>>> +     depends on ACPI_PROCESSOR
>>> +     depends on X86 || IA64
>>> +     select THERMAL
>>> +     default y
>>> +     help
>>> +       This driver implements ACPI methods for controlling CPU performance
>>> +       using PSS methods as described in the ACPI spec. It also enables support
>>> +       for ACPI based performance throttling (TSS) and ACPI based thermal
>>> +       monitoring. It is required by several flavors of cpufreq
>>>          performance-state drivers.
>>
>> For starters, I don't like these new Kconfig options.
>>
>> Isn't there a way to implement what you need without adding them?
>
> We need to use the ACPI Processor driver for CPPC without including
> all its current dependencies. (i.e. PSS, TSS, CSS etc.). The upcoming
> LPI work from Sudeep will also face the same issue.

Ashwin, I am trying to keep Kconfig options minimum, iff necessary and
selected by ARCH code(i.e. not user selectable). Also I am not entirely
sure if we need to make PSS and CPPC mutually exclusive.

I had seen patches to support PSS on ARM and if we have to support
single Image to handle both they can't be exclusive.

Regards,
Sudeep

  parent reply	other threads:[~2015-07-08 13:43 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-15 20:09 [PATCH v6 0/7] CPUFreq driver using CPPC methods Ashwin Chaugule
2015-06-15 20:09 ` [PATCH v6 1/7] PCC: Initialize PCC Mailbox earlier at boot Ashwin Chaugule
2015-06-15 20:09 ` [PATCH v6 2/7] ACPI: Make ACPI processor driver more extensible Ashwin Chaugule
2015-07-08  1:07   ` Rafael J. Wysocki
2015-07-08  1:27     ` Ashwin Chaugule
2015-07-08 13:34       ` Rafael J. Wysocki
2015-07-08 13:42         ` Ashwin Chaugule
2015-07-08 19:16         ` Ashwin Chaugule
2015-07-08 19:55           ` Rafael J. Wysocki
2015-07-08 20:05             ` Ashwin Chaugule
2015-07-08 20:28               ` Ashwin Chaugule
2015-07-08 20:46                 ` Rafael J. Wysocki
2015-07-08 21:46                   ` Ashwin Chaugule
2015-07-08 22:21                     ` Rafael J. Wysocki
2015-07-08 21:57                       ` Ashwin Chaugule
2015-07-08 23:29                         ` Rafael J. Wysocki
2015-07-08 23:33                           ` Rafael J. Wysocki
2015-07-09  9:11                     ` Sudeep Holla
2015-07-09  9:06                 ` Sudeep Holla
2015-07-09 12:25                   ` Ashwin Chaugule
2015-07-09 13:18                     ` Sudeep Holla
2015-07-08 13:43       ` Sudeep Holla [this message]
2015-07-08 13:56         ` Ashwin Chaugule
2015-07-08 14:20           ` Sudeep Holla
2015-06-15 20:09 ` [PATCH v6 3/7] ACPI: Introduce CPU performance controls using CPPC Ashwin Chaugule
2015-06-15 20:09 ` [PATCH v6 4/7] CPPC: Add a CPUFreq driver for use with CPPC Ashwin Chaugule
2015-06-15 20:09 ` [PATCH v6 5/7] CPPC: Probe for CPPC tables for each ACPI Processor object Ashwin Chaugule
2015-06-15 20:09 ` [PATCH v6 6/7] PCC: Enable PCC only when needed Ashwin Chaugule
2015-06-15 20:09 ` [PATCH v6 7/7] ACPI: Add weak routines for ACPI CPU Hotplug Ashwin Chaugule
2015-06-29 17:23 ` [PATCH v6 0/7] CPUFreq driver using CPPC methods Ashwin Chaugule

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559D28EB.8000909@arm.com \
    --to=sudeep.holla@arm.com \
    --cc=ashwin.chaugule@linaro.org \
    --cc=jaswinder.singh@linaro.org \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=patches@linaro.org \
    --cc=rjw@rjwysocki.net \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).