mmc: support packed write command for eMMC4.5 devices
authorSeungwon Jeon <tgih.jun@samsung.com>
Wed, 6 Feb 2013 08:02:46 +0000 (17:02 +0900)
committerChris Ball <cjb@laptop.org>
Sun, 24 Feb 2013 19:37:16 +0000 (14:37 -0500)
commitce39f9d17c14e56ea6772aa84393e6e0cc8499c4
tree7b641a7f89614e3cc3f6ec2f81ee32f64ead4f0d
parentabd9ac144947d9a604beb763339e2f77ce8bec79
mmc: support packed write command for eMMC4.5 devices

This patch supports packed write command of eMMC4.5 devices.  Several
writes can be grouped in packed command and all data of the individual
commands can be sent in a single transfer on the bus. Large amounts of
data in one transfer rather than several data of small size are
effective for eMMC write internally.  As a result, packed command help
write throughput be improved.  The following tables show the results
of packed write.

Type A:
test     none |  packed
iozone   25.8 |  31
tiotest  27.6 |  31.2
lmdd     31.2 |  35.4

Type B:
test     none |  packed
iozone   44.1 |  51.1
tiotest  47.9 |  52.5
lmdd     51.6 |  59.2

Type C:
test     none |  packed
iozone   19.5 |  32
tiotest  19.9 |  34.5
lmdd     22.8 |  40.7

Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/card/block.c
drivers/mmc/card/queue.c
drivers/mmc/card/queue.h
drivers/mmc/core/mmc_ops.c
include/linux/mmc/card.h
include/linux/mmc/core.h
include/linux/mmc/host.h