mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Mark Brown <broonie@kernel.org>, Nitin Rawat <quic_nitirawa@quicinc.com>
Cc: vkoul@kernel.org, kishon@kernel.org, mani@kernel.org,
	conor+dt@kernel.org, bvanassche@acm.org, andersson@kernel.org,
	neil.armstrong@linaro.org, dmitry.baryshkov@oss.qualcomm.com,
	konradybcio@kernel.org, krzk+dt@kernel.org,
	linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH V1 4/4] phy: qcom-qmp-ufs: read max-microamp values from device tree
Date: Thu, 7 Aug 2025 19:43:15 +0200	[thread overview]
Message-ID: <8c7f8cfc-2090-449e-b6ec-688a0021bac4@oss.qualcomm.com> (raw)
In-Reply-To: <3aa82f65-4812-4bf0-9323-96f40824a004@sirena.org.uk>

On 8/7/25 7:26 PM, Mark Brown wrote:
> On Thu, Aug 07, 2025 at 09:12:53PM +0530, Nitin Rawat wrote:
>> On 8/7/2025 7:14 PM, Mark Brown wrote:
> 
>>>> The intended use is to set the load requirement and then only en/disable
>>>> the consumer, so that the current load is updated in core (like in the
>>>> kerneldoc of _regulator_handle_consumer_enable())
> 
>>>> My question was about moving the custom parsing of
>>>> $supplyname-max-micromap introduced in this patch into the regulator
>>>> core, as this seems like a rather common problem.
> 
>>> Wait, is this supposed to be some new property that you want to
>>> standardise?  I didn't see a proposal for that, it's not something that
>>> currently exists - the only standard properties that currently exist are
>>> for the regulator as a whole.
> 
>> The UFS QMP PHY driver is not the first client to use regulator_set_load or
>> alternatively set load requirements and invoke enable/disable or
>> alternatively
> 
> The issue isn't using regulator_set_load(), that's perfectly fine and
> expected.  The issue is either reading the value to use from the
> constraint information (which is just buggy) or adding a generic
> property for this (which I'm not convinced is a good idea, I'd expect a
> large propoprtion of drivers should just know what their requirements
> are and that a generic property would just get abused).
> 
>> These drivers also define corresponding binding properties, as seen in the
>> UFS instances documented here:
> 
>> UFS Common DT Binding ((link - https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/ufs/ufs-common.yaml?h=next-20250807)
> 
> Note that that's specifying OPPs which is different...

The microamp properties are in the top-level, not under OPP if
that's what you meant

Or are you perhaps suggesting that any device requiring explicit
current requirement settings, should do so through an OPP table
(perhaps a degenerated one with just a single entry detailling
the single requirement most of the time)?

>> There was a previous effort to introduce similar properties
>> (vdda-phy-max-microamp and vdda-pll-max-microamp) in the device tree
>> bindings.
>> Link - (link- https://patchwork.kernel.org/project/linux-arm-msm/patch/20220418205509.1102109-3-bhupesh.sharma@linaro.org/#24820481)
> 
> That patch also fails to supply any rationale for making this board
> specific or generally putting them in the DT, AFAICT it's one of these
> things just pulled out of the vendor tree without really thinking about
> it.  The changelog just says the properties are in downstream DTs.
> 
>> Currently, the regulator framework does support automatic aggregation of
>> load requests from multiple client drivers. Therefore, it is reasonable and
>> necessary for each client to individually communicate its expected runtime
>> load to the regulator framework to put the regulators in current
>> operation mode.
> 
> That doesn't mean that it's a good idea to put that information in the
> DT, nor if it is sensible to put in DT does it mean that it's a good
> idea to define a generic property that applies to all regulator
> consumers which is what I now think Konrad is proposing.

Yeah, that's what I had in mind

I was never able to get a reliable source for those numbers myselfe
either.. At least some of them are prooooobably? chosen based on the
used regulator type, to ensure it's always in HPM..

That said, our drivers cover a wide variety of hardware, built on a
wide variety of process nodes, with different configurations, etc.,
so it's either polluting the DT, or polluting the driver with
per-compatible hardcoded data (and additional compatibles because
fallbacks wouldn't work most of the time)

Konrad 

  parent reply	other threads:[~2025-08-07 17:43 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-06 15:43 [PATCH V1 0/4] Add support to configure regulator load for UFS QMP PHY Nitin Rawat
2025-08-06 15:43 ` [PATCH V1 1/4] dt-bindings: phy: Add max-microamp properties for PHY and PLL supplies Nitin Rawat
2025-08-08  7:28   ` Krzysztof Kozlowski
2025-08-11 15:20   ` Bjorn Andersson
2025-08-06 15:43 ` [PATCH V1 2/4] arm64: dts: qcom: sm8750: add max-microamp for UFS " Nitin Rawat
2025-08-08  7:29   ` Krzysztof Kozlowski
2025-08-08  8:58     ` Konrad Dybcio
2025-08-08  9:39       ` Krzysztof Kozlowski
2025-08-08 15:19         ` Nitin Rawat
2025-08-09 11:07           ` Manivannan Sadhasivam
2025-08-11 19:55             ` Nitin Rawat
2025-08-12 10:52               ` Dmitry Baryshkov
2025-08-12 11:38                 ` 回复: " yizhijiao2025
2025-08-13 20:47                 ` Nitin Rawat
2025-08-11 15:25   ` Bjorn Andersson
2025-08-06 15:43 ` [PATCH V1 3/4] arm64: dts: qcom: sm8650: " Nitin Rawat
2025-08-06 15:43 ` [PATCH V1 4/4] phy: qcom-qmp-ufs: read max-microamp values from device tree Nitin Rawat
2025-08-06 15:58   ` Konrad Dybcio
2025-08-06 16:51     ` Mark Brown
2025-08-07 13:06       ` Konrad Dybcio
2025-08-07 13:44         ` Mark Brown
2025-08-07 15:42           ` Nitin Rawat
2025-08-07 17:26             ` Mark Brown
2025-08-07 17:35               ` Nitin Rawat
2025-08-07 17:43                 ` Mark Brown
2025-08-07 17:56                   ` Nitin Rawat
2025-08-07 18:45                     ` Mark Brown
2025-08-07 20:45                       ` Nitin Rawat
2025-08-08  7:25                         ` Krzysztof Kozlowski
2025-08-07 17:43               ` Konrad Dybcio [this message]
2025-08-07 18:09                 ` Nitin Rawat
2025-08-07 19:09                 ` Mark Brown
2025-08-11 15:50                   ` Bjorn Andersson
2025-08-11 16:14                     ` Mark Brown
2025-08-11 19:48                     ` Nitin Rawat
2025-08-13 21:01                       ` Nitin Rawat
2025-08-08 12:33   ` Manivannan Sadhasivam
2025-08-09  7:30   ` Dmitry Baryshkov
2025-08-11 19:49     ` Nitin Rawat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8c7f8cfc-2090-449e-b6ec-688a0021bac4@oss.qualcomm.com \
    --to=konrad.dybcio@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=broonie@kernel.org \
    --cc=bvanassche@acm.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=kishon@kernel.org \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=mani@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=quic_nitirawa@quicinc.com \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®