• James Hogan's avatar
    mmc: dw_mmc: setpower on MMC_POWER_{UP,OFF} · e6f34e2f
    James Hogan authored
    Call the setpower platform callback in response to set_ios with
    ios->power_mode == MMC_POWER_UP or MMC_POWER_OFF, instead of from the
    card detect work function.
    
    This appears to fix a problem I have where a card stuck in a funny state
    doesn't get properly cleared by the power being turned off, presumably
    due to lack of power sequencing. This resulted in the following log
    messages after boot:
    
    mmc0: error -110 whilst initialising SD card
    mmc_host mmc0: Bus speed (slot 0) = 99840000Hz (slot req 300000Hz, actual 298922HZ div = 167)
    mmc0: error -110 whilst initialising SD card
    mmc_host mmc0: Bus speed (slot 0) = 99840000Hz (slot req 200000Hz, actual 199680HZ div = 250)
    mmc0: error -110 whilst initialising SD card
    mmc_host mmc0: Bus speed (slot 0) = 99840000Hz (slot req 195765Hz, actual 195764HZ div = 255)
    mmc0: error -110 whilst initialising SD card
    mmc_host mmc0: Bus speed (slot 0) = 99840000Hz (slot req 400000Hz, actual 399360HZ div = 125)
    mmc0: error -110 whilst initialising SD card
    mmc_host mmc0: Bus speed (slot 0) = 99840000Hz (slot req 300000Hz, actual 298922HZ div = 167)
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Acked-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
    Acked-by: default avatarJaehoon Chung <jh80.chung@samsung.com>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    e6f34e2f
dw_mmc.c 60.8 KB