From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj2-f10.google.com (mail-pj2-f10.google.com [74.125.227.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E866825B0A5 for ; Fri, 25 Sep 2026 04:18:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790309891; cv=none; b=iXZRtpoKde0m8uiNALE7dVjEeQSdxCw2CNS7YPDSqS9U7Rr0TxjuCYRIFCVJ8GbKuwYqZei3HuGvxL43WDZdEOmQPcqjV/ZokADhQUfVqINXPLTDzLOTKm8jCv4uSKZQf9P+W2BdW7mu4IOtc8d7nGrvGimQ8uPErd0mGEqL4ec= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790309891; c=relaxed/simple; bh=BIhx9ICvbHtpfbqLnPkCJJkaqtIgJ+HeWkbFrbYaDFc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nWknNTgM5g4oHRv1vYSUHq5+MjB6csORm1j5eO6a9hrreY1Oq2zgBYUaX0hYRq381HZ1k7C//TMxzLg2uwyhOIAiia+XTY7UsyzlYE0YAMu1+UyQFYUzPZkeZLZkIYfe9kruGBl8cadXUW8k2MU4AXklrnUVk2WDU+Xs5lh8UQ8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XbiX+O98; arc=none smtp.client-ip=74.125.227.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XbiX+O98" Received: by mail-pj2-f10.google.com with SMTP id 98e67ed59e1d1-39e249c766bso169242a91.0 for ; Thu, 24 Sep 2026 21:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790309889; x=1790914689; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=6smwopks2PJXygtKAHcL+6mCESGQpHs+ktHru5C6inI=; b=XbiX+O98UD9OxoB84C9n+eo5VcqHMIFL4+4Blh4QzGAhcunWY53CKglYb+U5y5fysD MOLW5VDk6zcrC1mTeD4gUPbf5sn6gKo9hswzy31B+YGvQKEtiLycmCIRdmIztC6VPmsY P5BKx9cImtK2R5IPivzU9tYRswM3sS2Gg0rlv4GdAUHmi2Ktdgo0OSUuS17O5JK1unJs 9cbFmvlPgaJIg9seW0aTj6kPMHSs+AjZtCRJkUwYFLPuR4Q6tnK7+kT5h+ijGl2XPrcD 6bhtUhZw7Bxqtbvu4cmP3UcLLxUwcDrg4lG3PapFZl/IW4M9rvI0sQP/GrffzhybBJWm WH8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790309889; x=1790914689; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=6smwopks2PJXygtKAHcL+6mCESGQpHs+ktHru5C6inI=; b=YVmoTmFj5dEsHta6xD8vPdazB7smXn1PFFVHbAGLARQJIV9hjF415VLUzNRLQOkV/2 4w4tO7AlatOyjNBVRRvH90qkMhZiJ9Y6YqDv1Ss9mBHNhpLjBVzV4Ri4xK+qeU38qFSz STjvWZTqYBDYPGhCRQMqHLYuFG1didELv6PditkdG4zUGW7tg20pgV1awUmAz/fl6JOg rbWSvOsEROg4jcGMjLedEQeAgQbpnWkQG/pDKIhZJPkD6/RLOCJ0arwlMOd6iUSn+qVC PkNmHgV2mlXydDuodKswDAGML2ksK6U5vfWN8Sg3DBfOf2TaRrQmnoRHZLqxv7AMxuJe 4tIQ== X-Forwarded-Encrypted: i=1; AKwUvBxYGGdQU5qTPhIP5u83kg2APGP8cjBe7k9IYaAnJtVJP8WRzMqDeaMtcEQhkzaVL4ibT0ITS9UMykGw6qk=@vger.kernel.org X-Gm-Message-State: AFuF++knW5HWi8ySbiLJGvnnygB4YUTRVm/np+uvO96VZWsfUXScGem6 T5d4ZRfZynXBDRQubizzu87zljXIbtOkRJwwTVP/CL1Vl6YZQuk76VhK X-Gm-Gg: AYBFou0jiHuSJMKVOPXK9ljHNqqOmKFw8kI7q0QbIEAy+dghMn5iHtJriwBxNS55UJK sY3UG+WfdeUJP0/HMRssZl1iPPlaTVN2/aYNTdws8O9etc41MQfPwZQ2xvZ2/Q012uysEXhScYW 1HgWyUIIGjZguuJ1laMzJMjOFuuFzXfjlLsN5jaoG9UsLDHt7xrs/vrqwg3Buji/wHo3JbAmUhG XJyrStxOAcZxpZVs1jbL+l35fxvvXntVHlzjmn+ZeROlsY9cEL6TBi0ZWUWuj1Qad7yLpjs2pyi 3wfEgUkZtGlQEigynTgLsNEtZfCUCRKDtpCiiA+3Dphi8u/6Par8xTXfCQ36tq+pEws/kvcD6Kw wr1zdCLJJ/Gv2xHaYkkgGtIk3c5Kq2g/RCxedjv3pHi47zrk4Uo1N1SsQc4Vq49P0NNlYMDq32i V6IHl+z+N1PV/LoJmSvCLFTCPobOa73Q88ACgyVTsfIGiU3V/9lG/AgL7DUkaEBZ9usTLo X-Received: by 2002:a17:90b:4ad0:b0:39d:b1bd:b384 with SMTP id 98e67ed59e1d1-3a0985b949fmr4116287a91.17.1790309889066; Thu, 24 Sep 2026 21:18:09 -0700 (PDT) Received: from server.lan ([168.138.199.194]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3a0b4983f43sm852262a91.0.2026.09.24.21.18.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Sep 2026 21:18:08 -0700 (PDT) From: Coia Prant To: Ulf Hansson , Heiko Stuebner Cc: Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Coia Prant Subject: [PATCH] pmdomain: rockchip: mark PD_PIPE as active wakeup on RK3568 Date: Fri, 25 Sep 2026 12:17:51 +0800 Message-ID: <20260925041751.495818-1-coiaprant@gmail.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 --- 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[] = { -- 2.47.3