• Ritesh Harjani's avatar
    mmc: sdhci-msm: Add set_uhs_signaling() implementation · ee320674
    Ritesh Harjani authored
    To allow UHS mode to work properly, we need to implement a Qualcomm
    specific set_uhs_signaling() callback function. This function differs
    from the sdhci_set_uhs_signaling() in that we need check the clock
    rate and enable UHS timing only if the frequency is above 100MHz.
    
    This patch resolves the mmc_select_hs200 timeouts noticed after merging
    commit a5c1f3e55c99 ("mmc: mmc: do not use CMD13 to get status after
    speed mode switch")
    
    mmc0: mmc_select_hs200 failed, error -110
    mmc0: error -110 whilst initialising MMC card
    mmc0: Reset 0x1 never completed.
    sdhci: =========== REGISTER DUMP (mmc0)===========
    sdhci: Sys addr: 0x00000000 | Version: 0x00002e02
    sdhci: Blk size: 0x00004000 | Blk cnt: 0x00000000
    sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
    sdhci: Present: 0x01f80000 | Host ctl: 0x00000000
    sdhci: Power: 0x00000000 | Blk gap: 0x00000000
    sdhci: Wake-up: 0x00000000 | Clock: 0x00000003
    sdhci: Timeout: 0x00000000 | Int stat: 0x00000000
    sdhci: Int enab: 0x00000000 | Sig enab: 0x00000000
    sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
    sdhci: Caps: 0x322dc8b2 | Caps_1: 0x00008007
    sdhci: Cmd: 0x00000000 | Max curr: 0x00000000
    sdhci: Host ctl2: 0x00000000
    sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000000000
    sdhci: ===========================================
    
    Fixes: a5c1f3e55c99 ("mmc: mmc: do not use CMD13 to get status after...")
    Signed-off-by: default avatarRitesh Harjani <riteshh@codeaurora.org>
    Signed-off-by: default avatarGeorgi Djakov <georgi.djakov@linaro.org>
    Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    ee320674
sdhci-msm.c 17.8 KB