From nobody Thu Apr 2 01:49:41 2026 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (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 625A53E4C73 for ; Wed, 18 Mar 2026 15:28:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773847692; cv=none; b=bqNWc8JGMf0wfm9sr6708a3gCwix0Iq+L5N3KvvIfMzmqX7A/TmOB2xZ/ki8F5r4BeXoce4V8vN+zcNylE+3lyq8pzOBEsYJ+b4U1dGwx5hiVU+0sXhu38k+Y37W4kjXTHLG7iKKrYZ4A9IybDdTw7NGmIhBdBmXDdkBotFngcs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773847692; c=relaxed/simple; bh=8T9/It5ApHDHnYD1q78TZh74X9foQBKZZLIC9h+az00=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SPXmlqPdVCdKmA2jghvLAV/wXnACoKOM1grWMuHKDs7SJHm42dwZojc+UCAC/iMGXVTYgXRR6ceftH/SgBSGiZGJlI4pGCFINv0vpIjbmeqn5dfBkNVMbp9xLFf/flXtW6ofVYQgBQ6dIGtLjww0ZhU0Jm2KWby9TfbbmdCHObY= 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=zaZmBis3; arc=none smtp.client-ip=209.85.208.45 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="zaZmBis3" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-666f646f5cfso1691423a12.1 for ; Wed, 18 Mar 2026 08:28:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1773847682; x=1774452482; 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=FzTEmVg0E5h4X/7Ugq7xS1ujjrPpCimVnXzUPgyNm9M=; b=zaZmBis3OIvWv8Z/cmUga6MKezr9hCDKifTL7RAouUD9eApYwG2JrRpA2nr/P1RA64 4poxjeQy0lZKo0Jo5NTNabTVG9RA6xvA9oc/qu2oAgrMah+ESz4rykw8Aa34nZWQaRR9 3YS38tnv4Owg0Y6vT4bc/fEEJ5XabDqeO2YpV4s25y3Y6QaVZ8LOeOz9FJ4J3ZZ+AnEN XtGqt7moT3/WsVkD0KZR04g/ZtHIQEnlYxpoKzmvZKlWuDewJs7NYl93VxRJ+XENbShf ikhMM9pmrRzzKbS2EfSJvx5SprAedEqRxGIFAi5eizabPCDZRd6dVeJYQAsvqZTqIyVq GwCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773847682; x=1774452482; 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=FzTEmVg0E5h4X/7Ugq7xS1ujjrPpCimVnXzUPgyNm9M=; b=EG9EVdpPMrXOXetaXO6i7DPaps3QP1Bg8aqAtK3LY+FQMZZBfjOe61GMKIoPFd5a/5 53ZWk9jUNIiY0co5fsVXyLqNSSUX8qYCIZvjQxCJznTplwquq+gSbDJiz4rWp5Foe2z7 X1qcKKvthhB12ZKZoE0Q6q+HIc7ZZe5ZNOZ6fhu8xgux3xL56C+yCADrOFJB4CDHmsRg +Ck98WIiFH2SGsMoA8CQCAmTjoBpUEcrRecYdkaG5YPmSEdIQfr6GouJFsZCFIBDwiPv tT+yGNIBpwgLNYcryhYQ2faTGaquflxBtjPg0Io1Ch7LdBLwo6Ixwg/JOz16fLWGl2Vf akog== X-Forwarded-Encrypted: i=1; AJvYcCVp4gGndpwQEWu4HWDZVMh3O1evKP5SrrQatnvzXITE/hSgBkMCoR5ecrYUdOg2fhe55RdMHH5DVPipc70=@vger.kernel.org X-Gm-Message-State: AOJu0YxmdMgxTQUdZ2IDrNJIlzgCeN4HXMKkTa4W7873JTM3uordHoE7 tjlrI3dmk5uBRzx2VdobG7K7iOqH0NLPXz6n9T97iw7uwrYLN8P7xP2K1+FCxVxA/AA= X-Gm-Gg: ATEYQzwyPkK7ypmYdQL2oAhLb3N0KrVqL2TXyATDoSdR6GXYQ/76JeF3mUPjThsPgSV hV7mmvQRUXV8pOnCb4RGmG3TiQ6PGACf0V7Cz/3u2Icm3AwiLp7Lau/hZR1WxVqiWO3c1cnFKh4 ANrEDnYGdK9JsquG1UeDwWDZcyrHLk+QimParHAVP97FthW65UsegIK4/c0k3l+lMknI+KTnI48 KWn/79tGbHo206gKAiU0HjeKEaw4Tp0mJmWzzyJ1R8GuvLE0qV6m0dTe7+ldNXT2+tXAcv4Wuow Sk6SNGLmo6Snn+i+25fNwSmPpTGn0t+lTKm4YXYI+UIytx2+dI2EADKTF/+x+qRt+Tz3OXhbrfE 1Arz3NzqN4X/xCnXZDsaFK6ifKevmLhshnIHSFu0Bs4lv7zIE21CnjrUjLj/NCyprCL/Rchi82F enuyqdzEerM/+UuiWFvesr9xAOpKO7gV/BtldpApiu5QLAf38ngZQlQ6mWk9F+ceYNaAIZ93aUb e2lYfqHIQunqq8= X-Received: by 2002:a17:907:e11c:b0:b97:73ae:e2e with SMTP id a640c23a62f3a-b980f9e248amr256966b.18.1773847682061; Wed, 18 Mar 2026 08:28:02 -0700 (PDT) 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-b97f173a3e3sm226989566b.61.2026.03.18.08.28.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 08:28:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Wed, 18 Mar 2026 15:27:51 +0000 Subject: [PATCH v8 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: <20260318-gs101-pd-v8-6-241523460b10@linaro.org> References: <20260318-gs101-pd-v8-0-241523460b10@linaro.org> In-Reply-To: <20260318-gs101-pd-v8-0-241523460b10@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 --- 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 68b1e7ba8729..3aba00b9ddef 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\n"); =20 --=20 2.53.0.851.ga537e3e6e9-goog