mmc: sd: UHS-I bus speed should be set last in UHS initialization
authorSubhash Jadavani <subhashj@codeaurora.org>
Tue, 9 Aug 2011 06:49:31 +0000 (12:19 +0530)
committerChris Ball <cjb@laptop.org>
Wed, 31 Aug 2011 20:25:52 +0000 (16:25 -0400)
commit93c712f99d8e412b2d297edfe9f59b90636897c1
treedf9c2ed64ce9398c438d03fa65bfc1dc75903503
parentb91df1593e361109f1fe665ce17c5e87ca60582b
mmc: sd: UHS-I bus speed should be set last in UHS initialization

mmc_sd_init_uhs_card function sets the driver type, current limit
and bus speed mode on card as well as on host controller side.

Currently bus speed mode is set by sending CMD6 to card and
immediately setting the timing mode in host controller. But
then before initiating tuning sequence, it also tries to set
current limit by sending CMD6 to card which results in data
timeout errors in controller if bus speed mode is SDR50/SDR104 mode.

So basically bus speed mode should be set only after current limit
is set in the card and immediately after setting the bus speed mode,
tuning sequence should be initiated.

Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Reviewed-by: Arindam Nath <arindam.nath@amd.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/sd.c