linux/drivers/mmc/core
Subhash Jadavani 93c712f99d 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>
2011-08-31 16:25:52 -04:00
..
bus.c mmc: sd: report correct speed and capacity of uhs cards 2011-05-24 23:53:46 -04:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: core: prevent aggressive clock gating racing with ios updates 2011-08-31 16:25:49 -04:00
core.h mmc: core: add support for eMMC Dual Data Rate 2011-05-24 23:53:58 -04:00
debugfs.c mmc: Aggressive clock gating framework 2011-01-08 22:48:03 -05:00
host.c mmc: core: use non-reentrant workqueue for clock gating 2011-08-31 16:25:50 -04:00
host.h mmc: rename mmc_host_clk_{ungate|gate} to mmc_host_clk_{hold|release} 2011-08-31 16:24:54 -04:00
Kconfig mmc: Aggressive clock gating framework 2011-01-08 22:48:03 -05:00
Makefile mmc: add per device quirk placeholder 2011-03-15 13:48:33 -04:00
mmc_ops.c mmc: core: use defined R1_STATE_PRG macro for card status 2011-08-13 14:50:31 -04:00
mmc_ops.h mmc: core: Allow setting CMD timeout for CMD6 (SWITCH). 2011-05-24 21:01:13 -04:00
mmc.c mmc: core: Detect eMMC v4.5 ext_csd entries 2011-08-13 14:50:22 -04:00
quirks.c mmc: quirks: Extends card quirks with MMC/SD quirks matching the CID. 2011-05-24 21:00:54 -04:00
sd_ops.c mmc: core: Add mmc CMD+ACMD passthrough ioctl 2011-05-24 21:02:54 -04:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd.c mmc: sd: UHS-I bus speed should be set last in UHS initialization 2011-08-31 16:25:52 -04:00
sd.h mmc: sd: add support for driver type selection 2011-05-24 23:53:24 -04:00
sdio_bus.c mmc: fix runtime PM with -ENOSYS suspend case 2011-07-21 10:35:09 -04:00
sdio_bus.h mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_io.c sdio: add new function for RAW (Read after Write) operation 2010-05-27 09:12:40 -07:00
sdio_irq.c mmc: sdio: optimized SDIO IRQ handling for single irq 2011-05-24 23:53:50 -04:00
sdio_ops.c mmc: initialize struct mmc_request at declaration time 2011-05-24 21:02:01 -04:00
sdio_ops.h sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio.c mmc: sdio: reset card during power_restore 2011-06-25 18:52:44 -04:00