[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e66235a3-1bf8-1120-9391-8d3f647ab303@free.fr>
Date: Sat, 9 Feb 2019 12:49:59 +0100
From: Marc Gonzalez <marc.w.gonzalez@...e.fr>
To: Alim Akhtar <alim.akhtar@...sung.com>,
Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
Rob Herring <robh+dt@...nel.org>
Cc: Jeffrey Hugo <jhugo@...eaurora.org>,
MSM <linux-arm-msm@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Andy Gross <andy.gross@...aro.org>,
David Brown <david.brown@...aro.org>,
Evan Green <evgreen@...omium.org>,
Douglas Anderson <dianders@...omium.org>,
Avri Altman <avri.altman@....com>,
Pedro Sousa <pedrom.sousa@...opsys.com>,
Subhash Jadavani <subhashj@...eaurora.org>,
Bart Van Assche <bvanassche@....org>,
SCSI <linux-scsi@...r.kernel.org>, Hannes Reinecke <hare@...e.de>
Subject: Re: [PATCH v3 5/5] Revert "scsi: ufs: disable vccq if it's not needed
by UFS device"
Adding DT & regulator maintainers.
FTR, we are discussing the revert of patch 60f0187031c0
in the UFSHC driver.
On 09/02/2019 09:42, Alim Akhtar wrote:
> On 08/02/19 8:29 PM, Jeffrey Hugo wrote:
>
>> The evidence seems simple. We have properly described in DT all the
>> regulators that are consumed by the UFS host controller, and by
>> extension, the UFS storage chip as well.
>>
>> By default, with no kernel changes, UFS does not work.
>>
>> Marc and I debugged the issue, and found that the VCCQ regulator was not
>> being handled properly, and reverting the change we are discussing fixes
>> the VCCQ regulator issue, and, as a result, UFS works.
>
> OK, fair, before we revert this patch, Marc can you try below patch,
> or let me know if you have already tried this and share your
> result/observation:
>
> --- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
> @@ -212,6 +212,7 @@
> vreg_l26a_1p2: l26 {
> regulator-min-microvolt = <1200000>;
> regulator-max-microvolt = <1200000>;
> + regulator-always-on;
This property will make _regulator_disable() be (mostly)
a NOP for vreg_l26a_1p2. So the UFSHC driver will not
be able to disable vccq, and UFS will work.
I tested something similar by making regulator_disable()
a NOP which returns immediately. That's actually how I
found the issue in the UFSHC driver ;-)
But this is not a proper solution. This makes it impossible
to disable l26, even when there is no UFS driver, or when
the UFSHC goes into sleep mode.
>> Our analysis is that VCCQ is required and 60f0187031c05e
>> prevents the proper configuration of VCCQ, thus a required
>> resource (VCCQ) is not in the proper state.
>
> Not in proper state or vccq regulator is disabled?
The improper state is being disabled, instead of enabled.
Regards.
Powered by blists - more mailing lists