linux/drivers
Shawn Lin d6743a8a1a mmc: core: Don't try UHS-I mode if 4-bit mode isn't supported
Per SD specification physical layer v4.0, section 3.9.4, it
says "UHS-I supports only 4-bit mode. Host shall select 4-bit
mode by ACMD6. However mmc_sd_init_uhs_card() still go ahead
to initialize the cards anyway, whether card or host won't
support 4-bit mode.

  This breaks the platforms which could support UHS-I mode but on
some certain boards only support 1-bit mode with a UHS-I card inserted,
as all the tuning process is broken due to this. Alternatively, we
should check the return value from mmc_set_bus_width() to see if host
could finish the request to switch the bus width on its side. But that
needs more thing to do than this patch that just bails out early to try
high speed mode if 4-bit mode isn't available for whatever reason. And
this patch could also fix the same problem for sdio since R4_18V_PRESENT
won't be set for ocr when mmc_sdio_init_card() finds mmc_host_uhs()
is false.

  Note that this patch doesn't keep the checking of card->scr.sda_spec3
and comparing card->scr.bus_widths with SD_SCR_BUS_WIDTH_4 within
mmc_sd_init_uhs_card() since if the sd cards response with SD_ROCR_S18A,
it definitely supports UHS-I mode, which implicitly means these checkings
are always true.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2018-03-15 09:30:39 +01:00
..
accessibility
acpi
amba
android ANDROID: binder: synchronize_rcu() when using POLLFREE. 2018-02-16 11:16:38 +01:00
ata
atm
auxdisplay
base ACPI updates for v4.16-rc2 2018-02-15 14:50:32 -08:00
bcma
block block: fix a typo 2018-03-01 08:41:27 -07:00
bluetooth
bus
cdrom
char tpm: fix potential buffer overruns caused by bit glitches on the bus 2018-02-26 15:43:46 -08:00
clk
clocksource clocksource/drivers/arc_timer: Update some comments 2018-02-28 13:55:14 +01:00
connector
cpufreq Merge branch 'cpufreq-scpi' 2018-03-02 10:44:44 +01:00
cpuidle
crypto s390: 2018-02-26 09:28:35 -08:00
dax dax: ->direct_access does not sleep anymore 2018-02-26 12:32:29 -08:00
dca
devfreq
dio
dma
dma-buf
edac EDAC, sb_edac: Fix out of bound writes during DIMM configuration on KNL 2018-02-23 12:05:37 +01:00
eisa
extcon
firewire
firmware
fmc
fpga
fsi
gpio gpio: Handle deferred probing in of_find_gpio() properly 2018-02-27 09:48:07 +01:00
gpu Merge branch 'drm-fixes-4.16' of git://people.freedesktop.org/~agd5f/linux into drm-fixes 2018-03-01 14:03:14 +10:00
hid usb: ldusb: add PIDs for new CASSY devices supported by this driver 2018-02-15 18:44:03 +01:00
hsi
hv
hwmon Fix bad temperature display on Ryzen/Threadripper 2018-02-15 14:31:28 -08:00
hwspinlock
hwtracing
i2c i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
ide genhd: Rename get_disk() to get_disk_and_module() 2018-02-26 09:48:42 -07:00
idle
iio First round of IIO fixes for the 4.16 cycle. 2018-02-20 10:03:22 +01:00
infiniband RDMA/uverbs: Fix kernel panic while using XRC_TGT QP type 2018-02-21 13:52:19 -05:00
input
iommu treewide/trivial: Remove ';;$' typo noise 2018-02-22 10:59:33 +01:00
ipack
irqchip irqchip/bcm: Remove hashed address printing 2018-02-16 14:22:16 +00:00
isdn
leds
lightnvm
macintosh
mailbox
mcb
md for-linus-20180302 2018-03-02 09:35:36 -08:00
media media: vb2: Makefile: place vb2-trace together with vb2-core 2018-02-26 11:39:04 -05:00
memory memory: brcmstb: dpfe: support new way of passing data from the DCPU 2018-02-23 10:56:59 -08:00
memstick
message
mfd
misc powerpc fixes for 4.16 #4 2018-02-24 16:05:50 -08:00
mmc mmc: core: Don't try UHS-I mode if 4-bit mode isn't supported 2018-03-15 09:30:39 +01:00
mtd
mux
net xen: fixes for v4.16-rc4 2018-03-02 10:19:57 -08:00
nfc
ntb
nubus
nvdimm libnvdimm: re-enable deep flush for pmem devices via fsync() 2018-03-02 19:31:40 -08:00
nvme Merge branch 'for-jens' of git://git.infradead.org/nvme into for-linus 2018-02-28 12:18:58 -07:00
nvmem
of
opp
oprofile
parisc
parport
pci pci-v4.16-fixes-2 2018-03-02 17:44:39 -08:00
pcmcia
perf arm_pmu: acpi: request IRQs up-front 2018-02-20 11:34:54 +00:00
phy
pinctrl
platform platform/x86: wmi: Fix misuse of vsprintf extension %pULL 2018-03-01 10:01:39 -08:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 virtio: bugfixes 2018-02-15 14:29:27 -08:00
sbus
scsi SCSI fixes on 20180222 2018-02-23 14:09:43 -08:00
sfi
sh
siox
slimbus
sn
soc ARM: SoC fixes for 4.16 2018-02-28 16:11:04 -08:00
soundwire
spi
spmi
ssb
staging Staging/IIO fixes for 4.16-rc2 2018-02-22 12:05:43 -08:00
target
tc
tee
thermal
thunderbolt
tty
uio
usb USB fixes for 4.16-rc3 2018-02-22 12:13:01 -08:00
uwb
vfio vfio: disable filesystem-dax page pinning 2018-03-02 18:00:04 -08:00
vhost
video
virt
virtio
visorbus
vlynq
vme
w1
watchdog watchdog: sp5100_tco.c: fix potential build failure 2018-02-19 17:44:05 +01:00
xen xen: fixes for v4.16-rc4 2018-03-02 10:19:57 -08:00
zorro
Kconfig
Makefile