[PATCH] mmc: host: mtk-sd: enable recheck_sdio_irq for MT8516 SoC

yong.mao at mediatek.com yong.mao at mediatek.com
Wed Oct 28 03:21:22 EDT 2020


On Tue, 2020-10-27 at 13:44 +0100, Mattijs Korpershoek wrote:
> Hi Ulf,
> 
> Ulf Hansson <ulf.hansson at linaro.org> writes:
> 
> > + Yong Mao, Chaotian Jing
> >
> > On Fri, 23 Oct 2020 at 14:29, Fabien Parent <fparent at baylibre.com> wrote:
> >>
> >> MT8516 SoC suffers from sometimes losing SDIO IRQs, this makes SDIO
> >> devices sometimes unstable. Make use of the new property
> >> recheck_sdio_irq to fix the SDIO stability issues on MT8516.
> >>
> >> Signed-off-by: Fabien Parent <fparent at baylibre.com>
> >
> > Maybe this is a common problem, thus I am thinking that potentially we
> > should enable the workaround for all variants?
> Not sure if this is of any help, but: we use the btmtksdio driver on a
> MT8183 soc with an Android kernel based on upstream.
> 
> With that kernel, we did not to apply this work-around in order to
> have a stable bluetooth experience (pairing with a remote controller)
> 
> However, on the MT8516 SoC, it's impossible for us to use btmtksdio
> without Fabien's fix.
> 
Yes. For mt8516 SoC,recheck_sdio_irq should be set to true for avoiding
SDIO dat1 irq lost issue. But for mt8183 SoC, it does not need recheck 
sdio irq mechanism.

> >
> > I have looped in Yong Mao (who invented the workaround) and Chaotian
> > Jing, to see if they can advise us how to proceed.
> >
> > In any case, I think we should add a stable tag and a fixes tag.
> >
> > Kind regards
> > Uffe

Hi Ulf,
Sorry. On the patch "mmc:mediatek:fix SDIO irq issue", I only consider
fixing the issue on mt8173 SoC.But for the whole MTK upstream SoC,
mt8183, mt2712, mt6779 and mt8192 does not need this mechanism,
but the other upstream Soc such as mt8135, mt8173, mt2701, mt7622, 
mt8516 and mt7620 need this recheck mechanism. And all future SoC of our
company does not need this mechanism.
If it's convenient for you, please help me to revise it.
Or I will submit a new patch to correct the value of setting.
Thanks.
> >
> >> ---
> >>  drivers/mmc/host/mtk-sd.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
> >> index a704745e5882..3dc102eefe49 100644
> >> --- a/drivers/mmc/host/mtk-sd.c
> >> +++ b/drivers/mmc/host/mtk-sd.c
> >> @@ -524,7 +524,7 @@ static const struct mtk_mmc_compatible mt7622_compat = {
> >>
> >>  static const struct mtk_mmc_compatible mt8516_compat = {
> >>         .clk_div_bits = 12,
> >> -       .recheck_sdio_irq = false,
> >> +       .recheck_sdio_irq = true,
> >>         .hs400_tune = false,
> >>         .pad_tune_reg = MSDC_PAD_TUNE0,
> >>         .async_fifo = true,
> >> --
> >> 2.28.0
> >>
> >
> > _______________________________________________
> > Linux-mediatek mailing list
> > Linux-mediatek at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-mediatek



More information about the Linux-mediatek mailing list