diff options
author | Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com> | 2010-11-25 12:11:51 +0200 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2010-12-21 11:46:32 -0800 |
commit | a2255ff45143001fecbc5e5a4b58fcb999d393ae (patch) | |
tree | 6f524cb891b60e8c2ce40beba94b6dbb71c9f8bf /arch/arm/mach-at91/at91sam9g45_devices.c | |
parent | 0a59228168d3722b71f8e3dbc623316fb4be78f4 (diff) | |
download | kernel-mfld-blackbay-a2255ff45143001fecbc5e5a4b58fcb999d393ae.tar.gz kernel-mfld-blackbay-a2255ff45143001fecbc5e5a4b58fcb999d393ae.tar.bz2 kernel-mfld-blackbay-a2255ff45143001fecbc5e5a4b58fcb999d393ae.zip |
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>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9g45_devices.c')
0 files changed, 0 insertions, 0 deletions