From: Krzysztof Kozlowski <krzk@kernel.org>
To: Markus Schneider-Pargmann <msp@baylibre.com>
Cc: Nishanth Menon <nm@ti.com>, Tero Kristo <kristo@kernel.org>,
Santosh Shilimkar <ssantosh@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Vignesh Raghavendra <vigneshr@ti.com>,
Vibhore Vardhan <vibhore@ti.com>,
Kevin Hilman <khilman@baylibre.com>, Dhruva Gole <d-gole@ti.com>,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/6] firmware: ti_sci: Partial-IO support
Date: Tue, 6 Aug 2024 10:50:31 +0200 [thread overview]
Message-ID: <d091adbd-7e8a-4c74-939d-e0d776a58fec@kernel.org> (raw)
In-Reply-To: <iswnvyfwxq6xie2elmbzzixpriy74o4plk3adz6nthf2eekrgk@wwlgjhbygj5f>
On 06/08/2024 09:19, Markus Schneider-Pargmann wrote:
> On Tue, Aug 06, 2024 at 08:26:00AM GMT, Krzysztof Kozlowski wrote:
>> On 29/07/2024 10:00, Markus Schneider-Pargmann wrote:
>>> +static int tisci_sys_off_handler(struct sys_off_data *data)
>>> +{
>>> + struct ti_sci_info *info = data->cb_data;
>>> + int i;
>>> + int ret;
>>> + bool enter_partial_io = false;
>>> +
>>> + for (i = 0; i != info->nr_wakeup_sources; ++i) {
>>> + struct platform_device *pdev =
>>> + of_find_device_by_node(info->wakeup_source_nodes[i]);
>>> +
>>> + if (!pdev)
>>> + continue;
>>> +
>>> + if (device_may_wakeup(&pdev->dev)) {
>>
>> ...
>>
>>> + dev_dbg(info->dev, "%pOFp identified as wakeup source\n",
>>> + info->wakeup_source_nodes[i]);
>>> + enter_partial_io = true;
>>> + }
>>> + }
>>> +
>>> + if (!enter_partial_io)
>>> + return NOTIFY_DONE;
>>> +
>>> + ret = tisci_enter_partial_io(info);
>>> +
>>> + if (ret) {
>>> + dev_err(info->dev,
>>> + "Failed to enter Partial-IO %pe, trying to do an emergency restart\n",
>>> + ERR_PTR(ret));
>>> + emergency_restart();
>>> + }
>>> +
>>> + while (1);
>>> +
>>> + return NOTIFY_DONE;
>>> +}
>>> +
>>> /* Description for K2G */
>>> static const struct ti_sci_desc ti_sci_pmmc_k2g_desc = {
>>> .default_host_id = 2,
>>> @@ -3398,6 +3485,35 @@ static int ti_sci_probe(struct platform_device *pdev)
>>> goto out;
>>> }
>>>
>>> + if (of_property_read_bool(dev->of_node, "ti,partial-io-wakeup-sources")) {
>>> + info->nr_wakeup_sources =
>>> + of_count_phandle_with_args(dev->of_node,
>>> + "ti,partial-io-wakeup-sources",
>>> + NULL);
>>
>> I don't see the point of this. You have quite a static list of devices -
>> just look at your DTS. Then you don't even do anything useful with the
>> phandles you got here.
>
> I am gathering the list of phandles in probe.
I know what the code is doing.
>
> Then during shutdown I am resolving the phandles to devices if there
> are associated devices and check if wakeup is enabled for these devices.
I can read the code.
> If wakeup is enabled for one of the devices in the list, I put the
> SoC into Partial-IO instead of a normal poweroff. This way the
> devices which have wakeup enabled can actually wakeup the SoC as
> requested by the user by setting wakeup enable.
I see all this. I said there is no point in doing this. Instead of
repeating the code, you can say what is the point of doing it.
I said once, so repeat one more time - you have *static* list of
devices, therefore any DTS is meaningless. It is just fixed, not flexible.
The code here is still not doing anything useful with the phandles. By
useful I mean - actually enable the wakeup. No, the property is totally
misplaced just to satisfy your code. That's a "no".
Best regards,
Krzysztof
next prev parent reply other threads:[~2024-08-06 8:51 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-29 8:00 [PATCH v2 0/6] firmware: ti_sci: Partial-IO support Markus Schneider-Pargmann
2024-07-29 8:00 ` [PATCH v2 1/6] dt-bindings: ti, sci: Add property for partial-io-wakeup-sources Markus Schneider-Pargmann
2024-08-06 6:18 ` Krzysztof Kozlowski
2024-08-06 7:11 ` Markus Schneider-Pargmann
2024-08-06 8:03 ` Krzysztof Kozlowski
2024-09-05 9:08 ` Markus Schneider-Pargmann
2024-09-05 9:15 ` Krzysztof Kozlowski
2024-09-05 9:25 ` Krzysztof Kozlowski
2024-09-05 9:49 ` Markus Schneider-Pargmann
2024-09-05 10:41 ` Krzysztof Kozlowski
2024-09-05 11:17 ` Markus Schneider-Pargmann
2024-09-05 11:41 ` Krzysztof Kozlowski
2024-09-27 9:35 ` Markus Schneider-Pargmann
2024-09-28 12:13 ` Krzysztof Kozlowski
2024-07-29 8:00 ` [PATCH v2 2/6] firmware: ti_sci: Partial-IO support Markus Schneider-Pargmann
2024-07-30 12:28 ` Nishanth Menon
2024-07-30 13:01 ` Markus Schneider-Pargmann
2024-07-30 15:07 ` Nishanth Menon
2024-07-31 12:36 ` Markus Schneider-Pargmann
2024-07-31 13:01 ` Nishanth Menon
2024-07-30 15:12 ` Andrew Davis
2024-07-30 15:22 ` Nishanth Menon
2024-08-06 6:26 ` Krzysztof Kozlowski
2024-08-06 7:19 ` Markus Schneider-Pargmann
2024-08-06 8:50 ` Krzysztof Kozlowski [this message]
2024-07-29 8:00 ` [PATCH v2 3/6] arm64: dts: ti: k3-pinctrl: Add WKUP_EN flag Markus Schneider-Pargmann
2024-07-30 12:09 ` Nishanth Menon
2024-07-30 12:32 ` Markus Schneider-Pargmann
2024-07-30 12:37 ` Nishanth Menon
2024-08-06 6:28 ` Krzysztof Kozlowski
2024-07-29 8:00 ` [PATCH v2 4/6] arm64: dts: ti: k3-am62: Add partial-io wakeup sources Markus Schneider-Pargmann
2024-07-29 8:01 ` [PATCH v2 5/6] arm64: dts: ti: k3-am62a: " Markus Schneider-Pargmann
2024-07-29 8:01 ` [PATCH v2 6/6] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann
2024-08-06 6:18 ` [PATCH v2 0/6] firmware: ti_sci: Partial-IO support Krzysztof Kozlowski
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=d091adbd-7e8a-4c74-939d-e0d776a58fec@kernel.org \
--to=krzk@kernel.org \
--cc=conor+dt@kernel.org \
--cc=d-gole@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=khilman@baylibre.com \
--cc=kristo@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=msp@baylibre.com \
--cc=nm@ti.com \
--cc=robh@kernel.org \
--cc=ssantosh@kernel.org \
--cc=vibhore@ti.com \
--cc=vigneshr@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.