1
linux/arch/arm/mach-at91
Yauhen Kharuzhy a2255ff451 mmc: at91_mci: fix multiblock SDIO transfers
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>
2010-12-21 11:46:32 -08:00
..
include/mach mmc: at91_mci: fix multiblock SDIO transfers 2010-12-21 11:46:32 -08:00
at91cap9_devices.c ARM: 5719/1: [AT91] Fix AC97 breakage 2009-09-22 20:54:28 +01:00
at91cap9.c
at91rm9200_devices.c at91: Convert remaining boards to new-style UART initialization 2010-11-30 17:21:29 +01:00
at91rm9200_time.c arm/at91: Don't disable irqs in set_next_event and set_mode callbacks 2010-01-22 17:04:39 +01:00
at91rm9200.c
at91sam9_alt_reset.S AT91: reset routine cleanup, remove not needed icache flush 2010-10-26 11:32:48 +02:00
at91sam9g45_devices.c at91/atmel-mci: inclusion of sd/mmc driver in at91sam9g45 chip and board 2010-10-26 11:32:49 +02:00
at91sam9g45.c AT91: SAM9G45 - add a separate clock entry for every single TC block 2010-09-09 20:14:43 +02:00
at91sam9rl_devices.c AT91: add platform parameters for atmel_tsadcc in at91sam9rlek 2009-11-20 00:55:29 -08:00
at91sam9rl.c AT91: reset: extend alternate reset procedure to several chips 2010-10-26 11:32:48 +02:00
at91sam926x_time.c arm/at91: Don't disable irqs in set_next_event and set_mode callbacks 2010-01-22 17:04:39 +01:00
at91sam9260_devices.c AT91: atmel-mci: Platform configuration to the the atmel-mci driver 2009-09-23 07:39:37 -07:00
at91sam9260.c AT91: reset: extend alternate reset procedure to several chips 2010-10-26 11:32:48 +02:00
at91sam9261_devices.c
at91sam9261.c AT91: reset: extend alternate reset procedure to several chips 2010-10-26 11:32:48 +02:00
at91sam9263_devices.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
at91sam9263.c AT91: reset: extend alternate reset procedure to several chips 2010-10-26 11:32:48 +02:00
at91x40_time.c
at91x40.c
at572d940hf_devices.c ARM: 5850/1: [AT91] AT572D940HF processor support 2010-01-20 12:34:06 +00:00
at572d940hf.c ARM: 5850/1: [AT91] AT572D940HF processor support 2010-01-20 12:34:06 +00:00
board-1arm.c at91: Convert remaining boards to new-style UART initialization 2010-11-30 17:21:29 +01:00
board-afeb-9260v1.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-at572d940hf_ek.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-cam60.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-cap9adk.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-carmeva.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-cpu9krea.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-cpuat91.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-csb337.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-csb637.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-eb01.c
board-eb9200.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-ecbat91.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-eco920.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-flexibity.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-kafa.c at91: Convert remaining boards to new-style UART initialization 2010-11-30 17:21:29 +01:00
board-kb9202.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-neocore926.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-pcontrol-g20.c at91: Refactor Stamp9G20 and PControl G20 board file 2010-12-17 12:10:39 +01:00
board-picotux200.c at91/picotux200: remove commenting usb device and dataflash support 2010-11-30 17:23:02 +01:00
board-qil-a9260.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-rm9200dk.c at91: rename rm9200ek and rm9200dk board file name 2010-11-30 17:22:20 +01:00
board-rm9200ek.c at91: rename rm9200ek and rm9200dk board file name 2010-11-30 17:22:20 +01:00
board-sam9-l9260.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-sam9g20ek.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-sam9m10g45ek.c at91/atmel-mci: inclusion of sd/mmc driver in at91sam9g45 chip and board 2010-10-26 11:32:49 +02:00
board-sam9rlek.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-sam9260ek.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-sam9261ek.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-sam9263ek.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-snapper9260.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-stamp9g20.c at91: Refactor Stamp9G20 and PControl G20 board file 2010-12-17 12:10:39 +01:00
board-usb-a9260.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-usb-a9263.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-yl-9200.c at91/board-yl-9200: fix typo in video support 2010-11-30 17:23:41 +01:00
clock.c at91: Fix uhpck clock rate in upll case 2010-12-17 12:10:39 +01:00
clock.h ARM: 5850/1: [AT91] AT572D940HF processor support 2010-01-20 12:34:06 +00:00
cpuidle.c ARM: 5778/1: AT91: Add cpuidle support 2009-11-10 23:46:35 +00:00
generic.h AT91: reset: extend alternate reset procedure to several chips 2010-10-26 11:32:48 +02:00
gpio.c [ARM] 5566/1: Remove at91_gpiolib_request 2009-06-27 11:03:47 +01:00
irq.c
Kconfig AT91: add board support for Pcontrol_G20 2010-10-26 11:32:47 +02:00
leds.c
Makefile at91: Refactor Stamp9G20 and PControl G20 board file 2010-12-17 12:10:39 +01:00
Makefile.boot [ARM] 5572/1: at91: Support for at91sam9g45 series: core chip & board support 2009-06-27 11:05:22 +01:00
pm_slowclock.S AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
pm.c AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
pm.h AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
sam9_smc.c
sam9_smc.h