[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM6PR04MB65752A87CA471D9D76BB75EEFCF40@DM6PR04MB6575.namprd04.prod.outlook.com>
Date: Tue, 1 Dec 2020 07:00:21 +0000
From: Avri Altman <Avri.Altman@....com>
To: Stanley Chu <stanley.chu@...iatek.com>,
"Asutosh Das (asd)" <asutoshd@...eaurora.org>
CC: Bjorn Andersson <bjorn.andersson@...aro.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"alim.akhtar@...sung.com" <alim.akhtar@...sung.com>,
"jejb@...ux.ibm.com" <jejb@...ux.ibm.com>,
"beanhuo@...ron.com" <beanhuo@...ron.com>,
"cang@...eaurora.org" <cang@...eaurora.org>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"bvanassche@....org" <bvanassche@....org>,
"linux-mediatek@...ts.infradead.org"
<linux-mediatek@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"nguyenb@...eaurora.org" <nguyenb@...eaurora.org>,
"kuohong.wang@...iatek.com" <kuohong.wang@...iatek.com>,
"peter.wang@...iatek.com" <peter.wang@...iatek.com>,
"chun-hung.wu@...iatek.com" <chun-hung.wu@...iatek.com>,
"andy.teng@...iatek.com" <andy.teng@...iatek.com>,
"chaotian.jing@...iatek.com" <chaotian.jing@...iatek.com>,
"cc.chou@...iatek.com" <cc.chou@...iatek.com>,
"jiajie.hao@...iatek.com" <jiajie.hao@...iatek.com>,
"alice.chao@...iatek.com" <alice.chao@...iatek.com>
Subject: RE: [RFC PATCH v1] scsi: ufs: Remove pre-defined initial VCC voltage
values
> > >>>> Hi Stanley
> > >>>>
> > >>>> Thanks for the patch. Bao (nguyenb) was also working towards
> something
> > >>>> similar.
> > >>>> Would it be possible for you to take into account the scenario in
> which the
> > >>>> same platform supports both 2.x and 3.x UFS devices?
> > >>>>
> > >>>> These've different voltage requirements, 2.4v-3.6v.
> > >>>> I'm not sure if standard dts regulator properties can support this.
> > >>>>
> > >>>
> > >>> What is the actual voltage requirement for these devices and how
> does
> > >>> the software know what voltage to pick in this range?
> > >>>
> > >>> Regards,
> > >>> Bjorn
> > >>>
> > >>>> -asd
> > >>>>
> > >>>>
> > >>>> --
> > >>>> The Qualcomm Innovation Center, Inc. is a member of the Code
> Aurora Forum,
> > >>>> Linux Foundation Collaborative Project
> > >>
> > >> For platforms that support both 2.x (2.7v-3.6v) and 3.x (2.4v-2.7v), the
> > >> voltage requirements (Vcc) are 2.4v-3.6v. The software initializes the
> > >> ufs device at 2.95v & reads the version and if the device is 3.x, it may
> > >> do the following:
> > >> - Set the device power mode to SLEEP
> > >> - Disable the Vcc
> > >> - Enable the Vcc and set it to 2.5v
> > >> - Set the device power mode to ACTIVE
> > >>
> > >> All of the above may be done at HS-G1 & moved to max supported gear
> > >> based on the device version, perhaps?
> > >
> > > Hi Asutosh,
> > >
> > > Thanks for sharing this idea.
> > >
> > > 1. I did not see above flow defined in UFS specifications, please
> > > correct me if I was wrong.
> > >
> > > 2. For above flow, the concern is that I am not sure if all devices
> > > supporting VCC (2.4v - 2.7v) can accept higher voltage, say 2.95v, for
> > > version detection.
> > >
> > > 3. For version detection, another concern is that I am not sure if all
> > > 3.x devices support VCC (2.4v - 2.7v) only, or in other words, I am not
> > > sure if all 2.x devices support VCC (2.7v - 3.6v) only. The above rule
> > > will break any devices not obeying this "conventions".
> > >
> > > For platforms that support both 2.x (2.7v-3.6v) and 3.x (2.4v-2.7v),
> > >
> > > It would be good for UFS drivers detecting the correct voltage if the
> > > protocol is well-defined in specifications. Until that day, any
> > > "non-standard" way may be better implemented in vendor's ops?
> > >
> > > If the vop concept works on your platform, we could still keep struct
> > > ufs_vreg and allow vendors to configure proper min_uV and max_uV to
> make
> > > regulator_set_voltage() works during VCC toggling flow. Without specific
> > > vendor configurations, min_uV and max_uV would be NULL by default
> and
> > > UFS core driver will only enable/disasble VCC regulator only without
> > > adjusting its voltage.
> > >
> >
> > I think this would work. Do you plan to implement this?
> > If not, I can take this up. Please let me know.
>
> Thanks for the understanding and support.
>
> I would like to re-post this patch to simply removing the pre-defined
> initial values of all device powers.
>
> For vop idea supporting the voltage detection way, could you please take
> it up since this would be better to fit what you need for fixing this
> issue?
Again - why vop and not a dts flag?
The platform owner is aware of which device ships on which platform, isn't it?
Thanks,
Avri
Powered by blists - more mailing lists