On Mon, Feb 10, 2020 at 4:08 AM BOUGH CHEN <haibo.chen@xxxxxxx> wrote: > > On Wed, Dec 11, 2019 at 12:32 AM Linus Walleij <linus.walleij@xxxxxxxxxx> > > wrote: > > > On Tue, Dec 3, 2019 at 1:54 PM BOUGH CHEN <haibo.chen@xxxxxxx> > > wrote: > > > > > > > +- sdhci,auto-cmd23-broken: disable the ACMD23 function of USDHC. > > > > + This is required for eMMC on imx6qpdl/imx6sx/imx7d when it use > > > > +ADMA mode. Because > > > > + for these SoC, it do not support the ACMD23 completely, only take > > > > +the 16 bit block > > > > + count from the 0x4 register (BLK_ATT) as argument for the ACMD23, > > > > +the upper 16 bit > > > > + of the CMD23's argument is ignored. This will impact the reliable > > > > +write operation > > > > + and the RPMB block write operation, because these operations need > > > > +to set the bit 31 > > > > + of the CMD23's argument. SDMA mode will default disable the > > > > +ACMD23 mode. SD card do > > > > + not has this limitation on these SoCs. > > > > > > This looks weird. > > > > > > Is the bug in the *host controller* or in *the card*? > > > > > > It looks like the card. > > > > After looking at the next patch it looks like the host controller. > > > > In that case the compatible-string should indicate what version of the IP you > > are using and if it has this bug. > > > > No special flags needed for that. > > Hi Linus, > > Yes, this is host IP limitation. I did consider the method as you suggested, > use compatible-string to distinguish. But then I notice that this host limitation > only impact the eMMC device for RPMB reliable write, for SD card, it do not > support this mode, so this hardware limitation do not impact for sd card. > This is why I use "sdhci,auto-cmd23-broken" in devicetree, only the emmc > device need to contain this in dts file. > > I double check this issue, since this auto-cmd23 will not impact the sd > performance, and it is the host IP limitation, I will chose to accept your > suggestion, will send a new patch. Should be fine, the code in the MMC core knows if what you are using is an eMMC or an SD card so you can just handle the quirk only in the eMMC case. Yours, Linus Walleij