Messages in this thread | | | Date | Wed, 17 Dec 2014 12:42:25 -0800 | From | Scott Branden <> | Subject | Re: [PATCH v2] mmc: sdhci: add quirk for ACMD23 broken |
| |
Hi Chris,
We'll finish off cleaning up our driver that uses this patch for review then.
Thanks, Scott
On 14-12-17 11:48 AM, Chris Ball wrote: > Hi Scott, sorry for the delay, > > On Fri, Dec 05 2014, Scott Branden wrote: >> Add quirk to handle broken auto-CMD23. >> Some controllers do not respond after the first auto-CMD23 is issued. >> >> This allows CMD23 to still work (mandatory for the faster UHS-I mode) >> rather than disabling CMD23 entirely via SDHCI_QUIRK2_HOST_NO_CMD23. >> >> Signed-off by: Corneliu Doban <cdoban@broadcom.com> >> Signed-off-by: Scott Branden <sbranden@broadcom.com> >> --- >> drivers/mmc/host/sdhci.c | 3 ++- >> include/linux/mmc/sdhci.h | 2 ++ >> 2 files changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c >> index ada1a3e..b37331f 100644 >> --- a/drivers/mmc/host/sdhci.c >> +++ b/drivers/mmc/host/sdhci.c >> @@ -2985,7 +2985,8 @@ int sdhci_add_host(struct sdhci_host *host) >> /* Auto-CMD23 stuff only works in ADMA or PIO. */ >> if ((host->version >= SDHCI_SPEC_300) && >> ((host->flags & SDHCI_USE_ADMA) || >> - !(host->flags & SDHCI_USE_SDMA))) { >> + !(host->flags & SDHCI_USE_SDMA)) && >> + !(host->quirks2 & SDHCI_QUIRK2_ACMD23_BROKEN)) { >> host->flags |= SDHCI_AUTO_CMD23; >> DBG("%s: Auto-CMD23 available\n", mmc_hostname(mmc)); >> } else { >> diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h >> index dba793e..d979cf9 100644 >> --- a/include/linux/mmc/sdhci.h >> +++ b/include/linux/mmc/sdhci.h >> @@ -100,6 +100,8 @@ struct sdhci_host { >> #define SDHCI_QUIRK2_BROKEN_DDR50 (1<<7) >> /* Stop command (CMD12) can set Transfer Complete when not using MMC_RSP_BUSY */ >> #define SDHCI_QUIRK2_STOP_WITH_TC (1<<8) >> +/* Controller broken with using ACMD23 */ >> +#define SDHCI_QUIRK2_ACMD23_BROKEN (1<<9) >> >> int irq; /* Device IRQ */ >> void __iomem *ioaddr; /* Mapped address */ > > This patch doesn't apply the quirk to any chipsets, so the patch > doesn't actually change any behavior when run on a mainline kernel. > Do you have a patch to apply the quirk to your chipset too? We don't > typically accept patches that "don't do anything" for mainline users, > so that's why we'd like to see the chipset patch too. > > Thanks, > > - Chris. >
| |