From nobody Thu Apr 9 18:46:45 2026 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 32EFD37D130 for ; Fri, 6 Mar 2026 10:29:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772793005; cv=none; b=UjbrDM1A0SQF4pXqe5EamtCShgSfa4tnmlOaGswg8WyZDeNHn/hOeP92L8eaI80s0V4hyD+LVpCQasy9CWdjZrd4v09WzkkqWHuY/J2S6p7x9B/WvpIWsunl4YcoaV8Ovm3vLCxKWX6V6kTAte3eaoP3znYLRw2Bt+a+H4gM8Vo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772793005; c=relaxed/simple; bh=dHULg4KAQ86aduIcQuHp4BhJ2Nb07EP6bPz5fIOQLSc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hiGRZVlFgxbOIcf9TogfOSFKr3QELBa5U/olSzWm8cUgmzcb392wA/OfAAE6KSu0gKLtAJMfOmEvltXMz4Qpnzu0xw40T/AKgWqigGs7VQl/gbA0cW4AFHHfexTB61exhbq4dh+lKfCOvXuuj3JLm+DFvACF34S2jW2CJp//8v8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=FL4AHvQE; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="FL4AHvQE" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-6618bc129acso1339804a12.2 for ; Fri, 06 Mar 2026 02:29:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772792998; x=1773397798; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=aes9Ymy2SVK6T0USFDpwiCwEp+iOTQGnFHuH7w4M/To=; b=FL4AHvQEVYvbAajWoTI8ePBmqFickSVhiwIdB43AaSjVsXPr3ujGMbZh4S2Fwg/pso 9D5GzB2iEcd21+1U5GzizJRFvXQ2fN+qFydGy9i9/cp4v+xJud6PFeRVxGYmR7KCL0Mi hWCkhdNi+WvVUl+HInB5h+jNtygB49ExlFetI9KTjCOviPX/Y0Inm8nGgWL7mVVakHOK I/Psk8OLhW/Vxie16lYKAKyvPTzKiwRfgMrT2hxy7c/n1v27+ERlgovVs9A0w20eka7L +Tdiw7PwEsX4zz18/ED0nV4O9GePgn4V5N5/vy78pnZdEZehCLkuseO3yT1ObfgfGufW GEgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772792998; x=1773397798; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=aes9Ymy2SVK6T0USFDpwiCwEp+iOTQGnFHuH7w4M/To=; b=LnmMpDd6/Sb08csI9FEUAFkBCptkkPM9u9yU17AsIhgqlwIXjS1Mb0gVNYpOtXUMFa EID1TGqwXeeJy66urVGFtT9TDpoR/jAaAt/iQwj4rwmALcj24V7ddUMGkQ4V7/wDch/o IlJIJhJSzvK/Y4WqIi2fTbAUyO0NFqGfR/txn/Jo2raPxWGYyfT4JxWTkwsxxihvOOS/ jjNaDyi1tSqcmb122ZyiUKjIeBRMrwGnP7e0GfROSPWW3ob2hKd9yNae0is5QGYf3922 0dO/vx/y99ST21A+EmBaqLa7azBiRKODsKmiRnqPrPHd4b4UnK5QZKdy+XtgwXKiMZhq hShw== X-Forwarded-Encrypted: i=1; AJvYcCVr9oMth51Zi6NqmeKTpaU5dpVwhtwvllILOpNvFKM4mCPRHZWXBcEQ9RBF+lKXCAK01ZL7qAiakN3JIGU=@vger.kernel.org X-Gm-Message-State: AOJu0YyKQnYc0zABbY8DKhP2mXKPJpgJGhstaImedQ4TAR7gRcrWaPdk +JqzgwOjCt1w1B2yshtGOHuROtf/5g/EAwTMVT/XXxzbqsGPuKE625Dbn8V+mm/ZlL8= X-Gm-Gg: ATEYQzxpWBHlbm/RlyQp++2TVhHOnMgB+yWpz5Xfm1L375haAulyVd3BfcFMtSw21cL l7ALHcr88CybOtf8Jv7Vm0bdK5zQgv9NrGaJ5WGhet2S7XmTJex7n872HnQ5NRzkmR0sDkACIOE t++xkXEY8l5XrG2bIgMy9GB8xIlkbv7gk9WDV9dOB4ivQu7OveeWyvPdItLnptI+clIMPgO5DS/ 6Q+qptL8o6dDSUF57k5egC9jEFBssC1vxQooH25BSqfCob1FYpgKHjFmDdypvfbuhV/CEvHFWZf kr9ZJQgWdj8Fsp8HZ2n32/NYlipWK17kaR/wBwNT2ashVAydpE760MRBEhBJ8zaHIMujrJptw+R xburYZAD59QYbVkp6Q3QET+Y08veTW4m/8v6EJZ9ZGBfYRXpZrmRtlNoYypts8VIdII8TwJPi0z h2SATmwQFj+xSvEBGmk8YT+5+t4eRS2adOVOt7ao6LNZglbmLuknGYEshs/+u+0L8SRj+MRus79 8FLvEpb+ETEZA8= X-Received: by 2002:a17:906:9f8e:b0:b8e:7dcb:7f1b with SMTP id a640c23a62f3a-b942dbdc76fmr87190666b.21.1772792998248; Fri, 06 Mar 2026 02:29:58 -0800 (PST) Received: from puffmais2.c.googlers.com (221.210.91.34.bc.googleusercontent.com. [34.91.210.221]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b942ef8c95csm42907266b.21.2026.03.06.02.29.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 02:29:57 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 06 Mar 2026 10:29:57 +0000 Subject: [PATCH v7 06/10] pmdomain: samsung: don't hard-code offset for registers to 0 and 4 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260306-gs101-pd-v7-6-03f7c7965ba5@linaro.org> References: <20260306-gs101-pd-v7-0-03f7c7965ba5@linaro.org> In-Reply-To: <20260306-gs101-pd-v7-0-03f7c7965ba5@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Liam Girdwood , Mark Brown Cc: Peter Griffin , Tudor Ambarus , Juan Yescas , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Marek Szyprowski X-Mailer: b4 0.14.3 On platforms such as Google gs101, direct mmio register access to the PMU registers doesn't necessarily work and access must happen via a regmap created by the PMU driver instead. When such a regmap is used it will cover the complete PMU memory region rather than individual power domains. This means the register offsets for the configuration and status registers will have to take the power domain offsets into account, rather than unconditionally hard-coding 0 and 4 respectively. Update the code to allow that. Tested-by: Marek Szyprowski Signed-off-by: Andr=C3=A9 Draszik Reviewed-by: Peter Griffin --- drivers/pmdomain/samsung/exynos-pm-domains.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index 3bcba7d38ac1..8df46b41f9bc 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -30,6 +30,8 @@ struct exynos_pm_domain { struct regmap *regmap; struct generic_pm_domain pd; u32 local_pwr_cfg; + u32 configuration_reg; + u32 status_reg; }; =20 static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on) @@ -41,7 +43,7 @@ static int exynos_pd_power(struct generic_pm_domain *doma= in, bool power_on) pd =3D container_of(domain, struct exynos_pm_domain, pd); =20 pwr =3D power_on ? pd->local_pwr_cfg : 0; - err =3D regmap_write(pd->regmap, 0, pwr); + err =3D regmap_write(pd->regmap, pd->configuration_reg, pwr); if (err) { pr_err("Regmap write for power domain %s %sable failed: %d\n", domain->name, power_on ? "en" : "dis", err); @@ -53,7 +55,7 @@ static int exynos_pd_power(struct generic_pm_domain *doma= in, bool power_on) while (timeout-- > 0) { unsigned int val; =20 - err =3D regmap_read(pd->regmap, 0x4, &val); + err =3D regmap_read(pd->regmap, pd->status_reg, &val); if (err || ((val & pd->local_pwr_cfg) !=3D pwr)) { cpu_relax(); usleep_range(80, 100); @@ -164,6 +166,8 @@ static int exynos_pd_probe(struct platform_device *pdev) pd->pd.power_off =3D exynos_pd_power_off; pd->pd.power_on =3D exynos_pd_power_on; pd->local_pwr_cfg =3D pm_domain_cfg->local_pwr_cfg; + pd->configuration_reg +=3D 0; + pd->status_reg +=3D 4; =20 /* * Some Samsung platforms with bootloaders turning on the splash-screen @@ -174,7 +178,7 @@ static int exynos_pd_probe(struct platform_device *pdev) of_device_is_compatible(np, "samsung,exynos4210-pd")) exynos_pd_power_off(&pd->pd); =20 - ret =3D regmap_read(pd->regmap, 0x4, &val); + ret =3D regmap_read(pd->regmap, pd->status_reg, &val); if (ret) return dev_err_probe(dev, ret, "failed to read status"); =20 --=20 2.53.0.473.g4a7958ca14-goog