[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250423135617.GA227946-robh@kernel.org>
Date: Wed, 23 Apr 2025 08:56:17 -0500
From: Rob Herring <robh@...nel.org>
To: Nitin Rawat <quic_nitirawa@...cinc.com>
Cc: alim.akhtar@...sung.com, avri.altman@....com, bvanassche@....org,
krzk+dt@...nel.org, mani@...nel.org, conor+dt@...nel.org,
James.Bottomley@...senpartnership.com, martin.petersen@...cle.com,
beanhuo@...ron.com, peter.wang@...iatek.com,
linux-arm-msm@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH V1 3/3] scsi: ufs: qcom: Add support to disable UFS LPM
Feature
On Wed, Apr 23, 2025 at 01:14:27AM +0530, Nitin Rawat wrote:
>
>
> On 4/22/2025 6:15 PM, Rob Herring wrote:
> > On Thu, Apr 17, 2025 at 06:16:45PM +0530, Nitin Rawat wrote:
> > > There are emulation FPGA platforms or other platforms where UFS low
> > > power mode is either unsupported or power efficiency is not a critical
> > > requirement.
> > >
> > > Disable all low power mode UFS feature based on the "disable-lpm" device
> > > tree property parsed in platform driver.
> > >
> > > Signed-off-by: Nitin Rawat <quic_nitirawa@...cinc.com>
> > > ---
> > > drivers/ufs/host/ufs-qcom.c | 15 ++++++++-------
> > > 1 file changed, 8 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
> > > index 1b37449fbffc..1024edf36b68 100644
> > > --- a/drivers/ufs/host/ufs-qcom.c
> > > +++ b/drivers/ufs/host/ufs-qcom.c
> > > @@ -1014,13 +1014,14 @@ static void ufs_qcom_set_host_caps(struct ufs_hba *hba)
> > >
> > > static void ufs_qcom_set_caps(struct ufs_hba *hba)
> > > {
> > > - hba->caps |= UFSHCD_CAP_CLK_GATING | UFSHCD_CAP_HIBERN8_WITH_CLK_GATING;
> > > - hba->caps |= UFSHCD_CAP_CLK_SCALING | UFSHCD_CAP_WB_WITH_CLK_SCALING;
> > > - hba->caps |= UFSHCD_CAP_AUTO_BKOPS_SUSPEND;
> > > - hba->caps |= UFSHCD_CAP_WB_EN;
> > > - hba->caps |= UFSHCD_CAP_AGGR_POWER_COLLAPSE;
> > > - hba->caps |= UFSHCD_CAP_RPM_AUTOSUSPEND;
> > > -
> > > + if (!hba->disable_lpm) {
> > > + hba->caps |= UFSHCD_CAP_CLK_GATING | UFSHCD_CAP_HIBERN8_WITH_CLK_GATING;
> > > + hba->caps |= UFSHCD_CAP_CLK_SCALING | UFSHCD_CAP_WB_WITH_CLK_SCALING;
> > > + hba->caps |= UFSHCD_CAP_AUTO_BKOPS_SUSPEND;
> > > + hba->caps |= UFSHCD_CAP_WB_EN;
> > > + hba->caps |= UFSHCD_CAP_AGGR_POWER_COLLAPSE;
> > > + hba->caps |= UFSHCD_CAP_RPM_AUTOSUSPEND;
> > > + }
> >
> > Doesn't RuntimePM already have userspace controls? And that's a Linux
> > feature that shouldn't really be controlled by DT. I think this property
> > should still to things defined by the UFS spec.
>
> Hi Rob,
> Yes userspace has runtime PM control but by the time UFS driver probes
> completes and userspace is up, there are chances runtime PM may get kicked
> in.
That sounds like a problem more than 1 device would have...
Rob
Powered by blists - more mailing lists