From nobody Fri Oct 2 12:22:34 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7AF130E0D5 for ; Sat, 1 Aug 2026 08:00:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571254; cv=none; b=feXPsoeT0PB5vzHOsBDSjuFIyRIX16x2oKlDQ31lBVlgEaPlZjQs9Xp9BUqo7Ib40xyO+JNaiPHOSNf77Cah+8rB9MuHH7NPlezUJ/gCxDTBmnQmOnLLIvV8Edy04I0gxi0uEpnz+MIggxe+LL4vn92RO38w9Q7HzPPQ7/lGuN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571254; c=relaxed/simple; bh=ETMJ6aJUjQDC/YVIh0I4Vf8wferbQVh2mtgDYw8tyfI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Jv5iQuBNZ/1nP06VZ+VNrMuTRSrueuc22HV6AzOSmd4ZWK05dL/pld6BnHVLUO8r8ZuZEqP8p8y3zrgINMbMNw6m5hy5EbbAkFL38Tpfow7RsP4Poeg9g790XdTkroCQ+4qgp4L4fEOphUfF67Cftkz85FYubTqNKTUJhgLxu4c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=QM7+urB+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OFKNjRrb; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QM7+urB+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OFKNjRrb" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6713DPO72065170 for ; Sat, 1 Aug 2026 08:00:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Zt4rjJh0Mr/fd1Jmxd+h3Cy43pcxP7RnHzW6QwphjHA=; b=QM7+urB+fekjmjVQ dIgMM/MBGQ8Z8CRv1a65slxzRRs6dayNDygRKQ9jxHzZnf9uVDUkuV9aJnTdmtKO d8CJ0Rnj15v9uO3wnRSkgUpLCRxk+BY0kxzIj/64GJdykMLKbM/NQ7gJy95jvCLi SCPLd9MjNzj++8FR8tgAaSXQ0pa59gMQ825lKTvXKkVf9ckx0AEny49XwCvPxJFj JyIjTacuirnfKD2g/F9sIx0acqIquhhhBksrAtX9nRArGgzxVILuZuTYki+FnmXQ AKNm5sdED2WJ+qC6tS6jWy2rE4BELTlTxRsmnRSkyh+j2NOi7FDa0E6/JcL0+6Yp RYRKKQ== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fs8q50hfu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 01 Aug 2026 08:00:51 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38e8e864ef0so2831603a91.0 for ; Sat, 01 Aug 2026 01:00:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785571250; x=1786176050; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Zt4rjJh0Mr/fd1Jmxd+h3Cy43pcxP7RnHzW6QwphjHA=; b=OFKNjRrbU5TP5vuslCqLRaGjnLSrQZzNoOaK06JiYn8e430s/+GthTgiecHrqe74Za L8fEM/smRa5Hch1/OAXTDhktmEZ6hqqxfC9qubiBQpP+qavky4NgCik5jQm5EMQ+eTGS /zTEISk9ILv6kZsqr25ZO6JBLt1p55UNl+ZVTvgYg+txsXyh1tDD8G+VpzYKoUAPwB7l WsvKVBYFjK/7GkC/dlE5U9Vu3VC3izFPKvsrLmP80TW/9Lu+hpEKqzx6P8ZNM0zGFVdX oMLNKocIpCnxtpJtUs9B3e9mRvyTXbb1x8Zn7wXMcMH7yf3T80VE2ngnESw5v6DMqdKF Ekwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785571250; x=1786176050; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Zt4rjJh0Mr/fd1Jmxd+h3Cy43pcxP7RnHzW6QwphjHA=; b=s0R0UrB/y77anknkWpy//1BU1SStTB1ZdgsZoABjhKVCqo1xXBBz8ZxiaBhat5UkoC BVhYFEDJEABRigb4PU10IGJFtlh9g30wHtDSot+qz7E5zFWXhhkdH4ngcfo4I+2tkNMm KPFeJqhPyGpsIikwIhiXei9LET+q5UOlkAHlgA+yb4eF8EqlhJZrzDUFRTf7QUQPseIW iSGPzEsAXsiQ0wln2Z0STI+UMiBA/2hoV8AKcZcNTYWZqPua5NMEgUy5syFhawzLnDf4 bKlrkjW84Ibv/cdZhRka6aja4Ee+qNCJTZzU4eySwm2tFyXUdw3LaYxnasgvfA273bTS 0b/g== X-Forwarded-Encrypted: i=1; AHgh+Rpu3bWSIyoE3ld1f47CaSgjmeUCF9D1gCKhPl+CkSLsUHh9y8ZRhtZAfK1bpCcy6BCpv1DJdJ0i5sFLMfY=@vger.kernel.org X-Gm-Message-State: AOJu0YyoB17RuBXW+5Ez+PImZxOau30gzh/3U6BM71jCzKI+EocVIv7n njqX3QH/zOiwVpw7f6qHK5g74fu36+xq+lgJy7Vkk7LAeTNRFTF7W8stxDO1olw/vvnFMK/nmDF d36lzatLsUntDXt6R52kavVc6i+qqiiIHS7BLoEAEBVddM7up16HwmB+nX+PEsz+zjCI= X-Gm-Gg: AR+sD13xSlLR+PEErkAGfKOBp07+/Kj5iSLDuw07GRiyXZ14L7y68BdHN5IKig4YzCr QVxjZpvmZI081ENg1sqo98W6zc7XFws7AtTevRy6762nmeQWBshHtfBFv/9B5WpyZArPGgEUFL9 4MqPel7GQfAZgiF4lanm1/IBSpH5AlTuh2oSHNFigS0LNm9g66Rls2Ehfk7QehBRgbIQZDWyv7d pWDJ5+cvNgFwZ/zuUMIs/KX+AXkGR2l9j0ZCjHmQ2C+Rw4CYYgJ2GFm8+G72U4FTBBZjj4/rR+C e2oCyGSyWAvsm8m3x+22L048hkQ4gJNjwca+4LzteSwYfmsOm9vjVI510adXKJwZ7lMWP8/Cfk7 xMt9j+hIpyOYn4PkA5p459bhnMFikeA== X-Received: by 2002:a17:90b:4b81:b0:38d:dfd1:7c1 with SMTP id 98e67ed59e1d1-38fbc3e5c7bmr2526001a91.2.1785571250380; Sat, 01 Aug 2026 01:00:50 -0700 (PDT) X-Received: by 2002:a17:90b:4b81:b0:38d:dfd1:7c1 with SMTP id 98e67ed59e1d1-38fbc3e5c7bmr2525970a91.2.1785571249836; Sat, 01 Aug 2026 01:00:49 -0700 (PDT) Received: from hu-kamalw-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3153e18e114sm24739838eec.28.2026.08.01.01.00.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2026 01:00:49 -0700 (PDT) From: Kamal Wadhwa Date: Sat, 01 Aug 2026 13:30:27 +0530 Subject: [PATCH v6 1/4] soc: qcom: rpmh: Add support to read back resource settings 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: <20260801-b4-read-rpmh-v5-v6-1-9fcb54928523@oss.qualcomm.com> References: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> In-Reply-To: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Liam Girdwood , Mark Brown , Vinod Koul Cc: Kamal Wadhwa , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Maulik Shah , Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785571241; l=7518; i=kamal.wadhwa@oss.qualcomm.com; s=20260406; h=from:subject:message-id; bh=qXqGyOeLWQGaBEmgdBm09rvUYbv256ay6Gp1qlrL2is=; b=w3CvmUdDEukecARXLPWxqGRpVLKhbwemHPkaR/u8ouktez+9BtTuXoCLyBsZ+W6N5ECZsqv7M xC45j8Z2bQtArcbEkqvatIqZ2TQkwbZaycRQUhe/7/p/FzwHA+kiB4R X-Developer-Key: i=kamal.wadhwa@oss.qualcomm.com; a=ed25519; pk=ylH1NxUZkBpYsmww89g6zVxpS0q8qthtzcORkYxn/Ag= X-Proofpoint-Spam-Info: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfXyxJgpq7rPh6Z /UisXPQDZvqM3MJoSON/9Loi+TzwAsSkqRWouy24vlKij5v+ByVarUqNFh59QydtRrVcUDspJ8u pYcLWVvGMKQXrS+Y0RxdjqHZfxmQoaM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfXy+LoDU3jNHHs kC3xkU7wvaDISI2YzKW6NIrcicVqsDbYvD2yyRAo5a2iW4e6d90GFwVEc1I+dVI3OWLLGyVjGtt X7L8AiQwMYNvQwL1b6SqEImcAjzq6yyH3nqhUHC0CWxkrc0GqGQNAw/1CKWDN+fhK1uzTZEVNnl YXqcCKP77AP6TtjcGkCypPF906tq5mUWDq1MSFTB3F8MtbxDOJ5gbMLqXBRfxye/04Z/r7KSwt4 /nu2wI6f30dfGUp1bCYm3qx2xudDRgcVt/yDETXyuvf7KlpkM/hSicvxtCx6moC7CxswDqL4SLx UT7TGrlfAVqOfW5MOoh5zeDozFkO6iVqs0BDThm+oOqL0GtQ58pg/8ECAR6iEVcCezUEm0WB/ej JSXZX/d7SMYpIgF0uf+5jSHB+A1Eu+14pQGBjDw+xiLetoIZMlzBaKVxTSqZYR3eTB7jEZuqyJ3 R4rmN8AlOyg4626jbYQ== X-Proofpoint-GUID: iDylqWuqRDRxSTzADOwgD9FNj3dst2O3 X-Authority-Analysis: v=2.4 cv=IYC3n2qa c=1 sm=1 tr=0 ts=6a6da7b3 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=RgaPuue0vXMEEcOqpiYA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-ORIG-GUID: iDylqWuqRDRxSTzADOwgD9FNj3dst2O3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-31_07,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 suspectscore=0 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608010057 From: Maulik Shah All rpmh_*() APIs so far have supported placing votes for various resource settings but the H/W also have option to read resource settings. Add new rpmh_read() API to allow clients to read back resource setting from H/W. This will be useful for clients like regulators, which currently don't have a way to know the settings applied during bootloader stage. Reviewed-by: Konrad Dybcio Reviewed-by: Dmitry Baryshkov Signed-off-by: Maulik Shah Signed-off-by: Kamal Wadhwa --- drivers/soc/qcom/rpmh-rsc.c | 13 +++++++++++-- drivers/soc/qcom/rpmh.c | 47 +++++++++++++++++++++++++++++++++++++++++= ---- include/soc/qcom/rpmh.h | 5 +++++ include/soc/qcom/tcs.h | 2 ++ 4 files changed, 61 insertions(+), 6 deletions(-) diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c index c6f7d5c9c493..ec85c457ea45 100644 --- a/drivers/soc/qcom/rpmh-rsc.c +++ b/drivers/soc/qcom/rpmh-rsc.c @@ -443,6 +443,7 @@ static irqreturn_t tcs_tx_done(int irq, void *p) int i; unsigned long irq_status; const struct tcs_request *req; + u32 reg; =20 irq_status =3D readl_relaxed(drv->tcs_base + drv->regs[RSC_DRV_IRQ_STATUS= ]); =20 @@ -453,6 +454,11 @@ static irqreturn_t tcs_tx_done(int irq, void *p) =20 trace_rpmh_tx_done(drv, i, req); =20 + if (req->is_read) { + reg =3D drv->regs[RSC_DRV_CMD_RESP_DATA]; + req->cmds[0].data =3D read_tcs_reg(drv, reg, i); + } + /* Clear AMC trigger & enable modes and * disable interrupt for this TCS */ @@ -493,13 +499,15 @@ static void __tcs_buffer_write(struct rsc_drv *drv, i= nt tcs_id, int cmd_id, const struct tcs_request *msg) { u32 msgid; - u32 cmd_msgid =3D CMD_MSGID_LEN | CMD_MSGID_WRITE; + u32 cmd_msgid =3D CMD_MSGID_LEN; u32 cmd_enable =3D 0; struct tcs_cmd *cmd; int i, j; =20 /* Convert all commands to RR when the request has wait_for_compl set */ cmd_msgid |=3D msg->wait_for_compl ? CMD_MSGID_RESP_REQ : 0; + if (!msg->is_read) + cmd_msgid |=3D CMD_MSGID_WRITE; =20 for (i =3D 0, j =3D cmd_id; i < msg->num_cmds; i++, j++) { cmd =3D &msg->cmds[i]; @@ -513,7 +521,8 @@ static void __tcs_buffer_write(struct rsc_drv *drv, int= tcs_id, int cmd_id, =20 write_tcs_cmd(drv, drv->regs[RSC_DRV_CMD_MSGID], tcs_id, j, msgid); write_tcs_cmd(drv, drv->regs[RSC_DRV_CMD_ADDR], tcs_id, j, cmd->addr); - write_tcs_cmd(drv, drv->regs[RSC_DRV_CMD_DATA], tcs_id, j, cmd->data); + if (!msg->is_read) + write_tcs_cmd(drv, drv->regs[RSC_DRV_CMD_DATA], tcs_id, j, cmd->data); trace_rpmh_send_msg(drv, tcs_id, msg->state, j, msgid, cmd); } =20 diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c index ca37da3dc2b1..f881c4c757ec 100644 --- a/drivers/soc/qcom/rpmh.c +++ b/drivers/soc/qcom/rpmh.c @@ -175,6 +175,9 @@ static int __rpmh_write(const struct device *dev, enum = rpmh_state state, struct cache_req *req; int i; =20 + if (rpm_msg->msg.is_read) + goto send_data; + /* Cache the request in our store and link the payload */ for (i =3D 0; i < rpm_msg->msg.num_cmds; i++) { req =3D cache_rpm_request(ctrlr, state, &rpm_msg->msg.cmds[i]); @@ -182,6 +185,7 @@ static int __rpmh_write(const struct device *dev, enum = rpmh_state state, return PTR_ERR(req); } =20 +send_data: if (state =3D=3D RPMH_ACTIVE_ONLY_STATE) { ret =3D rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg); } else { @@ -194,7 +198,7 @@ static int __rpmh_write(const struct device *dev, enum = rpmh_state state, } =20 static int __fill_rpmh_msg(struct rpmh_request *req, enum rpmh_state state, - const struct tcs_cmd *cmd, u32 n) + const struct tcs_cmd *cmd, u32 n, bool is_read) { if (!cmd || !n || n > MAX_RPMH_PAYLOAD) return -EINVAL; @@ -204,10 +208,45 @@ static int __fill_rpmh_msg(struct rpmh_request *req, = enum rpmh_state state, req->msg.state =3D state; req->msg.cmds =3D req->cmd; req->msg.num_cmds =3D n; + req->msg.is_read =3D is_read; =20 return 0; } =20 +/** + * rpmh_read: Read a resource value + * + * @dev: The device making the request + * @cmd: The payload having address of resource to read + * + * Reads the value for the resource address given in tcs_cmd->addr + * and returns the tcs_cmd->data filled with same. + * + * Context: May sleep. Do not call from atomic contexts. + * + * Return: 0 on success, negative errno on failure + */ +int rpmh_read(const struct device *dev, struct tcs_cmd *cmd) +{ + DECLARE_COMPLETION_ONSTACK(compl); + DEFINE_RPMH_MSG_ONSTACK(dev, RPMH_ACTIVE_ONLY_STATE, &compl, rpm_msg); + int ret; + + ret =3D __fill_rpmh_msg(&rpm_msg, RPMH_ACTIVE_ONLY_STATE, cmd, 1, true); + if (ret) + return ret; + + ret =3D __rpmh_write(dev, RPMH_ACTIVE_ONLY_STATE, &rpm_msg); + if (ret) + return ret; + + ret =3D wait_for_completion_timeout(&compl, RPMH_TIMEOUT_MS); + cmd[0].data =3D rpm_msg.cmd[0].data; + + return (ret > 0) ? 0 : -ETIMEDOUT; +} +EXPORT_SYMBOL_GPL(rpmh_read); + /** * rpmh_write_async: Write a set of RPMH commands * @@ -230,7 +269,7 @@ int rpmh_write_async(const struct device *dev, enum rpm= h_state state, return -ENOMEM; rpm_msg->needs_free =3D true; =20 - ret =3D __fill_rpmh_msg(rpm_msg, state, cmd, n); + ret =3D __fill_rpmh_msg(rpm_msg, state, cmd, n, false); if (ret) { kfree(rpm_msg); return ret; @@ -257,7 +296,7 @@ int rpmh_write(const struct device *dev, enum rpmh_stat= e state, DEFINE_RPMH_MSG_ONSTACK(dev, state, &compl, rpm_msg); int ret; =20 - ret =3D __fill_rpmh_msg(&rpm_msg, state, cmd, n); + ret =3D __fill_rpmh_msg(&rpm_msg, state, cmd, n, false); if (ret) return ret; =20 @@ -352,7 +391,7 @@ int rpmh_write_batch(const struct device *dev, enum rpm= h_state state, rpm_msgs =3D req->rpm_msgs; =20 for (i =3D 0; i < count; i++) { - __fill_rpmh_msg(rpm_msgs + i, state, cmd, n[i]); + __fill_rpmh_msg(rpm_msgs + i, state, cmd, n[i], false); cmd +=3D n[i]; } =20 diff --git a/include/soc/qcom/rpmh.h b/include/soc/qcom/rpmh.h index bdbee1a97d36..14ecbf242b6b 100644 --- a/include/soc/qcom/rpmh.h +++ b/include/soc/qcom/rpmh.h @@ -11,6 +11,8 @@ =20 =20 #if IS_ENABLED(CONFIG_QCOM_RPMH) +int rpmh_read(const struct device *dev, struct tcs_cmd *cmd); + int rpmh_write(const struct device *dev, enum rpmh_state state, const struct tcs_cmd *cmd, u32 n); =20 @@ -24,6 +26,9 @@ void rpmh_invalidate(const struct device *dev); =20 #else =20 +static inline int rpmh_read(const struct device *dev, struct tcs_cmd *cmd) +{ return -ENODEV; } + static inline int rpmh_write(const struct device *dev, enum rpmh_state sta= te, const struct tcs_cmd *cmd, u32 n) { return -ENODEV; } diff --git a/include/soc/qcom/tcs.h b/include/soc/qcom/tcs.h index cff67ce25488..45b8513be2f9 100644 --- a/include/soc/qcom/tcs.h +++ b/include/soc/qcom/tcs.h @@ -51,6 +51,7 @@ struct tcs_cmd { * struct tcs_request: A set of tcs_cmds sent together in a TCS * * @state: state for the request. + * @is_read: set for read only requests * @wait_for_compl: wait until we get a response from the h/w accelerator * (same as setting cmd->wait for all commands in the req= uest) * @num_cmds: the number of @cmds in this request @@ -58,6 +59,7 @@ struct tcs_cmd { */ struct tcs_request { enum rpmh_state state; + bool is_read; u32 wait_for_compl; u32 num_cmds; struct tcs_cmd *cmds; --=20 2.43.0 From nobody Fri Oct 2 12:22:34 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A68B3D9545 for ; Sat, 1 Aug 2026 08:00:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571257; cv=none; b=CMZ3QMPPdTHwKbMppcj0PNJpizABeJdxxpQ2ThEMTnPBodYmAykvZU4LIQWhxyPq6zYJYmjzDvyVqSiyvY85m8gk/L9An/gQxM/aF2OqjE7n9ZPkbx1LUlbvK4WlYolJVa8IaUW+hxJfexp/gt74nM45UaCUSOjv4g4ynWc33KA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571257; c=relaxed/simple; bh=GyeeFMzv3svicQKUiZtWEfryK8EEAEfIq1rrZuVTlRk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CyziVZ8HechgMr0EnKWBHL4noX+ee7jiOTnalm31gW/7XZDX0qj2jPKevj4RdWbJfS4SV89gfdUdV+mbXSVL7arymKdsnyAekCDS+EH//ipewqZ55u+bqQKB1HZqcB5kHOxCzWDmH0cEtiGtD2IXZFjWAZOowc0oKLfQz9gKDq8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=TiJDCCUS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yn/avJQS; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="TiJDCCUS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yn/avJQS" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6713FtW01759694 for ; Sat, 1 Aug 2026 08:00:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= s+OoXSRKnm336YYjxQK273iUKtlXI+xsznHIMq6fieY=; b=TiJDCCUSsn7o8ZHa NBFKNIaAY3jSGfk8MGhVL6QdrrUNnfDoWWZs+uPoqWTZM+yhBbaNp4ZEaLTgXKi4 pgN51S7M9qIb2NGBaSO1GXyF8fhZ91xHalsJAW+6xI2lyS1lUo3/53eYWxxWwLxT Rqtfsgc+KCBQYF5yYcfebJXOoNfjlRIFWyoLO7JbUdbPQNEbkZE8OwkOkHmDi3uw qgilI/zKZr4rw39CZ/gRjEde3/c6VcC862zffiGHqm88cMpWtIWrnXycjnHe6Eh9 UvPwChsreLgruduDVaxO4ocpjb1nmkc3aJoaaiYKb7MW8eHgEcTzKbyustU3AdOw ix2TCg== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fs8r6ghqq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 01 Aug 2026 08:00:55 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-cb11535e6a1so1350455a12.0 for ; Sat, 01 Aug 2026 01:00:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785571254; x=1786176054; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=s+OoXSRKnm336YYjxQK273iUKtlXI+xsznHIMq6fieY=; b=Yn/avJQS2glLFF55jZtP1Rpps9s4hCwFhR0t0RGL0NzJE/ozHCUE4oTZiWFTfPsHCf Evv0GJ+1QVSm4UgzQzyRvV1ticq9yyvy5vrlBY2W9AgZEm7yjwTq2bK/DCEGMMTN6+/O Hey9kkPDQPgrbGoJ8mQHrtspuxRTMOZeuXrtJ6b3uP4Lo40CV5drUDPKIiGK8cLnAD9U EB6QIBZ3KmTGTypmPZEh8nVopyrYHA5xJJpuPq3+D0qaxlNQF201TOeaxljvq/kBKSSa jrE6PrL1drRuT8oQz4PnQuedxcexWhXj3FXoXDDDgPIGYzI7o9cD52E6GZNGZFqhwMYm kgIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785571254; x=1786176054; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=s+OoXSRKnm336YYjxQK273iUKtlXI+xsznHIMq6fieY=; b=XcG8vQcB3m9okveX6jnX3hpts+M+NwrFm99CSVBLJPzRA1UIxZVnObNIwHumFLV9uh RjqOKeiP6hf2Tm4wNGpqLZMtw1KjPWH5TNz9+K95UaneflZKUGkh6pvhNm4k1yqrpUrm cnw5RbA5rHKwIB+7eZWggUnz1boBbP2wQDJGUJdIl5ANW/vqPNn11H5QQo73YLuclnnX tEpf/pnK5iasgQVVeBkEnX95jAyQ0PHYtLZ+CEqUkKUqqXasERTDqSCo0mlhXBNJ5KMs d+Cwk8L0kChkuMksha20mUJ2lczEAVmo5bqtQ3T/D4awR7LbuxZZsbOFAMm5HyG81RzM KfAw== X-Forwarded-Encrypted: i=1; AHgh+RqXnBtf4QK1Y5SISabebB1kCDIZ67iDYCdZHsQbEMxmRX2Un24hs8MamitYEqlCk1jL6kIma/Pw9HLiN+0=@vger.kernel.org X-Gm-Message-State: AOJu0YxEJD47ohlhZRPqKAyAc3LSxYGj3x695b+p5I37K15IEbSOL+lU dRaIhOZZJFsspeQSigSXyjIm9G+b13dy4tAbl0pzmlr4R9CaEjYp6SajymfbJfz5T2m2wiQaUfQ DJA9Mvd5Quc0B92z510i56Q2Mna0j52fG4EmDKRXbiWWYhyUvK7+9OADkj+EQ20nnr5U= X-Gm-Gg: AR+sD12p7B4poBzbCKoAaQVA6a66naG/FawGwyG2mdosQLA8M9MRghZ7qrblMdtzkyT IO08tzlICPZL8rSMeqx+9+9i7ZOYvHk4cHBAHonuxwS3pc8KuEDkYbgAZxY2WF1qVhwC97RqsAM AyMo3UqJ1/pS8vhHxvIytmk41vVrajWzfjPat1ch/OokLOT7i0HIzAOoWiVsu53ocT5VkYhBDE/ bS0VpaBgyYLqg/EIUwy6i0GUZQ1f4Yh7tLWiCVR1B/NWwiLSKFXlJxcqeOacLvUzmJ+KFBm3DEh aVjLsLKRu5G2B/4tNzIfjRu/QDbfy/jGJ1TblEA8k4XzzgY8yhSoBoI2GRFfbS9tBya9MTcKif3 tR0vvLW2mHLH7POxFskzD6JbLFMAj1g== X-Received: by 2002:a05:6a21:4683:b0:3c3:67e9:660d with SMTP id adf61e73a8af0-3c92a8f08femr2712852637.60.1785571253981; Sat, 01 Aug 2026 01:00:53 -0700 (PDT) X-Received: by 2002:a05:6a21:4683:b0:3c3:67e9:660d with SMTP id adf61e73a8af0-3c92a8f08femr2712818637.60.1785571253497; Sat, 01 Aug 2026 01:00:53 -0700 (PDT) Received: from hu-kamalw-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3153e18e114sm24739838eec.28.2026.08.01.01.00.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2026 01:00:53 -0700 (PDT) From: Kamal Wadhwa Date: Sat, 01 Aug 2026 13:30:28 +0530 Subject: [PATCH v6 2/4] regulator: qcom-rpmh: Fix PMIC5 BOB bypass mode handling 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: <20260801-b4-read-rpmh-v5-v6-2-9fcb54928523@oss.qualcomm.com> References: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> In-Reply-To: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Liam Girdwood , Mark Brown , Vinod Koul Cc: Kamal Wadhwa , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov , Konrad Dybcio X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785571241; l=2563; i=kamal.wadhwa@oss.qualcomm.com; s=20260406; h=from:subject:message-id; bh=GyeeFMzv3svicQKUiZtWEfryK8EEAEfIq1rrZuVTlRk=; b=WgjZ3HbuziR1xTvPHg+CETzwMapg5C7bFEEG7NCKL6/dTmPSGCOQIO8M2h+GUCI2YlIhxtJvR RP4pQRxwuXyBvawggeSOqKkYE0r9jmzDRfIXNsm311NXrtVsKu/9AZz X-Developer-Key: i=kamal.wadhwa@oss.qualcomm.com; a=ed25519; pk=ylH1NxUZkBpYsmww89g6zVxpS0q8qthtzcORkYxn/Ag= X-Proofpoint-Spam-Info: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfX+UfkXxhFFX3h yrlKolp5eTzEzkOcR+BOl+OtWHcEs2FeAGqoV7hftYW8K6rav36KagriHf/zCpDg8G7lCjddThE m/9DO3SNItb9l2g87BlXAQmLmlXst0o= X-Proofpoint-GUID: F2w1BEzzl6Pcsd-R-HpTHSvtaMER5EOa X-Proofpoint-ORIG-GUID: F2w1BEzzl6Pcsd-R-HpTHSvtaMER5EOa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfXx619oFm2gMdT ro8j1i7rCnc/pAaZnluKjtauxrtXVgHTRy5OekuIkHrXbcfsc1hULD3ZuPwPbw4HCBG8HF9JfbL K1Gk2c/p5V4Xpacl/ONl5x4FEpeICuVumillIVYIwfcJD2A4//u7NYGVfgJk6qJxGTr2Vn2SYyx hnIMkGTZH3cICVax65abq5z1ob9vnArmAC/RroLdY0L4jc/D6uvnwTyL/7v1x2vYiF+RrrIW68s rZMT8t7ERFF61b3vMwTmMqUEoSTior1ar589ubpl9G6cpBjl3WtJmVy3RjJMXnVgPK0WRqkSjWg YPbYtP1j/odwUahQLtnbj+ODPtyIjVSsGzkQDAShqkcnS5galHJ8qBo4ewJjIjDnqmdM1mjhDgY N9kp/6dNn8hE/OyKKQ9VAdjmYdMsgfeZI0U/cdhQzRz2gqDe+M2crO7rZh2R6/8aVWNGjAuuLG+ MoBSpsd+OTlcVCL34rw== X-Authority-Analysis: v=2.4 cv=Q5ziJY2a c=1 sm=1 tr=0 ts=6a6da7b7 cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=kIXBIbc_WAS2GchaIWAA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-31_07,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608010057 Currently, when `rpmh_regulator_set_mode_bypass()` helper function is called to set bypass mode, it sends PMIC4's BOB bypass mode value for even if its a PMIC5 BOB. To fix this, introduce new hw_data parameter`pmic_bypass_mode` to store bypass mode value. Use it to send correct PMIC bypass mode value that corresponds to PMIC4/5 BOB regulators from the helper function. Fixes: 610f29e5cc0e8d58 ("regulator: qcom-rpmh: Update PMIC modes for PMIC5= ") Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio Signed-off-by: Kamal Wadhwa --- drivers/regulator/qcom-rpmh-regulator.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qc= om-rpmh-regulator.c index 756a4201225e..c47dc9f92279 100644 --- a/drivers/regulator/qcom-rpmh-regulator.c +++ b/drivers/regulator/qcom-rpmh-regulator.c @@ -111,6 +111,7 @@ static const struct resource_name_formats vreg_rsc_name= _lookup[NUM_REGULATOR_TYP * @hpm_min_load_uA: Minimum load current in microamps that requires * high power mode (HPM) operation. This is used * for LDO hardware type regulators only. + * @pmic_bypass_mode: The PMIC bypass mode value. * @pmic_mode_map: Array indexed by regulator framework mode * containing PMIC hardware modes. Must be large * enough to index all framework modes supported @@ -125,6 +126,7 @@ struct rpmh_vreg_hw_data { int n_linear_ranges; int n_voltages; int hpm_min_load_uA; + int pmic_bypass_mode; const int *pmic_mode_map; unsigned int (*of_map_mode)(unsigned int mode); }; @@ -311,7 +313,7 @@ static int rpmh_regulator_vrm_set_mode_bypass(struct rp= mh_vreg *vreg, return pmic_mode; =20 if (bypassed) - cmd.data =3D PMIC4_BOB_MODE_PASS; + cmd.data =3D vreg->hw_data->pmic_bypass_mode; else cmd.data =3D pmic_mode; =20 @@ -767,6 +769,7 @@ static const struct rpmh_vreg_hw_data pmic4_bob =3D { }, .n_linear_ranges =3D 1, .n_voltages =3D 84, + .pmic_bypass_mode =3D PMIC4_BOB_MODE_PASS, .pmic_mode_map =3D pmic_mode_map_pmic4_bob, .of_map_mode =3D rpmh_regulator_pmic4_bob_of_map_mode, }; @@ -975,6 +978,7 @@ static const struct rpmh_vreg_hw_data pmic5_bob =3D { }, .n_linear_ranges =3D 1, .n_voltages =3D 32, + .pmic_bypass_mode =3D PMIC5_BOB_MODE_PASS, .pmic_mode_map =3D pmic_mode_map_pmic5_bob, .of_map_mode =3D rpmh_regulator_pmic4_bob_of_map_mode, }; --=20 2.43.0 From nobody Fri Oct 2 12:22:34 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F06743E7BA1 for ; Sat, 1 Aug 2026 08:01:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571262; cv=none; b=IR0QU6uYUBPZvHtMmxe7HCTP7rZP3YRoQXPuVbEdlSE6jguRW5wk4be57lGozLVC7lwmbrY14ZNozd+qeMkBPBk4qotTctTiY1dCv2drMr73e063+Hp74O0Kr2x3ngdoOBBfWQZYuD89EqvBNvJbN03+Vd2rd50aMgYvsgfPc4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571262; c=relaxed/simple; bh=9a1uHJo5Y96F7ImN6IHhzX3B9F4F4g1x+tq0aKtf+h8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BGdKP0JCz3gWp5Tt99QWZS/Xl3i1gdoG7rZcfO5kkElQLH00L2m8yO3FqNrATXdrfk5lvJiKIlcBjNHFhcKl0fclHifb42dV/BcEqSmAnbeJAsx6o7+BS9y1uSXIFm53hdjWDxQmRgdef2kMASFys+QHBLA2D653pqh/m/A7suE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OwN9QaiW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=B3Ng4N+k; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OwN9QaiW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="B3Ng4N+k" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6713DPtL2065103 for ; Sat, 1 Aug 2026 08:01:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YcmVta0Pa8sSmmUXmFPYxHNkHuCXA+xs6KwVmk1GcFk=; b=OwN9QaiWwC0aAfZ/ Puh3B5VLtBjVUFnA3xvFOcM5aHsRGtkjBM7wxepxHd7L2LqwN4d1VqZpbZK4selO ex9vOuY3ih543LoVG9EHPurRHSBAvbGTbrPnqNjWAuYRwzmQE42G5ma5mxqK9Yxh 8lJ3V/VCJwMONoCAJJXcxewNMzddIZalSk4AFux7ECXVgyKjDr6sfsK+CE0l2QGx CJySWTszBv/wQfj9f9WB5ocaP1fFdO/r5WdPM02CEDzPxZzEkkN23O+udiNwRZK0 lUm1PlydOb36Nv7CJhqhj3qkOSFqYa6DzcURivwbx/bqriFqGvxuv18eUcUG+H66 KR9R+g== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fs8q50hg6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 01 Aug 2026 08:00:58 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c856470fe9fso1314809a12.2 for ; Sat, 01 Aug 2026 01:00:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785571257; x=1786176057; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=YcmVta0Pa8sSmmUXmFPYxHNkHuCXA+xs6KwVmk1GcFk=; b=B3Ng4N+kFJPdMKLF4HGu+3XUhlIJR/g8IbU43znkUV4AJNV5QhypYgaAyKPgTGbGDJ ryWPLby2kxMfWqNCm9Vgv1AIkFI99Ay6/fy6b3eBGdUqlR9WutgPifi6mwUDDkNGZkOg +a+z2RgcjoWhsPigyEFYxnTCoZCOL9wnU6DyUhYy1Ylo2bsNUb9b3yKgeB7P8gHGexQ0 og52AuipO8mW2XTfnQkUUGCpxC7Oeq4npMerJNJ42kAahny3RlSa+6xBtDS36kANq0uf 1PKj0noBdGbcVE9BF8ipnUhbsTaNF0cKKxW1w6KKz3DDKD9/vRxtKTKgE0VOR7jDPAFq EjyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785571257; x=1786176057; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YcmVta0Pa8sSmmUXmFPYxHNkHuCXA+xs6KwVmk1GcFk=; b=h0Jnx21Z7CKsLjbW56+hgjk1oS6Clsv4HO/EnNVDEo0mvZ56UbFmK1xuM5YTSH7Y7x 0y9ysxvKsBGUlLuHhYmdxqv2ayFuK3ielpDPIBNiwZLs8RJRb5eZ30FJwm21iGkfSged jDP7vS4HrY86FwqgNEhGI93XfZN/VZu60KJkqAbwPxfA3mQtmT7M3gGs6h28nQWUM+zR MBJAUack3mNIabmFHZGO8+IfV9NFSuf3m5QUsJ5Uw1KrHXBYoGWmgCAIDnnF5bp+zXeQ zXG0oWLoQE7zkcI1rlpSwLDqDCWntJumLsvJm8VQpMAfs/tczmYWg3EZ+K9RcOoVnv+7 fysQ== X-Forwarded-Encrypted: i=1; AHgh+RoNJWZnBwOYOqspoJmWGTN+naZkpsQYkkabr4akShYuMc2SaACDviP6+WN6sbCctbdz6f/cmPeECUGYxMs=@vger.kernel.org X-Gm-Message-State: AOJu0Yy26bXgga3f09sk7SjahYvz7BlIi/Pb5Bvg0dm6YgUgy4Vh+Zmp SLqznU8IARhYEC9vWMDZJXXYs/+sVXuMMPMetTS93S3jY31HCGbstVeDUujz2CGQ4Lc+kb3XUG0 6Yp8ZoZ/4wT53N5XxLRli+sEHbZlsrJN8dExYkciYj0U24z5WihLmuVcPxCdEqOuHaXA= X-Gm-Gg: AR+sD12aBdz8EOQIbe8x3CGnT8h3Z3V5fBsSgSEAduLbrXg4pZO5KStFykdOVIQPYAY wdnZLaTk2bF4Ecd304g1Mo0H4OkfaCVpq6AgC6y3rvnofvTS7+3LwwbfoMOaGVq7D6+u9zHxCoP cIKv5RreGh3Di9puZjDXXMEjhSGmIfeiwq4+5WVV29a7YhjdazlIgTDH6l6rv5p5cO1ks/GZ17y nmufz3ZiCnuE34AR0K3wHMKw12sYnGrPRcHw1Slh7eMN8RxJM2OUCz0V18GDP31b9fguVbvQF7m jhZcBWIxqQrIAAHwFWbMsQLheQ8l++s3h3GulZCMbYj/1KTI7cYcb0C+Dc0XigueIwU3rjHhSdf BZtLqgcf58S/kl6EixaQ6fqqGNXwneQ== X-Received: by 2002:a05:6a20:9146:b0:3c0:9c1a:8952 with SMTP id adf61e73a8af0-3c92a99a4d4mr2520744637.74.1785571257288; Sat, 01 Aug 2026 01:00:57 -0700 (PDT) X-Received: by 2002:a05:6a20:9146:b0:3c0:9c1a:8952 with SMTP id adf61e73a8af0-3c92a99a4d4mr2520713637.74.1785571256778; Sat, 01 Aug 2026 01:00:56 -0700 (PDT) Received: from hu-kamalw-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3153e18e114sm24739838eec.28.2026.08.01.01.00.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2026 01:00:56 -0700 (PDT) From: Kamal Wadhwa Date: Sat, 01 Aug 2026 13:30:29 +0530 Subject: [PATCH v6 3/4] regulator: qcom-rpmh: readback voltage/bypass/mode set during bootup 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: <20260801-b4-read-rpmh-v5-v6-3-9fcb54928523@oss.qualcomm.com> References: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> In-Reply-To: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Liam Girdwood , Mark Brown , Vinod Koul Cc: Kamal Wadhwa , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785571241; l=5923; i=kamal.wadhwa@oss.qualcomm.com; s=20260406; h=from:subject:message-id; bh=9a1uHJo5Y96F7ImN6IHhzX3B9F4F4g1x+tq0aKtf+h8=; b=veC3v+M6OCgPq4KfmCTmLV/tyt14UfQOc94WUss4+rCGr/3nwa/C1QEdchyDWUamdb8qS1CH2 63lrg0iSRPcBfG3tpYSsPFnI/d7B6eZNgvZ2e4HMh50VBw8WYjVnwR0 X-Developer-Key: i=kamal.wadhwa@oss.qualcomm.com; a=ed25519; pk=ylH1NxUZkBpYsmww89g6zVxpS0q8qthtzcORkYxn/Ag= X-Proofpoint-Spam-Info: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfXwF6S9k/K/Rsv U92eA3FjvKEy8MxJ1y7EJksL1W5LH9LGCRZwm0JLCB3bkYHBJHQpeGYlH2n7UcxtlX6ICDpqlNh WDLrfP2s8L8iFqbho4Qp6+ZF64y23EU= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfX+3ePR2FuPQoW YBD8KvvZfhYgq6xCltFVtFjKcG69nPXvbhfT5jcMT6cbvDBP5ZZktgBgS1Ng7q2ZcXJwRsZYyR+ dXQQfOFhe2BmBh1plIuQn+e/5P8AkwcFS/WCmlG/VGOsSe4GIRtDjrJw/hYxTJV8h3n+Oqr2f/t qCm95EN4rWHV9BDianhFyl46CNBDb58OxL4qXztWwTJEqXDeFPC+SWNduyfxGFThNJoK6OaFSks zdqfL4IJi6p4vSz7Mk2QPe/axRxitOIf8J5N088MxArml/nlyJNlAOO+VqIH2+Yr7VmW1ORO0Jx MrIGPROkufNxB1rpJd2FwUPLr6ejJG0afxyBeah/9maqq9OtBE6PN7UILOTBXg4YvROO8793XG9 5bbff7tZ/vu9KYl5s6sz6JxzlNA+9woopE7zLCUFRmAX1By6HBVCZDoEgEXn7H7nqhfqfYrJPka LQD99jiEH7hD5b3lMHw== X-Proofpoint-GUID: uqCviqG4qYeMuotS51_BP0Nle6fVJ68N X-Authority-Analysis: v=2.4 cv=IYC3n2qa c=1 sm=1 tr=0 ts=6a6da7ba cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=kSdVqfX7IcrkJ3FduXMA:9 a=QEXdDO2ut3YA:10 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-ORIG-GUID: uqCviqG4qYeMuotS51_BP0Nle6fVJ68N X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-31_07,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 suspectscore=0 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608010057 Currently, during regulator registration, regulator framework sends an unnecessary `min-microvolts` request for the rpmh-regulator device. This happens because in current design, we do not have a way to readback the voltage settings that was set during the bootloader stage. Fix this by using the rpmh_read() API to read the regulator voltage settings done during boot and make it available to regulator framework from the very first read after the bootup. Also use this API to read the mode/bypass settings as well. This will provide the regulator framework a sense of the initial settings done by bootloader and thus preventing any redundant writes for any setting post bootup incase the same setting was already applied during bootup. Signed-off-by: Kamal Wadhwa --- drivers/regulator/qcom-rpmh-regulator.c | 120 ++++++++++++++++++++++++++++= ++++ 1 file changed, 120 insertions(+) diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qc= om-rpmh-regulator.c index c47dc9f92279..77d402ee6bf6 100644 --- a/drivers/regulator/qcom-rpmh-regulator.c +++ b/drivers/regulator/qcom-rpmh-regulator.c @@ -4,6 +4,7 @@ =20 #define pr_fmt(fmt) "%s: " fmt, __func__ =20 +#include #include #include #include @@ -61,8 +62,13 @@ static const struct resource_name_formats vreg_rsc_name_= lookup[NUM_REGULATOR_TYP }; =20 #define RPMH_REGULATOR_REG_VRM_VOLTAGE 0x0 +#define RPMH_REGULATOR_VOLTAGE_MASK GENMASK(12, 0) + #define RPMH_REGULATOR_REG_ENABLE 0x4 +#define RPMH_REGULATOR_ENABLE_MASK BIT(0) + #define RPMH_REGULATOR_REG_VRM_MODE 0x8 +#define RPMH_REGULATOR_MODE_MASK GENMASK(2, 0) =20 #define PMIC4_LDO_MODE_RETENTION 4 #define PMIC4_LDO_MODE_LPM 5 @@ -248,9 +254,34 @@ static int rpmh_regulator_vrm_set_voltage_sel(struct r= egulator_dev *rdev, selector > vreg->voltage_selector); } =20 +static int _rpmh_regulator_vrm_get_voltage(struct regulator_dev *rdev, int= *uV) +{ + struct rpmh_vreg *vreg =3D rdev_get_drvdata(rdev); + struct tcs_cmd cmd =3D { + .addr =3D vreg->addr + RPMH_REGULATOR_REG_VRM_VOLTAGE, + }; + int ret; + + ret =3D rpmh_read(vreg->dev, &cmd); + if (!ret) + *uV =3D (cmd.data & RPMH_REGULATOR_VOLTAGE_MASK) * 1000; + else + dev_err(vreg->dev, "failed to read VOLTAGE ret =3D %d\n", ret); + + return ret; +} + static int rpmh_regulator_vrm_get_voltage_sel(struct regulator_dev *rdev) { struct rpmh_vreg *vreg =3D rdev_get_drvdata(rdev); + int ret, uV =3D 0; + + if (vreg->voltage_selector < 0) { + ret =3D _rpmh_regulator_vrm_get_voltage(rdev, &uV); + if (!ret && uV !=3D 0) + vreg->voltage_selector =3D regulator_map_voltage_linear_range(rdev, + uV, INT_MAX); + } =20 return vreg->voltage_selector; } @@ -336,6 +367,22 @@ static int rpmh_regulator_vrm_set_mode(struct regulato= r_dev *rdev, return ret; } =20 +static int rpmh_regulator_vrm_get_pmic_mode(struct rpmh_vreg *vreg, int *p= mic_mode) +{ + struct tcs_cmd cmd =3D { + .addr =3D vreg->addr + RPMH_REGULATOR_REG_VRM_MODE, + }; + int ret; + + ret =3D rpmh_read(vreg->dev, &cmd); + if (!ret) + *pmic_mode =3D cmd.data & RPMH_REGULATOR_MODE_MASK; + else + return -EINVAL; + + return 0; +} + static unsigned int rpmh_regulator_vrm_get_mode(struct regulator_dev *rdev) { struct rpmh_vreg *vreg =3D rdev_get_drvdata(rdev); @@ -540,6 +587,73 @@ static int rpmh_regulator_init_vreg(struct rpmh_vreg *= vreg, struct device *dev, return 0; } =20 +static int rpmh_regulator_determine_initial_mode(struct rpmh_vreg *vreg) +{ + struct tcs_cmd cmd =3D { + .addr =3D vreg->addr + RPMH_REGULATOR_REG_ENABLE, + }; + int ret, pmic_mode, mode; + int sts; + + ret =3D rpmh_read(vreg->dev, &cmd); + if (ret) { + dev_err(vreg->dev, "failed to read ENABLE status ret =3D %d\n", ret); + + return ret; + } + + sts =3D cmd.data & RPMH_REGULATOR_ENABLE_MASK; + if (!sts) + return 0; + + if (vreg->hw_data->regulator_type =3D=3D XOB) + return 0; + + ret =3D rpmh_regulator_vrm_get_pmic_mode(vreg, &pmic_mode); + if (ret < 0) { + vreg->mode =3D REGULATOR_MODE_INVALID; + dev_err(vreg->dev, "failed to read pmic_mode ret =3D %d\n", ret); + + return ret; + } + + /* + * NOTE: Since BOB4 BYPASS_MODE value =3D 0 we cannot confirm if that BOB + * regulator has been sent into bypass mode by bootloader or if bootloader + * just has not requested for any mode voting. Due this limitation, we + * must check if the read pmic_mode value is non-zero before comparing it + * to bypass mode value. This also is needed to avoid setting BYPASS stat= us + * for LDOs which dont support bypass mode, and have the pmic_bypass_mode + * uninitialized value as zero in the vreg hw data. For such cases assume + * lowest mode, if pmic_mode is zero, to allow for mode voting. + */ + if (!pmic_mode) { + for (mode =3D REGULATOR_MODE_STANDBY; mode > REGULATOR_MODE_INVALID; mod= e >>=3D 1) { + if (vreg->hw_data->pmic_mode_map[mode] >=3D 0) { + vreg->mode =3D mode; + break; + } + } + + return 0; + } + + if (vreg->hw_data->pmic_bypass_mode =3D=3D pmic_mode) { + vreg->bypassed =3D true; + + return 0; + } + + for (mode =3D REGULATOR_MODE_STANDBY; mode > REGULATOR_MODE_INVALID; mode= >>=3D 1) { + if (pmic_mode =3D=3D vreg->hw_data->pmic_mode_map[mode]) { + vreg->mode =3D mode; + break; + } + } + + return 0; +} + static const int pmic_mode_map_pmic4_ldo[REGULATOR_MODE_STANDBY + 1] =3D { [REGULATOR_MODE_INVALID] =3D -EINVAL, [REGULATOR_MODE_STANDBY] =3D PMIC4_LDO_MODE_RETENTION, @@ -1838,6 +1952,12 @@ static int rpmh_regulator_probe(struct platform_devi= ce *pdev) vreg_data); if (ret < 0) return ret; + + ret =3D rpmh_regulator_determine_initial_mode(vreg); + if (ret < 0) + dev_err(dev, "failed to read initial mode for %s\n", + vreg->rdesc.name); + } =20 return 0; --=20 2.43.0 From nobody Fri Oct 2 12:22:34 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B88AD38887B for ; Sat, 1 Aug 2026 08:01:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571264; cv=none; b=GPxZVPp/x8DAaJ9PdQew4sGJr0fhy3ITqcE2dfrJJktFvZBrFCjC4wvFTT79QpRU+8FiV8yIHxax2WPO19cDJrWkQkl4W++uGpAYLeRO4rkv3YWDPFEgZ9zcbMI7h+Il0V6lyl+tDLnDpVS5euFQwCsQq+YLHW5Dk6n0El2x31w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785571264; c=relaxed/simple; bh=tO/UbORkYQRu2GyZWsd5lIQjSIfPDRDF6k5spd1aUaU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rSc4LvJ00MZura4ZvMV66b2jGL9gRy6LUoL0bMTdN4K12p57Mduut1xMysa/cb3D8rG2og7FDaI5HLb1uaaYgxfDb3mbqv7HMA8/4g2bCsALumFz8YSF3tYmHr2LBCAxTuwTDkU/GrlyJbL6PIOwzBs2+ACBgYOoFfEBkGh03hM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=eIx1wPuc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RhiRZtIN; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="eIx1wPuc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RhiRZtIN" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6714Bmko1780560 for ; Sat, 1 Aug 2026 08:01:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= XfffiHlcHMLga+lw3u6634PXzQHs72n/jaqHfMgjoHs=; b=eIx1wPuc1iKcn7z0 9skC3AGl3GS/XeWeRsrGPDfMVp+hoyDx9uk7bqhEtXGxcj3CTQ/A/YuBoya7+BVo DCsW6az9tdNKUDYtDt0ySe0KNlbB7XM+rW6utp5lZr54WV7dJ4CDG/IJ5nEvUiKG wBbOX4N8Vt4PSUH1j8XXU94K/AdeL4xa7Ook+AYTAs0Rl1JGkQXE13NBVCJlHeML I/xRmN2Vv2B2WQbQbsdXDYKl3DvHJTjsCK+ugrqHDYMbWrCabtnKNE5YQFHss8wk bEJo4iKWvBlzhdDOKtuxVwcj3aSAfOnQO3YSZI2+cHJsZbVkEi1FyfTLhZ7TrPko joZveA== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fs9jfrcmg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 01 Aug 2026 08:01:01 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38e7b87ce77so4490956a91.0 for ; Sat, 01 Aug 2026 01:01:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785571261; x=1786176061; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=XfffiHlcHMLga+lw3u6634PXzQHs72n/jaqHfMgjoHs=; b=RhiRZtINfMd2ZdnUXkfk8PYkv//vRFh3oc2F4Vs/4MF9WYHqrkHbEQvY5V+0B6w/xN FA2Bz7uDmqF0Jav69D93Je4eVbVQ8lhXKpCD5zozPgKQhDnhSDPS6nlH5i2R36UaFhF/ i6Cqon8NM9wBuOs/vj/0vhnfeLmCdzU7oNSzZk/1jVoEvMq0JmC73yHH77cdDfjqHba+ iO4w6UkzOtaT+BjIVQEffPmM95v9mpGGI1kgQgE8nS1QwVl9FKpK81Zajo9eMDHvCyJn SVJl116/gEmQb2fb4WMfjx3L8ozQ2GfsTgDeYIXxVbbLpOCzXWTq+MPqtzJCQAtazP5D fzpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785571261; x=1786176061; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=XfffiHlcHMLga+lw3u6634PXzQHs72n/jaqHfMgjoHs=; b=dFM0omIZX8q5jUKqRS/xO8qwPg/4hDl6WdR7R3XOcPG76xDBKwKEe42FC1D1rzfxR5 CsLkaQm9Xfh5PyI2Y6zLNpEBUw1wzuT7XRSbLN+BHMsbc/IiTaHMAB4EnCkmxmt3fGJU xFDBq9BC8NPNCYthVIQ/hIiUeDlPFfmae/jK7tfzMTiylHffm2tax54mJ93UScxXYTTp uwyXH4aOqJwHlcznvv0KylHYJjRCXrYNO8iLml1oZk+SmUzi7PSZ9FM+kQ00l1yWX1tI Uo0fmorQan2ifMMtW2Qy0iaWWVuLsXtP4nCzeW5By1LfK1ktSHJ2NyOzodChaey1vGmJ xDLg== X-Forwarded-Encrypted: i=1; AHgh+RpZp6PWXdXYDVeKNe9g0OuQaryqpVMeaKx4mcMB8Eag+I1jmtC/1noOiOzi7rxvWPTzNT4EfDX99wbtyLQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4WqYoe3UkDlKniRg0k8AFwZWAi+1weLW9U/20VbZx9uI03L4h xM48iJ8l4x/aW+TUDZHxJxUc4EeelyRCv+1N4qTQZCqC+JlGPs+IxjZaR7hLd9a+QsgwrfZHA3l Y15IQ5wQWJFw6AonQD0UDnLE5eZ9NUEjFu8p+CQBpy1BLr9twtQMC0D6L8x4uwe9nWjk= X-Gm-Gg: AR+sD12L7vdfhGStsDbHeQkpbILsq8R9qizvSOh0VbHrqlN0i7M6bLt4RMiYVD0dZPZ IlHEmXi3CQmQ7glwfyrw90tji36wAHbETQqU/wXAUWaZN0i0jQeeq2NEzFirapE9Hv9xfNi6QyJ 5/KKoEGmQwqSZjR9PjYqeaHyvxVXQbzkZ2Xr6wij2mlrDePYfOc7/rCs86USnGrz0KVyBST64+E kCovOc+llC42Ge+B/9ak/NICYDlOWBNWxpmeHY9mOghkDb/mochEp7s9/bdE6/2526zxWhdBO1r I6bM7MtHIq+on2r+XXkhvJMzRvO5ZUHOpGafaXhMclxdQ2UmsBY/cnpGHpcMF50ZA2/TqZUMxL1 FbAuF9/nclip0EOFW1V16adWGqAV/Pw== X-Received: by 2002:a17:90b:1c91:b0:38e:69b5:5386 with SMTP id 98e67ed59e1d1-38fbc53bde2mr2650493a91.33.1785571261344; Sat, 01 Aug 2026 01:01:01 -0700 (PDT) X-Received: by 2002:a17:90b:1c91:b0:38e:69b5:5386 with SMTP id 98e67ed59e1d1-38fbc53bde2mr2650435a91.33.1785571260291; Sat, 01 Aug 2026 01:01:00 -0700 (PDT) Received: from hu-kamalw-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3153e18e114sm24739838eec.28.2026.08.01.01.00.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Aug 2026 01:00:59 -0700 (PDT) From: Kamal Wadhwa Date: Sat, 01 Aug 2026 13:30:30 +0530 Subject: [PATCH v6 4/4] regulator: qcom-rpmh: Fix coding style issues 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: <20260801-b4-read-rpmh-v5-v6-4-9fcb54928523@oss.qualcomm.com> References: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> In-Reply-To: <20260801-b4-read-rpmh-v5-v6-0-9fcb54928523@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Liam Girdwood , Mark Brown , Vinod Koul Cc: Kamal Wadhwa , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785571241; l=1010; i=kamal.wadhwa@oss.qualcomm.com; s=20260406; h=from:subject:message-id; bh=tO/UbORkYQRu2GyZWsd5lIQjSIfPDRDF6k5spd1aUaU=; b=DGztfFQVOi9xI5FiPYjngOxoCFJ29tqeCDSWi6jya8M3pYxQe8r3PMK5V22UvfrMdR9HHrgsm VpirXwrnlfqDUI7jLd6sitkuMECPVvmD4mOgV5HEIoJQ8kQH1sOAunE X-Developer-Key: i=kamal.wadhwa@oss.qualcomm.com; a=ed25519; pk=ylH1NxUZkBpYsmww89g6zVxpS0q8qthtzcORkYxn/Ag= X-Proofpoint-GUID: Ot81tUWMsbPqNvfR4UDfXRTB89ZJxlST X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfX3CQQKhGx1n99 BrjG5qKk4NPEu64SPALDNLyE+nfc8UjdLKaB5JPDqtZiyoJENditcxo4nKDkAokFRM+CPSzvOmT ooWHNscxIViYfutqLdJrlghmAMWkToX0z3Ge418Ln3PTKQHFHEyRtYcXxQ3Q9ZNjJ9ZNneLbV8k 5X/ESK2WzGLC7ep9t9Lett5FMfkgW0uYSQu6uzH7sUUX+Ke9YHem2XF7kZ3lWd0oM/Jc/jXigAm WY2aLN4MfJPQLNRdnBloG7Ac/I0ObpPFS6mIn1qtCyZhg/4llrIVrzBantx1Y2F/aWOUerq7caQ vtYhaG7TnypfWBZ5K9YOveyXDJTtqFcN/VZhWQfIbdm7KERQPB9bD1aNyuTvlglLj1k760+2CIV gwmlpTBZl1pDPMFHyHU9ZOM+k42yNX+OrFoHzoYNpCAyHu8mwT9jw4qXUbxhZTdkAOUCsAwvU6d hVYCT446XpAGqCgqSkA== X-Authority-Analysis: v=2.4 cv=TYSmcxQh c=1 sm=1 tr=0 ts=6a6da7bd cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=5CyPyIk1yY-pfn5d-v8A:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-ORIG-GUID: Ot81tUWMsbPqNvfR4UDfXRTB89ZJxlST X-Proofpoint-Spam-Info: AW1haW4tMjYwODAxMDA1NyBTYWx0ZWRfX1f6JLfZsSYB2 ctP1LJxILwoQNkLNnhmH67Cms676LFAq2KR2zZP+fnz8AQjxi7NlalMSwlzEainItZlidrJQkCI gvrFPFgEYUNUWX14YSpxqXlyPfcvYx8= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-31_07,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608010057 Fix the code style/format issues reported by checkpatch.pl script. Reviewed-by: Dmitry Baryshkov Signed-off-by: Kamal Wadhwa --- drivers/regulator/qcom-rpmh-regulator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qc= om-rpmh-regulator.c index 77d402ee6bf6..250b2c6bb795 100644 --- a/drivers/regulator/qcom-rpmh-regulator.c +++ b/drivers/regulator/qcom-rpmh-regulator.c @@ -110,7 +110,7 @@ static const struct resource_name_formats vreg_rsc_name= _lookup[NUM_REGULATOR_TYP * regulator * @ops: Pointer to regulator ops callback structure * @voltage_ranges: The possible ranges of voltages supported by this - * PMIC regulator type + * PMIC regulator type * @n_linear_ranges: Number of entries in voltage_ranges * @n_voltages: The number of unique voltage set points defined * by voltage_ranges --=20 2.43.0