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

From: Bough Chen
Date: Mon Nov 22 2021 - 23:31:58 EST



> -----Original Message-----
> From: Jesse Taube [mailto:mr.bossman075@xxxxxxxxx]
> Sent: 2021年11月23日 11:14
> To: Bough Chen <haibo.chen@xxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>
> Cc: mturquette@xxxxxxxxxxxx; sboyd@xxxxxxxxxx; robh+dt@xxxxxxxxxx;
> shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx;
> festevam@xxxxxxxxx; ulf.hansson@xxxxxxxxxx; Aisheng Dong
> <aisheng.dong@xxxxxxx>; stefan@xxxxxxxx; linus.walleij@xxxxxxxxxx;
> gregkh@xxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx; olof@xxxxxxxxx;
> soc@xxxxxxxxxx; linux@xxxxxxxxxxxxxxx; Abel Vesa <abel.vesa@xxxxxxx>;
> adrian.hunter@xxxxxxxxx; jirislaby@xxxxxxxxxx;
> giulio.benetti@xxxxxxxxxxxxxxxxxxxxxx; nobuhiro1.iwamatsu@xxxxxxxxxxxxx;
> linux-clk@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> linux-mmc@xxxxxxxxxxxxxxx; linux-gpio@xxxxxxxxxxxxxxx;
> linux-serial@xxxxxxxxxxxxxxx
> 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@xxxxxxxxx]
> >> Sent: 2021年11月3日 6:57
> >> To: dl-linux-imx <linux-imx@xxxxxxx>
> >> Cc: mturquette@xxxxxxxxxxxx; sboyd@xxxxxxxxxx; robh+dt@xxxxxxxxxx;
> >> shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx;
> >> festevam@xxxxxxxxx; ulf.hansson@xxxxxxxxxx; Aisheng Dong
> >> <aisheng.dong@xxxxxxx>; stefan@xxxxxxxx; linus.walleij@xxxxxxxxxx;
> >> gregkh@xxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx; olof@xxxxxxxxx;
> >> soc@xxxxxxxxxx; linux@xxxxxxxxxxxxxxx; Abel Vesa <abel.vesa@xxxxxxx>;
> >> adrian.hunter@xxxxxxxxx; jirislaby@xxxxxxxxxx;
> >> giulio.benetti@xxxxxxxxxxxxxxxxxxxxxx;
> >> nobuhiro1.iwamatsu@xxxxxxxxxxxxx; Mr.Bossman075@xxxxxxxxx;
> >> linux-clk@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
> >> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> >> linux-kernel@xxxxxxxxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx;
> >> linux-gpio@xxxxxxxxxxxxxxx; linux-serial@xxxxxxxxxxxxxxx; Jesse Taube
> >> <mr.bossman075@xxxxxxxxx>
> >> Subject: [PATCH v2 11/13] mmc: sdhci-esdhc-imx: Add sdhc support for
> > i.MXRT
> >> series
> >>
> >> From: Jesse Taube <mr.bossman075@xxxxxxxxx>
> >>
> >> Add support for i.MXRT1050's sdhc.
> >>
> >> Cc: Giulio Benetti <giulio.benetti@xxxxxxxxxxxxxxxxxxxxxx>
> >> Signed-off-by: Jesse Taube <Mr.Bossman075@xxxxxxxxx>---
> >> 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: smime.p7s
Description: S/MIME cryptographic signature