Re: [PATCH v5 2/7] scsi: ufs-qcom: Add reset control support for host controller

cang
2019-12-17T07:10:40Z

On 2019-12-17 12:13, Vinod Koul wrote:
> Hi Can,
>
> On 17-12-19, 08:37, cang@codeaurora.org wrote:
>> On 2019-12-17 03:12, Jeffrey Hugo wrote:
>> > On Mon, Dec 16, 2019 at 12:05 PM Vinod Koul <vkoul@kernel.org> wrote:
>> > >
>> > > Hi Can,
>> > >
>> > > On 14-11-19, 22:09, Can Guo wrote:
>> > > > Add reset control for host controller so that host controller can be reset
>> > > > as required in its power up sequence.
>> > >
>> > > I am seeing a regression on UFS on SM8150-mtp with this patch. I think
>> > > Jeff is seeing same one lenove laptop on 8998.
>> >
>> > Confirmed.
>> >
>> > >
>> > > 845 does not seem to have this issue and only thing I can see is
>> > > that on
>> > > sm8150 and 8998 we define reset as:
>> > >
>> > > resets = <&gcc GCC_UFS_BCR>;
>> > > reset-names = "rst";
>> > >
>>
>> Hi Jeffrey and Vinod,
>>
>> Thanks for reporting this. May I know what kind of regression do you
>> see on
>> 8150 and 8998?
>> BTW, do you have reset control for UFS PHY in your DT?
>> See 71278b058a9f8752e51030e363b7a7306938f64e.
>>
>> FYI, we use reset control on all of our platforms and it is
>> a must during our power up sequence.
>
> Yes we do have this and additionally both the DTS describe a 'rst'
> reset
> and this patch tries to use this.
>
> Can you please tell me which platform this was tested on how the reset
> was described in DT
>
> Thanks

Hi Vinod,

If you are using the 8998's DT present on upstream, you may also need to
enable
device reset on your platform. (We usually do a device reset before call
ufshcd_hba_enable())
Given that 845 works fine, it may be the difference you have with 845.
845 has device
reset support ready in upstream code, you can check sdm845-mtp.dts.
It is same for 8150, which is a lack of device reset support in upstream
code base.

To enable UFS device reset, please see
1.
https://lore.kernel.org/linux-arm-msm/20190828191756.24312-4-bjorn.andersson@linaro.org/
2. 53a5372ce326116f3e3d3f1d701113b2542509f4

FYI, I tested the patch on 8250 and its family platforms. In my build, I
ported
change in #2 to my code base (in your case, make change to
drivers/pinctrl/qcom/pinctrl-msm8998.c) and enable the GPIO in DT like
sdm845-mtp.dts

reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;

Thanks