From: Al Cooper Date: Wed, 10 Feb 2016 20:25:39 +0000 (-0500) Subject: mmc: sdhci: Allow CAPS check for SDHCI_CAN_64BIT to use overridden caps X-Git-Tag: v5.15~13962^2~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5eaa7476f93768e5c64449ba1268ba5b6a2c12e1;p=platform%2Fkernel%2Flinux-starfive.git mmc: sdhci: Allow CAPS check for SDHCI_CAN_64BIT to use overridden caps sdhci_add_host() allows the Host Controller Capability registers to be supplied by the calling driver by using SDHCI_QUIRK_MISSING_CAPS, but the check for the Capabilities bit SDHCI_CAN_64BIT doesn't use the applied value and instead reads the Host register directly. This change uses the supplied "caps" register instead of reading the host register. This change will allow a calling driver to simply clear the SDHCI_CAN_64BIT bit in "caps" to handle some cases of SDHCI_QUIRK2_BROKEN_64_BIT_DMA. Signed-off-by: Al Cooper Acked-by: Adrian Hunter Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index add9fdf..fd91399 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2928,7 +2928,7 @@ int sdhci_add_host(struct sdhci_host *host) * SDHCI_QUIRK2_BROKEN_64_BIT_DMA must be left to the drivers to * implement. */ - if (sdhci_readl(host, SDHCI_CAPABILITIES) & SDHCI_CAN_64BIT) + if (caps[0] & SDHCI_CAN_64BIT) host->flags |= SDHCI_USE_64_BIT_DMA; if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) {