drivers/pmdomain/amlogic/meson-secure-pwrc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
From: Qingpeng Yang <qingpeng.yang@amlogic.com>
Mark the A9 ethernet power domain as always-on since it is required
for ethernet online wakeup and must not be powered down.
Signed-off-by: Qingpeng Yang <qingpeng.yang@amlogic.com>
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
Keep Amlogic A9 ETH domain always on.
---
drivers/pmdomain/amlogic/meson-secure-pwrc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/pmdomain/amlogic/meson-secure-pwrc.c b/drivers/pmdomain/amlogic/meson-secure-pwrc.c
index 133549956efa..daf09cf86335 100644
--- a/drivers/pmdomain/amlogic/meson-secure-pwrc.c
+++ b/drivers/pmdomain/amlogic/meson-secure-pwrc.c
@@ -196,7 +196,8 @@ static const struct meson_secure_pwrc_domain_desc a9_pwrc_domains[] = {
SEC_PD(A9_VICP, 0),
SEC_PD(A9_SD_EMMC_A, 0),
SEC_PD(A9_SD_EMMC_B, 0),
- SEC_PD(A9_ETH, 0),
+ /* ETH is for ethernet online wakeup, and should be always on */
+ SEC_PD(A9_ETH, GENPD_FLAG_ALWAYS_ON),
SEC_PD(A9_PCIE_A, 0),
SEC_PD(A9_PCIE_B, 0),
SEC_PD(A9_NNA_4T, 0),
---
base-commit: 26b9ea4f00732908c4f87501483c20ecaaf4eca5
change-id: 20260914-a9-pwr-eth-6105f87f9f5e
Best regards,
--
Xianwei Zhao <xianwei.zhao@amlogic.com>
On Mon, Sep 14, 2026 at 10:56 AM Xianwei Zhao via B4 Relay
<devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>
> From: Qingpeng Yang <qingpeng.yang@amlogic.com>
>
> Mark the A9 ethernet power domain as always-on since it is required
> for ethernet online wakeup and must not be powered down.
Is "online wakeup" a wake up from suspend?
If so: is the Ethernet controller listed with the "wakeup-source" flag
in .dts{,i}?
I'm wondering if the pmdomain and/or power (wakeup) frameworks in
Linux have other ways of managing this case (e.g. only keeping the
power domain active if needed).
Best regards,
Martin
Hi Martin,
Thanks for your review.
On 9/14/2026 6:40 PM, Martin Blumenstingl wrote:
>
> On Mon, Sep 14, 2026 at 10:56 AM Xianwei Zhao via B4 Relay
> <devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>>
>> From: Qingpeng Yang <qingpeng.yang@amlogic.com>
>>
>> Mark the A9 ethernet power domain as always-on since it is required
>> for ethernet online wakeup and must not be powered down.
> Is "online wakeup" a wake up from suspend?
> If so: is the Ethernet controller listed with the "wakeup-source" flag
> in .dts{,i}?
> I'm wondering if the pmdomain and/or power (wakeup) frameworks in
> Linux have other ways of managing this case (e.g. only keeping the
> power domain active if needed).
>
Yes, "online wakeup" here means wakeup from system suspend.
The Ethernet controller is not currently listed with the "wakeup-source"
flag in the .dtsi.
After internal discussion, we have decided not to support Ethernet
wakeup for now. So we will drop the always-on change for the Ethernet
power domain in this series.
>
> Best regards,
> Martin
On Mon, Sep 14, 2026 at 12:40 PM Martin Blumenstingl
<martin.blumenstingl@googlemail.com> wrote:
>
> On Mon, Sep 14, 2026 at 10:56 AM Xianwei Zhao via B4 Relay
> <devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
> >
> > From: Qingpeng Yang <qingpeng.yang@amlogic.com>
> >
> > Mark the A9 ethernet power domain as always-on since it is required
> > for ethernet online wakeup and must not be powered down.
> Is "online wakeup" a wake up from suspend?
> If so: is the Ethernet controller listed with the "wakeup-source" flag
> in .dts{,i}?
> I'm wondering if the pmdomain and/or power (wakeup) frameworks in
> Linux have other ways of managing this case (e.g. only keeping the
> power domain active if needed).
We certainly do.
For in-band wakeup we have GENPD_FLAG_ACTIVE_WAKEUP. If this is set
for the genpd in question and the device being suspended is configured
for system wakeup (device_awake_path() returns true), the genpd will
remain powered on during system suspend, see genpd_finish_suspend().
In genpd_finish_suspend() we also support out-band wakeups via
checking device_out_band_wakeup(). Although, I guess that's not the
case here.
Kind regards
Uffe
Hi Uffe,
Thanks for your review.
On 9/15/2026 11:47 PM, Ulf Hansson wrote:
>
> On Mon, Sep 14, 2026 at 12:40 PM Martin Blumenstingl
> <martin.blumenstingl@googlemail.com> wrote:
>>
>> On Mon, Sep 14, 2026 at 10:56 AM Xianwei Zhao via B4 Relay
>> <devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>>>
>>> From: Qingpeng Yang <qingpeng.yang@amlogic.com>
>>>
>>> Mark the A9 ethernet power domain as always-on since it is required
>>> for ethernet online wakeup and must not be powered down.
>> Is "online wakeup" a wake up from suspend?
>> If so: is the Ethernet controller listed with the "wakeup-source" flag
>> in .dts{,i}?
>> I'm wondering if the pmdomain and/or power (wakeup) frameworks in
>> Linux have other ways of managing this case (e.g. only keeping the
>> power domain active if needed).
>
> We certainly do.
>
> For in-band wakeup we have GENPD_FLAG_ACTIVE_WAKEUP. If this is set
> for the genpd in question and the device being suspended is configured
> for system wakeup (device_awake_path() returns true), the genpd will
> remain powered on during system suspend, see genpd_finish_suspend().
>
> In genpd_finish_suspend() we also support out-band wakeups via
> checking device_out_band_wakeup(). Although, I guess that's not the
> case here.
Thanks for pointing out GENPD_FLAG_ACTIVE_WAKEUP and the
genpd_finish_suspend() logic. That is very helpful.
When we do need Ethernet wakeup support later, we will revisit this and
follow the approach you described, including the proper use of
GENPD_FLAG_ACTIVE_WAKEUP and the wakeup-source configuration.
>
> Kind regards
> Uffe
© 2016 - 2026 Red Hat, Inc.