lkml.org 
[lkml]   [2015]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 022/122] mmc: sdhci: add quirk for broken HS200 support
    Date
    From: David Cohen <david.a.cohen@linux.intel.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 13868bf20f2f2c305f96e23620b024e167d6f9cb upstream.

    This patch defines a quirk for platforms unable to enable HS200 support.

    Signed-off-by: David Cohen <david.a.cohen@linux.intel.com>
    Reviewed-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
    Acked-by: Dong Aisheng <b29396@freescale.com>
    Cc: stable <stable@vger.kernel.org> # [3.13]
    Signed-off-by: Chris Ball <chris@printf.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    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 ff6e822d2b78..cf110751d1c6 100644
    --- a/drivers/mmc/host/sdhci.c
    +++ b/drivers/mmc/host/sdhci.c
    @@ -3006,7 +3006,8 @@ int sdhci_add_host(struct sdhci_host *host)
    /* SD3.0: SDR104 is supported so (for eMMC) the caps2
    * field can be promoted to support HS200.
    */
    - mmc->caps2 |= MMC_CAP2_HS200;
    + if (!(host->quirks2 & SDHCI_QUIRK2_BROKEN_HS200))
    + mmc->caps2 |= MMC_CAP2_HS200;
    } else if (caps[1] & SDHCI_SUPPORT_SDR50)
    mmc->caps |= MMC_CAP_UHS_SDR50;

    diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
    index 3e781b8c0be7..362927c48f97 100644
    --- a/include/linux/mmc/sdhci.h
    +++ b/include/linux/mmc/sdhci.h
    @@ -98,6 +98,8 @@ struct sdhci_host {
    #define SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON (1<<4)
    /* Controller has a non-standard host control register */
    #define SDHCI_QUIRK2_BROKEN_HOST_CONTROL (1<<5)
    +/* Controller does not support HS200 */
    +#define SDHCI_QUIRK2_BROKEN_HS200 (1<<6)

    int irq; /* Device IRQ */
    void __iomem *ioaddr; /* Mapped address */
    --
    2.2.2


    \
     
     \ /
      Last update: 2015-02-17 13:21    [W:4.076 / U:0.244 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site