From: Rui Feng <rui_f...@realsil.com.cn>

This patch fix clock timing for RTS5261, using 256 divide
for the version higher than version C.
Signed-off-by: Rui Feng <rui_f...@realsil.com.cn>
---
 drivers/misc/cardreader/rts5261.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/cardreader/rts5261.c 
b/drivers/misc/cardreader/rts5261.c
index 2ada973a0f33..6c64dade8e1a 100644
--- a/drivers/misc/cardreader/rts5261.c
+++ b/drivers/misc/cardreader/rts5261.c
@@ -649,7 +649,7 @@ int rts5261_pci_switch_clock(struct rtsx_pcr *pcr, unsigned 
int card_clock,
 
        if (initial_mode) {
                /* We use 250k(around) here, in initial stage */
-               if (is_version(pcr, PID_5261, IC_VER_D)) {
+               if (is_version_higher_than(pcr, PID_5261, IC_VER_C)) {
                        clk_divider = SD_CLK_DIVIDE_256;
                        card_clock = 60000000;
                } else {
@@ -700,7 +700,7 @@ int rts5261_pci_switch_clock(struct rtsx_pcr *pcr, unsigned 
int card_clock,
                div++;
        }
 
-       n = (n / 2);
+       n = (n / 2) - 1;
        pcr_dbg(pcr, "n = %d, div = %d\n", n, div);
 
        ssc_depth = depth[ssc_depth];
-- 
2.17.1

Reply via email to