Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 4abb6960 authored by Loic Poulain's avatar Loic Poulain Committed by Greg Kroah-Hartman
Browse files

mmc: sdhci-msm: Disable CDR function on TX

commit a89e7bcb18081c611eb6cf50edd440fa4983a71a upstream.

The Clock Data Recovery (CDR) circuit allows to automatically adjust
the RX sampling-point/phase for high frequency cards (SDR104, HS200...).
CDR is automatically enabled during DLL configuration.
However, according to the APQ8016 reference manual, this function
must be disabled during TX and tuning phase in order to prevent any
interferences during tuning challenges and unexpected phase alteration
during TX transfers.

This patch enables/disables CDR according to the current transfer mode.

This fixes sporadic write transfer issues observed with some SDR104 and
HS200 cards.

Inspired by sdhci-msm downstream patch:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/432516/



Reported-by: default avatarLeonid Segal <leonid.s@variscite.com>
Reported-by: default avatarManabu Igusa <migusa@arrowjapan.com>
Signed-off-by: default avatarLoic Poulain <loic.poulain@linaro.org>
Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Acked-by: default avatarGeorgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
[georgi: backport to v4.14]
Signed-off-by: default avatarGeorgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 39ff087b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment