[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CA+pahgdKJThHSgCppP-roqF905hkopjv3Pj6Kc7GVaR5gS7oxg@mail.gmail.com>
Date: Tue, 24 May 2016 18:05:04 +0900
From: 장민우 <huskey27@...il.com>
To: linux-kernel@...r.kernel.org
Subject: use default speed of the eMMC
Dear chrisball.
Hello, I'm Minwoo Jang.
I have a question about using default speed of the eMMC.
When default speed is used, mmc_select_bus_width() is never called.
So, eMMC can not be set 4 bit or 8 bit bus width, I think.
Please, give me your opinions on the following diff codes.
Thank you.
=====================================================
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 94b4462..3b1cc4d 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -952,6 +952,8 @@ static int mmc_select_bus_width(struct mmc_card *card)
if (!err) {
err = bus_width;
+ pr_warn("%s: switch to bus width %d\n",
+ mmc_hostname(host), (1 << bus_width));
break;
} else {
pr_warn("%s: switch to bus width %d failed\n",
@@ -1500,6 +1502,14 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
if (err)
goto err;
}
+ } else {
+ /* Select the bus width for normal speed mode */
+ err = mmc_select_bus_width(card);
+ if (IS_ERR_VALUE(err)) {
+ pr_warn("%s: Selecting bus width failed\n",
+ mmc_hostname(card->host));
+ goto err;
+ }
}
Best regards,
MW Jang.
Powered by blists - more mailing lists