• Nick Sanders's avatar
    mmc: sdhci: remove mdelay in eMMC tuning · 197160d5
    Nick Sanders authored
    This patch removes an unneccesary 1ms mdelay in the HS200 tuning
    loop, called 40 times per retuning. Currently this causes a latency
    of >40ms on any emmc accesses triggering wake from runtime PM,
    which can occur for a significant portion of reads on a mostly idle system.
    
    The delay is left in place for SD Cards, which use
    MMC_SEND_TUNING_BLOCK rather than MMC_SEND_TUNING_BLOCK_HS200.
    I'm not able to find evidence that this is required for SD in the
    specs I have access to, however this delay has been present from
    initial checkin for SD so I have preserved the original behavior for
    compatibility.
    
    This has been verified to fix observed glitching on local audio
    playback and recording on apps with inbuilt assumptions on storage
    latency.
    Signed-off-by: default avatarNick Sanders <nsanders@chromium.org>
    Reviewed-by: default avatarGrant Grundler <grundler@chromium.org>
    Reviewed-by: default avatarDoug Anderson <dianders@chromium.org>
    Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarChris Ball <chris@printf.net>
    197160d5
sdhci.c 86.8 KB