Skip to content

mmc: Soft Command queue implementation for eMMC5.1 device

Chuanxiao Dong linux-mmc 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest5 patches 5 repliesIn review
  2. v15 patches 4 repliesSuperseded

Changes in v2 from the cover letter

1. not to send CMD13 during CMD46/47 is executing.
2. added a timer in case the data never complete for CMD46/47

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5mmc: replace sbc to precmd and add postcmddrivers/mmc/card/block.c drivers/mmc/card/queue.h drivers/mmc/core/core.c +5 more+60 -551 reply
2/5mmc: host: add runtime PM for host class devdrivers/mmc/core/host.c drivers/mmc/host/sdhci-acpi.c drivers/mmc/host/sdhci-pci.c+13 -21 reply
3/5mmc: queue: change mqrq_cur and mqrq_pre to mq qdepthdrivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/card/queue.h+139 -1211 reply
4/5mmc: core: add support for CMDQ feature in MMC Coredrivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/card/queue.h +7 more+631 -231 reply
5/5mmc: sdhci: add SW CMDQ support for SDHCI hostdrivers/mmc/host/sdhci.c drivers/mmc/host/sdhci.h+148 -161 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [V2 PATCH 0/5] mmc: Soft Command queue implementation for eMMC5.1 device

Here are V2 version of eMMC5.1 soft command queue patches.

Performance data captured by iozone command shown it has improvment to both random read and random write. The command used is:
iozone -zec -t 4 -i0 -i2 -F iozonefile1 iozonefile2 iozonefile3 iozonefile4 -+n -I -r 4k -s 500m -O -R -+r -+D

Without CMDQ With CMDQ
Random read 5074.91 7916.06
Random write 1354.69 1444.52

Changes in V2:
1. not to send CMD13 during CMD46/47 is executing.
2. added a timer in case the data never complete for CMD46/47

Chuanxiao Dong (5):
mmc: replace sbc to precmd and add postcmd
mmc: host: add runtime PM for host class dev
mmc: queue: change mqrq_cur and mqrq_pre to mq qdepth
mmc: core: add support for CMDQ feature in MMC Core
mmc: sdhci: add SW CMDQ support for SDHCI host

 drivers/mmc/card/block.c      |  561 ++++++++++++++++++++++++++++++++++++++---
 drivers/mmc/card/queue.c      |  224 ++++++++--------
 drivers/mmc/card/queue.h      |   14 +-
 drivers/mmc/core/core.c       |   81 +++++-
 drivers/mmc/core/host.c       |   13 +
 drivers/mmc/core/mmc.c        |   37 ++-
 drivers/mmc/host/dw_mmc.c     |    8 +-
 drivers/mmc/host/mmci.c       |   14 +-
 drivers/mmc/host/omap_hsmmc.c |   18 +-
 drivers/mmc/host/sdhci-acpi.c |    1 -
 drivers/mmc/host/sdhci-pci.c  |    1 -
 drivers/mmc/host/sdhci.c      |  178 +++++++++++--
 drivers/mmc/host/sdhci.h      |    2 +
 include/linux/mmc/card.h      |    3 +
 include/linux/mmc/core.h      |    5 +-
 include/linux/mmc/host.h      |    4 +
 include/linux/mmc/mmc.h       |   21 ++
 include/linux/mmc/pm.h        |    1 +
 18 files changed, 980 insertions(+), 206 deletions(-)
Signature · 1 line
1.7.10.4