Message ID | 1565252928-28994-1-git-send-email-eugen.hristev@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] mmc: sdhci-of-at91: add quirk for broken HS200 | expand |
On Thu, Aug 08, 2019 at 10:35:40AM +0200, Eugen Hristev - M18282 wrote: > From: Eugen Hristev <eugen.hristev@microchip.com> > > HS200 is not implemented in the driver, but the controller claims it > through caps. > Remove it via quirk. > Without this quirk, the mmc core will try to enable hs200, which will fail, > and the eMMC initialization will fail. > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com> Thanks Ludovic > --- > drivers/mmc/host/sdhci-of-at91.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c > index 57fe3b2..3a8c6d8 100644 > --- a/drivers/mmc/host/sdhci-of-at91.c > +++ b/drivers/mmc/host/sdhci-of-at91.c > @@ -370,6 +370,9 @@ static int sdhci_at91_probe(struct platform_device *pdev) > pm_runtime_set_autosuspend_delay(&pdev->dev, 50); > pm_runtime_use_autosuspend(&pdev->dev); > > + /* HS200 is broken at this moment */ > + host->quirks2 = SDHCI_QUIRK2_BROKEN_HS200; > + > ret = sdhci_add_host(host); > if (ret) > goto pm_runtime_disable; > -- > 2.7.4 >
On 8/08/19 11:35 AM, Eugen.Hristev@microchip.com wrote: > From: Eugen Hristev <eugen.hristev@microchip.com> > > HS200 is not implemented in the driver, but the controller claims it > through caps. > Remove it via quirk. > Without this quirk, the mmc core will try to enable hs200, which will fail, > and the eMMC initialization will fail. > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> > --- > drivers/mmc/host/sdhci-of-at91.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c > index 57fe3b2..3a8c6d8 100644 > --- a/drivers/mmc/host/sdhci-of-at91.c > +++ b/drivers/mmc/host/sdhci-of-at91.c > @@ -370,6 +370,9 @@ static int sdhci_at91_probe(struct platform_device *pdev) > pm_runtime_set_autosuspend_delay(&pdev->dev, 50); > pm_runtime_use_autosuspend(&pdev->dev); > > + /* HS200 is broken at this moment */ > + host->quirks2 = SDHCI_QUIRK2_BROKEN_HS200; > + > ret = sdhci_add_host(host); > if (ret) > goto pm_runtime_disable; >
On Thu, 8 Aug 2019 at 10:35, <Eugen.Hristev@microchip.com> wrote: > > From: Eugen Hristev <eugen.hristev@microchip.com> > > HS200 is not implemented in the driver, but the controller claims it > through caps. > Remove it via quirk. > Without this quirk, the mmc core will try to enable hs200, which will fail, > and the eMMC initialization will fail. > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Should this be applied as a fix and possibly tagged for stable? In such case, do you have a specific commit that it fixes? Kind regards Uffe > --- > drivers/mmc/host/sdhci-of-at91.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c > index 57fe3b2..3a8c6d8 100644 > --- a/drivers/mmc/host/sdhci-of-at91.c > +++ b/drivers/mmc/host/sdhci-of-at91.c > @@ -370,6 +370,9 @@ static int sdhci_at91_probe(struct platform_device *pdev) > pm_runtime_set_autosuspend_delay(&pdev->dev, 50); > pm_runtime_use_autosuspend(&pdev->dev); > > + /* HS200 is broken at this moment */ > + host->quirks2 = SDHCI_QUIRK2_BROKEN_HS200; > + > ret = sdhci_add_host(host); > if (ret) > goto pm_runtime_disable; > -- > 2.7.4 >
On Thu, Aug 08, 2019 at 05:23:00PM +0200, Ulf Hansson wrote: > On Thu, 8 Aug 2019 at 10:35, <Eugen.Hristev@microchip.com> wrote: > > > > From: Eugen Hristev <eugen.hristev@microchip.com> > > > > HS200 is not implemented in the driver, but the controller claims it > > through caps. > > Remove it via quirk. > > Without this quirk, the mmc core will try to enable hs200, which will fail, > > and the eMMC initialization will fail. > > > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> > > Should this be applied as a fix and possibly tagged for stable? > > In such case, do you have a specific commit that it fixes? I think so, I would say: Fixes: bb5f8ea4d514 ("mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC") Cc: stable@vger.kernel.org #v4.4 and later It doesn't apply on 4.4 but resolution is trivial. Regards Ludovic > > Kind regards > Uffe > > > --- > > drivers/mmc/host/sdhci-of-at91.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c > > index 57fe3b2..3a8c6d8 100644 > > --- a/drivers/mmc/host/sdhci-of-at91.c > > +++ b/drivers/mmc/host/sdhci-of-at91.c > > @@ -370,6 +370,9 @@ static int sdhci_at91_probe(struct platform_device *pdev) > > pm_runtime_set_autosuspend_delay(&pdev->dev, 50); > > pm_runtime_use_autosuspend(&pdev->dev); > > > > + /* HS200 is broken at this moment */ > > + host->quirks2 = SDHCI_QUIRK2_BROKEN_HS200; > > + > > ret = sdhci_add_host(host); > > if (ret) > > goto pm_runtime_disable; > > -- > > 2.7.4 > >
On Fri, 9 Aug 2019 at 10:09, Ludovic Desroches <ludovic.desroches@microchip.com> wrote: > > On Thu, Aug 08, 2019 at 05:23:00PM +0200, Ulf Hansson wrote: > > On Thu, 8 Aug 2019 at 10:35, <Eugen.Hristev@microchip.com> wrote: > > > > > > From: Eugen Hristev <eugen.hristev@microchip.com> > > > > > > HS200 is not implemented in the driver, but the controller claims it > > > through caps. > > > Remove it via quirk. > > > Without this quirk, the mmc core will try to enable hs200, which will fail, > > > and the eMMC initialization will fail. > > > > > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> > > > > Should this be applied as a fix and possibly tagged for stable? > > > > In such case, do you have a specific commit that it fixes? > > I think so, I would say: > Fixes: bb5f8ea4d514 ("mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC") > Cc: stable@vger.kernel.org #v4.4 and later > > It doesn't apply on 4.4 but resolution is trivial. > > Regards > > Ludovic > [...] Applied for fixes, by adding the above tags, thanks! Kind regards Uffe
diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c index 57fe3b2..3a8c6d8 100644 --- a/drivers/mmc/host/sdhci-of-at91.c +++ b/drivers/mmc/host/sdhci-of-at91.c @@ -370,6 +370,9 @@ static int sdhci_at91_probe(struct platform_device *pdev) pm_runtime_set_autosuspend_delay(&pdev->dev, 50); pm_runtime_use_autosuspend(&pdev->dev); + /* HS200 is broken at this moment */ + host->quirks2 = SDHCI_QUIRK2_BROKEN_HS200; + ret = sdhci_add_host(host); if (ret) goto pm_runtime_disable;