RE: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series

Bough Chen
2021-11-23T04:31:55Z

[-- Attachment #1: Type: text/plain, Size: 4780 bytes --]

> -----Original Message-----
> From: Jesse Taube [mailto:mr.bossman075@gmail.com]
> Sent: 2021年11月23日 11:14
> To: Bough Chen <haibo.chen@nxp.com>; dl-linux-imx <linux-imx@nxp.com>
> Cc: mturquette@baylibre.com; sboyd@kernel.org; robh+dt@kernel.org;
> shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de;
> festevam@gmail.com; ulf.hansson@linaro.org; Aisheng Dong
> <aisheng.dong@nxp.com>; stefan@agner.ch; linus.walleij@linaro.org;
> gregkh@linuxfoundation.org; arnd@arndb.de; olof@lixom.net;
> soc@kernel.org; linux@armlinux.org.uk; Abel Vesa <abel.vesa@nxp.com>;
> adrian.hunter@intel.com; jirislaby@kernel.org;
> giulio.benetti@benettiengineering.com; nobuhiro1.iwamatsu@toshiba.co.jp;
> linux-clk@vger.kernel.org; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> linux-mmc@vger.kernel.org; linux-gpio@vger.kernel.org;
> linux-serial@vger.kernel.org
> Subject: Re: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for
> i.MXRT series
>
>
>
> On 11/2/21 22:19, Bough Chen wrote:
> >> -----Original Message-----
> >> From: Jesse Taube [mailto:mr.bossman075@gmail.com]
> >> Sent: 2021年11月3日 6:57
> >> To: dl-linux-imx <linux-imx@nxp.com>
> >> Cc: mturquette@baylibre.com; sboyd@kernel.org; robh+dt@kernel.org;
> >> shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de;
> >> festevam@gmail.com; ulf.hansson@linaro.org; Aisheng Dong
> >> <aisheng.dong@nxp.com>; stefan@agner.ch; linus.walleij@linaro.org;
> >> gregkh@linuxfoundation.org; arnd@arndb.de; olof@lixom.net;
> >> soc@kernel.org; linux@armlinux.org.uk; Abel Vesa <abel.vesa@nxp.com>;
> >> adrian.hunter@intel.com; jirislaby@kernel.org;
> >> giulio.benetti@benettiengineering.com;
> >> nobuhiro1.iwamatsu@toshiba.co.jp; Mr.Bossman075@gmail.com;
> >> linux-clk@vger.kernel.org; devicetree@vger.kernel.org;
> >> linux-arm-kernel@lists.infradead.org;
> >> linux-kernel@vger.kernel.org; linux-mmc@vger.kernel.org;
> >> linux-gpio@vger.kernel.org; linux-serial@vger.kernel.org; Jesse Taube
> >> <mr.bossman075@gmail.com>
> >> Subject: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for
> > i.MXRT
> >> series
> >>
> >> From: Jesse Taube <mr.bossman075@gmail.com>
> >>
> >> Add support for i.MXRT1050's sdhc.
> >>
> >> Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
> >> Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>---
> >> V1->V2:
> >> * Nothing done
> >> ---
> >> drivers/mmc/host/sdhci-esdhc-imx.c | 7 +++++++
> >> 1 file changed, 7 insertions(+)
> >>
> >> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c
> >> b/drivers/mmc/host/sdhci-esdhc-imx.c
> >> index afaf33707d46..c852a6df5611 100644
> >> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> >> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> >> @@ -305,6 +305,12 @@ static struct esdhc_soc_data usdhc_imx7ulp_data
> = {
> >> | ESDHC_FLAG_PMQOS | ESDHC_FLAG_HS400
> >> | ESDHC_FLAG_STATE_LOST_IN_LPMODE,
> >> };
> >> +static struct esdhc_soc_data usdhc_imxrt_data = {
> >> + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING
> >> + | ESDHC_FLAG_HS200 | ESDHC_FLAG_ERR004536
> >> + | ESDHC_FLAG_BROKEN_AUTO_CMD23,
> >> +};
> >> +
> >
> > Hi Jesse,
> > I have few question here.
> > Why only use manual tuning here? Does this usdhc don't support
> > standard tuning? or meet any issue when use standard tuning?
> No std tuning works, so does cmd23, i changed it to use them.

Okay.

> > Please also double check why not use ADMA in default? Any issue
> > found?
> Yes this is the output with ADMA:
> [0.00] mmc0: Unable to allocate ADMA buffers - falling back to standard DMA
> NOTE: I did not look into why this occurs.

If you config enough space for CMA or DMA pool, I think dma_alloc_corherent() should not meet issue.
ADMA descriptor do not large than one page(4KB). This is not big. Seems strange.

Please double check this. If this is really a limitation on imxRT, I'm okay to use SDMA as default.

Best Regards
Haibo chen
> >
> >
> > Best Regards
> > Haibo Chen
> >>
> >> static struct esdhc_soc_data usdhc_imx8qxp_data = {
> >> .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING @@
> -357,6
> >> +363,7 @@ static const struct of_device_id imx_esdhc_dt_ids[] = {
> >> { .compatible = "fsl,imx7ulp-usdhc", .data = &usdhc_imx7ulp_data, },
> >> { .compatible = "fsl,imx8qxp-usdhc", .data =
> &usdhc_imx8qxp_data, },
> >> { .compatible = "fsl,imx8mm-usdhc", .data =
> &usdhc_imx8mm_data, },
> >> + { .compatible = "fsl,imxrt-usdhc", .data = &usdhc_imxrt_data, },
> >> { .compatible = "nxp,s32g2-usdhc", .data = &usdhc_s32g2_data, },
> >> { /* sentinel */ }
> >> };
> >> --
> >> 2.33.1
> >

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 9551 bytes --]