From: Coia Prant <coiaprant@gmail.com>
To: Ulf Hansson <ulfh@kernel.org>, Heiko Stuebner <heiko@sntech.de>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>,
linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] pmdomain: rockchip: mark PD_PIPE as active wakeup on RK3568
Date: Tue, 06 Oct 2026 07:27:52 +0800 [thread overview]
Message-ID: <382B43FA-B225-41C5-80B6-944D9D2802CF@gmail.com> (raw)
In-Reply-To: <20260925041751.495818-1-coiaprant@gmail.com>
On September 25, 2026 12:17:51 PM GMT+08:00, Coia Prant <coiaprant@gmail.com> wrote:
>The PD_PIPE power domain on RK3568 hosts the XPCS, the PCIe
>controllers and the SATA controllers. All of them can act as
>wakeup sources for the system:
>
> - the XPCS for MAC WoL, through the SGMII link
> - the PCIe controllers for PME#
> - the SATA controllers for hotplug wake
>
>The domain is registered with active_wakeup = false, so genpd powers
>it down during system suspend even when a consumer is on the wakeup
>path. That kills the XPCS and the SerDes, which breaks MAC WoL on
>RK3568 SGMII boards, and it also powers down the PCIe and SATA
>controllers while their drivers still expect the link to be alive.
>
>Mark PD_PIPE as active_wakeup so that genpd honours the wakeup path
>of its consumers. Consumers that call device_set_wakeup_path() keep
>the domain powered; consumers that do not mark themselves as wakeup
>sources are unaffected and the domain is still powered down when
>nothing needs it.
>
>Several other Rockchip SoCs already mark their PCIe and USB power
>domains as active wakeup, for example RK3588's pcie and usb domains
>and RK3576's usb domain. PD_PIPE hosts the same kind of
>wakeup-capable controllers on RK3568, so this follows the same
>pattern.
>
>Signed-off-by: Coia Prant <coiaprant@gmail.com>
>---
> drivers/pmdomain/rockchip/pm-domains.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/rockchip/pm-domains.c
>index ba66ae719428..16ef0a235f0f 100644
>--- a/drivers/pmdomain/rockchip/pm-domains.c
>+++ b/drivers/pmdomain/rockchip/pm-domains.c
>@@ -1296,7 +1296,7 @@ static const struct rockchip_domain_info rk3568_pm_domains[] = {
> [RK3568_PD_VPU] = DOMAIN_RK3568("vpu", BIT(2), BIT(6), false, false),
> [RK3568_PD_RKVDEC] = DOMAIN_RK3568("vdec", BIT(4), BIT(8), false, false),
> [RK3568_PD_RKVENC] = DOMAIN_RK3568("venc", BIT(3), BIT(7), false, false),
>- [RK3568_PD_PIPE] = DOMAIN_RK3568("pipe", BIT(8), BIT(11), false, false),
>+ [RK3568_PD_PIPE] = DOMAIN_RK3568("pipe", BIT(8), BIT(11), true, false),
> };
>
> static const struct rockchip_domain_info rk3576_pm_domains[] = {
Hi,
Gentle ping on this patch. It was sent on Sep 25, and linux-pm Patchwork shows it
as "Handled Elsewhere", but I can't find it merged in linux-pm,
linux-rockchip, linux-next or mainline, and I haven't received any review
feedback.
Thanks,
Coia
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (diff)
From: Coia Prant <coiaprant@gmail.com>
To: Ulf Hansson <ulfh@kernel.org>, Heiko Stuebner <heiko@sntech.de>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>,
linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] pmdomain: rockchip: mark PD_PIPE as active wakeup on RK3568
Date: Tue, 06 Oct 2026 07:27:52 +0800 [thread overview]
Message-ID: <382B43FA-B225-41C5-80B6-944D9D2802CF@gmail.com> (raw)
In-Reply-To: <20260925041751.495818-1-coiaprant@gmail.com>
On September 25, 2026 12:17:51 PM GMT+08:00, Coia Prant <coiaprant@gmail.com> wrote:
>The PD_PIPE power domain on RK3568 hosts the XPCS, the PCIe
>controllers and the SATA controllers. All of them can act as
>wakeup sources for the system:
>
> - the XPCS for MAC WoL, through the SGMII link
> - the PCIe controllers for PME#
> - the SATA controllers for hotplug wake
>
>The domain is registered with active_wakeup = false, so genpd powers
>it down during system suspend even when a consumer is on the wakeup
>path. That kills the XPCS and the SerDes, which breaks MAC WoL on
>RK3568 SGMII boards, and it also powers down the PCIe and SATA
>controllers while their drivers still expect the link to be alive.
>
>Mark PD_PIPE as active_wakeup so that genpd honours the wakeup path
>of its consumers. Consumers that call device_set_wakeup_path() keep
>the domain powered; consumers that do not mark themselves as wakeup
>sources are unaffected and the domain is still powered down when
>nothing needs it.
>
>Several other Rockchip SoCs already mark their PCIe and USB power
>domains as active wakeup, for example RK3588's pcie and usb domains
>and RK3576's usb domain. PD_PIPE hosts the same kind of
>wakeup-capable controllers on RK3568, so this follows the same
>pattern.
>
>Signed-off-by: Coia Prant <coiaprant@gmail.com>
>---
> drivers/pmdomain/rockchip/pm-domains.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/rockchip/pm-domains.c
>index ba66ae719428..16ef0a235f0f 100644
>--- a/drivers/pmdomain/rockchip/pm-domains.c
>+++ b/drivers/pmdomain/rockchip/pm-domains.c
>@@ -1296,7 +1296,7 @@ static const struct rockchip_domain_info rk3568_pm_domains[] = {
> [RK3568_PD_VPU] = DOMAIN_RK3568("vpu", BIT(2), BIT(6), false, false),
> [RK3568_PD_RKVDEC] = DOMAIN_RK3568("vdec", BIT(4), BIT(8), false, false),
> [RK3568_PD_RKVENC] = DOMAIN_RK3568("venc", BIT(3), BIT(7), false, false),
>- [RK3568_PD_PIPE] = DOMAIN_RK3568("pipe", BIT(8), BIT(11), false, false),
>+ [RK3568_PD_PIPE] = DOMAIN_RK3568("pipe", BIT(8), BIT(11), true, false),
> };
>
> static const struct rockchip_domain_info rk3576_pm_domains[] = {
Hi,
Gentle ping on this patch. It was sent on Sep 25, and linux-pm Patchwork shows it
as "Handled Elsewhere", but I can't find it merged in linux-pm,
linux-rockchip, linux-next or mainline, and I haven't received any review
feedback.
Thanks,
Coia
next prev parent reply other threads:[~2026-10-05 23:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-25 4:17 [PATCH] pmdomain: rockchip: mark PD_PIPE as active wakeup on RK3568 Coia Prant
2026-09-25 4:17 ` Coia Prant
2026-10-05 23:27 ` Coia Prant [this message]
2026-10-05 23:27 ` Coia Prant
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=382B43FA-B225-41C5-80B6-944D9D2802CF@gmail.com \
--to=coiaprant@gmail.com \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=sebastian.reichel@collabora.com \
--cc=ulfh@kernel.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 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.