Message ID | 20201023122950.60903-1-fparent@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mmc: host: mtk-sd: enable recheck_sdio_irq for MT8516 SoC | expand |
On 23/10/2020 14:29, Fabien Parent 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@baylibre.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> > --- > 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, >
+ Yong Mao, Chaotian Jing On Fri, 23 Oct 2020 at 14:29, Fabien Parent <fparent@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@baylibre.com> Maybe this is a common problem, thus I am thinking that potentially we should enable the workaround for all variants? 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 > --- > 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 >
Hi Ulf, Ulf Hansson <ulf.hansson@linaro.org> writes: > + Yong Mao, Chaotian Jing > > On Fri, 23 Oct 2020 at 14:29, Fabien Parent <fparent@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@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. > > 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 > >> --- >> 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@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek
On Tue, 2020-10-27 at 13:44 +0100, Mattijs Korpershoek wrote: > Hi Ulf, > > Ulf Hansson <ulf.hansson@linaro.org> writes: > > > + Yong Mao, Chaotian Jing > > > > On Fri, 23 Oct 2020 at 14:29, Fabien Parent <fparent@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@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@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-mediatek
On Wed, 28 Oct 2020 at 08:22, yong.mao@mediatek.com <yong.mao@mediatek.com> wrote: > > On Tue, 2020-10-27 at 13:44 +0100, Mattijs Korpershoek wrote: > > Hi Ulf, > > > > Ulf Hansson <ulf.hansson@linaro.org> writes: > > > > > + Yong Mao, Chaotian Jing > > > > > > On Fri, 23 Oct 2020 at 14:29, Fabien Parent <fparent@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@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. Okay, thanks for confirming. > > > > > > > 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. Please submit a new patch to enable the "recheck_sdio_irq" flag for those variants that need it. I would also add a fixes+stable tag and add reported-by tags from Fabien and Mattijs. Kind regards Uffe > > > > > >> --- > > >> 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@lists.infradead.org > > > http://lists.infradead.org/mailman/listinfo/linux-mediatek >
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,
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@baylibre.com> --- drivers/mmc/host/mtk-sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)