[PATCH v6 0/3] pmdomain: ti_sci: collect and send low-power mode constraints

Kevin Hilman khilman at baylibre.com
Wed Dec 11 07:41:55 PST 2024


Ulf Hansson <ulf.hansson at linaro.org> writes:

> On Fri, 6 Dec 2024 at 23:13, Kevin Hilman <khilman at baylibre.com> wrote:
>>
>> The latest (10.x) version of the firmware for the PM co-processor (aka
>> device manager, or DM) adds support for a "managed" mode, where the DM
>> firmware will select the specific low power state which is entered
>> when Linux requests a system-wide suspend.
>>
>> In this mode, the DM will always attempt the deepest low-power state
>> available for the SoC.
>>
>> However, Linux (or OSes running on other cores) may want to constrain
>> the DM for certain use cases.  For example, the deepest state may have
>> a wakeup/resume latency that is too long for certain use cases.  Or,
>> some wakeup-capable devices may potentially be powered off in deep
>> low-power states, but if one of those devices is enabled as a wakeup
>> source, it should not be powered off.
>>
>> These kinds of constraints are are already known in Linux by the use
>> of existing APIs such as per-device PM QoS and device wakeup APIs, but
>> now we need to communicate these constraints to the DM.
>>
>> For TI SoCs with TI SCI support, all DM-managed devices will be
>> connected to a TI SCI PM domain.  So the goal of this series is to use
>> the PM domain driver for TI SCI devices to collect constraints, and
>> communicate them to the DM via the new TI SCI APIs.
>>
>> This is all managed by TI SCI PM domain code.  No new APIs are needed
>> by Linux drivers.  Any device that is managed by TI SCI will be
>> checked for QoS constraints or wakeup capability and the constraints
>> will be collected and sent to the DM.
>>
>> This series depends on the support for the new TI SCI APIs (v10) and
>> was also tested with this series to update 8250_omap serial support
>> for AM62x[2].
>>
>> [1] https://lore.kernel.org/all/20240801195422.2296347-1-msp@baylibre.com
>> [2] https://lore.kernel.org/all/20240807141227.1093006-1-msp@baylibre.com/
>>
>> Signed-off-by: Kevin Hilman <khilman at baylibre.com>
>> ---
>> Changes in v6:
>> - fix build warning on arm32 when building with W=1 and CONFIG_PM_SLEEP=n
>> - rebase onto v6.13-rc1
>> - fix latency units: convert usecs (PM QoS) to msecs (TI SCI)
>> - all dependencies are now merged in v6.13-rc1
>> - Link to v5: https://lore.kernel.org/r/20241101-lpm-v6-10-constraints-pmdomain-v5-0-3011aa04622f@baylibre.com
>
> v6 applied for next and by amending patch1 to deal with the sorting of
> include files, thanks!

Thank you for the fixuup.

Kevin



More information about the linux-arm-kernel mailing list