a2255ff451
The AT91 MCI has special SDIO transfer types: SDIO block and SDIO byte transfers, but at91_mci driver doesn't use them and handles all SDIO transfers as ordinary MMC block transfers. This causes problems for multiple-block SDIO transfers (in particular for 256-bytes blocks). Fix this situation by checking the opcode for SDIO CMD53 and setting the transfer type in the AT91_MCI_CMDR register properly. This patch was tested with libertas SDIO driver: problem with TX timeouts on big packets was eliminated. Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com> Cc: <stable@kernel.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Chris Ball <cjb@laptop.org> |
||
---|---|---|
.. | ||
include/mach | ||
at91cap9_devices.c | ||
at91cap9.c | ||
at91rm9200_devices.c | ||
at91rm9200_time.c | ||
at91rm9200.c | ||
at91sam9_alt_reset.S | ||
at91sam9g45_devices.c | ||
at91sam9g45.c | ||
at91sam9rl_devices.c | ||
at91sam9rl.c | ||
at91sam926x_time.c | ||
at91sam9260_devices.c | ||
at91sam9260.c | ||
at91sam9261_devices.c | ||
at91sam9261.c | ||
at91sam9263_devices.c | ||
at91sam9263.c | ||
at91x40_time.c | ||
at91x40.c | ||
at572d940hf_devices.c | ||
at572d940hf.c | ||
board-1arm.c | ||
board-afeb-9260v1.c | ||
board-at572d940hf_ek.c | ||
board-cam60.c | ||
board-cap9adk.c | ||
board-carmeva.c | ||
board-cpu9krea.c | ||
board-cpuat91.c | ||
board-csb337.c | ||
board-csb637.c | ||
board-eb01.c | ||
board-eb9200.c | ||
board-ecbat91.c | ||
board-eco920.c | ||
board-flexibity.c | ||
board-kafa.c | ||
board-kb9202.c | ||
board-neocore926.c | ||
board-pcontrol-g20.c | ||
board-picotux200.c | ||
board-qil-a9260.c | ||
board-rm9200dk.c | ||
board-rm9200ek.c | ||
board-sam9-l9260.c | ||
board-sam9g20ek.c | ||
board-sam9m10g45ek.c | ||
board-sam9rlek.c | ||
board-sam9260ek.c | ||
board-sam9261ek.c | ||
board-sam9263ek.c | ||
board-snapper9260.c | ||
board-stamp9g20.c | ||
board-usb-a9260.c | ||
board-usb-a9263.c | ||
board-yl-9200.c | ||
clock.c | ||
clock.h | ||
cpuidle.c | ||
generic.h | ||
gpio.c | ||
irq.c | ||
Kconfig | ||
leds.c | ||
Makefile | ||
Makefile.boot | ||
pm_slowclock.S | ||
pm.c | ||
pm.h | ||
sam9_smc.c | ||
sam9_smc.h |