mmc->f_max should be half of the bus clock.
And now that mmc->f_max is not equal to the bus clock the
latter should be used directly to calculate mmc->f_min.

Cc: Guennadi Liakhovetski <[email protected]>
Tested-by: Cao Minh Hiep <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
---
 drivers/mmc/host/sh_mmcif.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 5014bc4..1410baa 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -1297,14 +1297,14 @@ static int __devinit sh_mmcif_probe(struct 
platform_device *pdev)
        spin_lock_init(&host->lock);
 
        mmc->ops = &sh_mmcif_ops;
-       mmc->f_max = host->clk;
+       mmc->f_max = host->clk / 2;
        /* close to 400KHz */
-       if (mmc->f_max < 51200000)
-               mmc->f_min = mmc->f_max / 128;
-       else if (mmc->f_max < 102400000)
-               mmc->f_min = mmc->f_max / 256;
+       if (host->clk < 51200000)
+               mmc->f_min = host->clk / 128;
+       else if (host->clk < 102400000)
+               mmc->f_min = host->clk / 256;
        else
-               mmc->f_min = mmc->f_max / 512;
+               mmc->f_min = host->clk / 512;
        if (pd->ocr)
                mmc->ocr_avail = pd->ocr;
        mmc->caps = MMC_CAP_MMC_HIGHSPEED;
-- 
1.7.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to