linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@baylibre.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-pm@vger.kernel.org, Nishanth Menon <nm@ti.com>,
	Vibhore Vardhan <vibhore@ti.com>, Dhruva Gole <d-gole@ti.com>,
	Akashdeep Kaur <a-kaur@ti.com>,
	Sebin Francis <sebin.francis@ti.com>,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/3] pmdomain: ti_sci: collect and send low-power mode constraints
Date: Thu, 05 Sep 2024 15:07:23 -0700	[thread overview]
Message-ID: <7hplphah5w.fsf@baylibre.com> (raw)
In-Reply-To: <CAPDyKFrFX_UeYWuZtQPoxHbZb0CwpLRA=QcMFsALwuiFTY3T5Q@mail.gmail.com>

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

> On Tue, 20 Aug 2024 at 02:00, Kevin Hilman <khilman@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@baylibre.com>
>> ---
>> Changes in v2:
>>
>> - To simplify this version a bit, drop the pmdomain ->power_off()
>>   changes.  Constraints only sent during ->suspend() path.  The pmdomain
>>   path was an optimization that may be added back later.
>> - With the above simplification, drop the extra state variables that
>>   had been added to keep track of constraint status.
>> - Link to v1: https://lore.kernel.org/r/20240805-lpm-v6-10-constraints-pmdomain-v1-0-d186b68ded4c@baylibre.com
>>
>> ---
>> Kevin Hilman (3):
>>       pmdomain: ti_sci: add per-device latency constraint management
>>       pmdomain: ti_sci: add wakeup constraint management
>>       pmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups
>>
>>  drivers/pmdomain/ti/ti_sci_pm_domains.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 76 insertions(+)
>> ---
>> base-commit: ad7eb1b6b92ee0c959a0a6ae846ddadd7a79ea64
>> change-id: 20240802-lpm-v6-10-constraints-pmdomain-f33df5aef449
>>
>> Best regards,
>> --
>> Kevin Hilman <khilman@baylibre.com>
>
> Besides a couple of minor things that I have commented on for each
> patch, this looks okay to me!
>
> Taking into account the other series that this depends on, what is the
> best merging strategy? Is it safe for me to take it through my
> pmdomain tree?


That other series should be merged shortly, so I will check with
Nishanth (on cc) if he can create an immutable branch/tag that you could
use in your tree.

It has a build-time dependency on that other series, so I think this is
the best way.

Alternatively, if you don't expect this to clash with other changes in
your tree, with your ack/reviewed-by, Nishanth could merge this series
via his tree and we could avoid the cross-tree shuffle.

Either way will work.  Up to you.

Kevin



  reply	other threads:[~2024-09-05 22:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-20  0:00 [PATCH v2 0/3] pmdomain: ti_sci: collect and send low-power mode constraints Kevin Hilman
2024-08-20  0:00 ` [PATCH v2 1/3] pmdomain: ti_sci: add per-device latency constraint management Kevin Hilman
2024-09-05 11:30   ` Ulf Hansson
2024-09-05 21:57     ` Kevin Hilman
2024-08-20  0:00 ` [PATCH v2 2/3] pmdomain: ti_sci: add wakeup " Kevin Hilman
2024-09-05 11:31   ` Ulf Hansson
2024-09-05 21:58     ` Kevin Hilman
2024-08-20  0:00 ` [PATCH v2 3/3] pmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups Kevin Hilman
2024-08-20 10:07 ` [PATCH v2 0/3] pmdomain: ti_sci: collect and send low-power mode constraints Dhruva Gole
2024-09-05 11:38 ` Ulf Hansson
2024-09-05 22:07   ` Kevin Hilman [this message]
2024-09-06  9:00     ` Ulf Hansson

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=7hplphah5w.fsf@baylibre.com \
    --to=khilman@baylibre.com \
    --cc=a-kaur@ti.com \
    --cc=d-gole@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=msp@baylibre.com \
    --cc=nm@ti.com \
    --cc=sebin.francis@ti.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vibhore@ti.com \
    /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).