[RFC PATCH 0/4] Introduce new caps to improve the card's init sequence

Shawn Lin shawn.lin at rock-chips.com
Wed Jun 8 01:19:56 PDT 2016


Hi all,

This patchset is gonna improve the card's init sequence
by exposing some caps to DT.

The basic idea is to skip sending specific init cmd inspired
by Carlo Caione's commit[0].

To make it possible, I firstly expose Carlo's MMC_CAP2_NO_SDIO
to DT and extend two new caps for similar usage of sd and mmc.
We probably need it because for most of the boards, each of the
slots should have a specific function when designed. It's impossible
for one slot which can either to be used as eMMC or a SD card for a
given board. The same for SDIO case.

We could have two ways to improve it
A) Skip sending specific commands if knowing we don't support
the specific card type.
B) Allow sending specific commands if knowing we do support
the specific card type.

A) and B) shouldn't have difference, but I take A) as the final
one as it looks more consistent with Carlo's way, which does not
seem to break anything as possible.

The only roadblock for this patchset to be landed should be the
improvement we gain from it. Theoretically sdio-card doesn't get
improvment as it's already in the first place to be attached.
But considering the sd and (e)MMC case, we should gain more benifit
from it.

>From the test, we can save nearly 2ms for attaching emmc against the
original 8ms. And we gain more than 30us improvement for sd card for
each insert.

[0]: http://permalink.gmane.org/gmane.linux.kernel.mmc/34774



Shawn Lin (4):
  Documentation: mmc: add description for new caps
  mmc: core: expose MMC_CAP2_NO_SDIO to dt-binding
  mmc: core: add cap-no-sd and cap-no-mmc properties
  mmc: core: improve initialization flow

 Documentation/devicetree/bindings/mmc/mmc.txt |  3 +++
 drivers/mmc/core/core.c                       | 10 +++++-----
 drivers/mmc/core/host.c                       |  6 ++++++
 include/linux/mmc/host.h                      |  2 ++
 4 files changed, 16 insertions(+), 5 deletions(-)

-- 
2.3.7





More information about the Linux-rockchip mailing list