Skip to content

enable Background operations and HPI feature for eMMC4.41 card

Chuanxiao Dong linux-mmc lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 9 repliesIn review
  2. v14 patches 5 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4enable background operations for supported eMMC carddrivers/mmc/core/mmc.c include/linux/mmc/card.h include/linux/mmc/mmc.h+31 -07 replies
2/4start to do BKOPS when user request queue is idledrivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/core/core.c +3 more+170 -00 replies
3/4enable HPI for supported eMMC carddrivers/mmc/core/mmc.c include/linux/mmc/card.h include/linux/mmc/mmc.h+35 -00 replies
4/4use HPI to interrupt BKOPSdrivers/mmc/core/core.c+51 -10 replies

Reviews trailers per patch

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

Read the v2 thread

Cover letter [PATCH v2 0/4]enable Background operations and HPI feature for eMMC4.41 card

Hi,
This is the version 2 patch to enable background operations and HPI feature for eMMC4.41 card. Both of these two features are optional.

Background operations can be started when user request queue is idle. So each time user start to handle a new request, driver should check whether the card is doing BKOPS. If so, should wait until BKOPS is done or use a HPI command to interrupt it if eMMC card support HPI. The serial patches were designed as this work flow.

This version patch only use HPI to interrupt background operation, didnot implement to interrupt foreground operations.

patch1: enable background operations feature for supported eMMC card.
patch2: start to do background operations when user request queue is idle. Check whether card is doing BKOPS when start a new user request.
patch3: enable HPI for supported eMMC card.
patch4: use HPI command to interrupt BKOPS.

change-log:

patch2: remove the added workqueue in the version 1 patch. This workqueue is used to put card in runtime suspend state. Since current MMC driver has not a runtime power management in card block layer, just remove this workqueue. Define erro response to be macro R1_ERROR_RESPONSE

patch3: fixed community comment. Thanks for Kyungmin Park.

Thanks
Chuanxiao