Re: [PATCH v2 2/2] soc: qcom: rpmh-rsc: Skip read requests on unsupported platforms

From: Dmitry Baryshkov

Date: Tue Oct 13 2026 - 21:13:00 EST


On Tue, Oct 13, 2026 at 10:35:06PM +0300, Dmitry Baryshkov wrote:
> On Mon, Sep 21, 2026 at 04:29:43PM +0200, Konrad Dybcio wrote:
> > On 9/11/26 11:08 AM, Maulik Shah wrote:
> > > On some platforms AOSS do not respond to read requests. Read request in
> > > such cases will consume the ACTIVE TCS but forever waits for a response
> > > blocking the subsequent write requests.
> > >
> > > Skip issuing read commands on sm8150 and sc8180x platforms. For such
> > > platforms return success to the caller with the resource level at zero
> > > to avoid the caller taking any action on error code.
> > >
> > > Fixes: edbafe65eef2 ("soc: qcom: rpmh: Add support to read back resource settings")
> > > Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
> > > ---
> >
> > This works as an immediate fix, but I'd like to get some
> > comment on this:
> >
> > https://lore.kernel.org/all/3058d570-aeb9-4f73-831c-c30626296006@xxxxxxxxxxxxxxxx/
>
> Maulik, any updates? SM8150 is still broken. Should we just revert the
> commit?

After some debugging, on SM8150 reading XOB regulators times out (at
least it applies to ldoc1). I assume that SC8180X has some kind of a
firmware fix. As far as I can see, reading SMPS or BOB regulators always
produces 0. Reading LDOs seems to work (except for the XOBs on SM8150).
I think I have a workaround.

>
> > [...]
> >
> > > DECLARE_COMPLETION_ONSTACK(compl);
> > > DEFINE_RPMH_MSG_ONSTACK(dev, RPMH_ACTIVE_ONLY_STATE, &compl, rpm_msg);
> > > + struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev);
> > > int ret;
> > >
> > > ret = __fill_rpmh_msg(&rpm_msg, RPMH_ACTIVE_ONLY_STATE, cmd, 1, true);
> > > if (ret)
> > > return ret;
> > >
> > > + if (ctrlr->no_rpmh_read) {
> > > + cmd[0].data = 0;
> > > + return 0;
> > > + }
> >
> > This should be -EOPNOTSUPP and consumers should handle it
> > appropriately

--
With best wishes
Dmitry