From nobody Tue Feb 10 00:57:42 2026 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (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 092DD33554B for ; Thu, 5 Feb 2026 21:42:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770327758; cv=none; b=TCYwUWvAj7Fpl6KFsPfvXBqO9xWYe+iVT8976fVXwaz98fQ+r+OWM05GIEIMT5eNiKVn3tRuxX+UQq8Z41pfa5fXsILGemh3tuPOCSrB4xipG9mOMgKPr2+kNbtEjDMrNlz+M2D7oEp636obqIcKS/exp8KjHicC8tAw6Z+de10= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770327758; c=relaxed/simple; bh=ag+OpFUI/evpy8D/9ZA2w9zHnROGSMhtoNgkmIN0fCI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XIxMAb50oOQV/1mGdIhvnqAjiNnmLeUDJV6ley0Z+kkjbyKi4vREiXXKajpCsCw7WLkH3Z2OxDFITyJz4Wpd2pmvTvje7RkGSXAlR98hZVg5ZaoetqpRJ4BYMi0YDxhdFZXnKFet90E2eda+IpfCwx+Ynu4F4BHucvoR0JM2+MY= 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=IV+uOhUZ; arc=none smtp.client-ip=209.85.218.53 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="IV+uOhUZ" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-b884d5c787bso5184866b.0 for ; Thu, 05 Feb 2026 13:42:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1770327756; x=1770932556; 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=O8LU1GPEC/wTQLbGFIndFfoESZHedB29NJZQNfhisd4=; b=IV+uOhUZwrJM/ifN1UujoHo6dfCb+Eh4ON4AAOL3qMLsvVUi2C/qVuzVzwo1NDZHYm OL4XDK8v3BuJ8W/+DLfjQYJSWWqlCGlTBnetN+dVLAKQvt547JNklmJ5drfd1nPHFA+3 r+hdxHk+3l1T0CqAJv6oQURfxr9yyBhu61fYO4/nWzUkbPVoTzHrPJt7shskxjFRY4Az 3b7HnoK7fGRhL3hNGd4/80nrdq7beuU+/ntqC6kuzx1mSJWA2FPCOChzgtJOhev2+Yk5 rhCYgAxI6wmbAkwEsJU6ghuXG7f/HyM7GV5eIqydZVG/yTc4TIcKmFrV51Sp0QhGUHk7 AD8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770327756; x=1770932556; 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=O8LU1GPEC/wTQLbGFIndFfoESZHedB29NJZQNfhisd4=; b=VskAHpIL3I8ch5BcUhIK2e2J+Ez6XTJ01q/Xk1/HkH9elLkqwBP4aTkEmPtWopGQ65 vlMuHmlfNx+KE9f0skqgN8OJuVL9D1QU63twfQDdDtYVtA+Z+NY6+2QKCZNQN7X8No3D qhq1pBSccvjdSTO35mI+CaVB/7NWSvziyLZpvuCcMF3OmENHDtFXa/mnJiB43zojMh3F MDkCcowLZsY7ztGqx932piEQyc0KBU7NYjGYqchGYX7JhqPl6hv1XPJvcsTaodsUtiUD PALWEirrocszNClK8JhrTzxaPPXNFC8HFcSnj6iafYhGDq1ZQtn6F0qzknSzTB/L2Lc2 PvNg== X-Forwarded-Encrypted: i=1; AJvYcCXwtqj6nV2Z6jhXrb7BUWeBDYL+iA6Bhi9wjNmeTAb8G43pxcRBKlFVnPyhc8EwP/okucVJkM5BctnDPWw=@vger.kernel.org X-Gm-Message-State: AOJu0YzRBreXPicNXGeAGshyYb059WPzWCAPwPZy48I5DAadfSXWpFb+ sl4+YXTW8v52dPNAXO05NuX0Ft3NcdANph9wy7rMm73VnTHtaPmPttqgrScBughSDGA= X-Gm-Gg: AZuq6aJtZALEuPmxio0Pxa+95l3NvYnly7k4D3B17qvEM+OVw3KsRm35SHJABhM+t17 PyBVwlUnJQxw/cbjbOcUslDUhhJef6zC2y0LsHSa4lUDHGahsh7yCLyWLUM9x8zy/Jmc93B4zC0 Z8qAR42F+zuh8LRH+c6fXZvMncZTvFUca1q949ZteZHBSM86BhAyEdvBpcBguMRzfZpRmLqtQvG YvLgLAlUmnDgkuHX/afj0P9sKdAttrRwm3a1MHUj/VNq/SE7hBQb2s+YRrsoPyFwGWzjX4ZOCr/ q6nywIuevFmJEto+UebflMFKBPmtL7L7mpHKHbA//zOhG3op5kJu+d6gJbzqpSOzOtsLtMA1NM3 JZL6VM2xpVBGyOxkF8S18ZVgj7HsKYgcP1mqp2wZFjg3SvakrPh6VaDrHJ1OOQcvMHcYqaX+zxi MfCkxwwMJZpMCVRzzWS8Qz/HpPN2xJcmMeaEhhXYSh3udDkSYNBQKnJKJmLTMppgvX3Laven2eM xUu5w== X-Received: by 2002:a17:907:2da6:b0:b87:117f:b6f9 with SMTP id a640c23a62f3a-b8edf174430mr23264966b.8.1770327756177; Thu, 05 Feb 2026 13:42:36 -0800 (PST) Received: from puffmais2.c.googlers.com (244.175.141.34.bc.googleusercontent.com. [34.141.175.244]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8eda7a0074sm21859966b.18.2026.02.05.13.42.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Feb 2026 13:42:35 -0800 (PST) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 05 Feb 2026 21:42:34 +0000 Subject: [PATCH v5 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: <20260205-gs101-pd-v5-6-ede49cdb57a6@linaro.org> References: <20260205-gs101-pd-v5-0-ede49cdb57a6@linaro.org> In-Reply-To: <20260205-gs101-pd-v5-0-ede49cdb57a6@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.2 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 --- 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 3bcba7d38ac1572ef4bc2f4052c904dd6c4a7bfd..8df46b41f9bc8f0b2a03300169a= 4b52457faaf4d 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.rc2.204.g2597b5adb4-goog