Re: [PATCH 00/11] Initital support for new power/perf features for SD cards

From: Ulf Hansson
Date: Tue May 11 2021 - 06:57:34 EST


On Tue, 4 May 2021 at 18:12, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
>
> In the SD spec v4.x the SD function extension registers were introduced,
> together with a new set of commands (CMD48/49 and CMD58/59) to read and write
> to them.
>
> Moreover, in v4.x a new standard function for power management features were
> added, while in v6.x a new standard function for performance enhancements
> features were added.
>
> This series implement the basics to add support for these new features (and
> includes some additional preparations in patch 1->7), by adding support for
> reading and parsing these new SD registers. In the final patch we add support
> for the SD poweroff notification feature, which also add a function to write to
> these registers.
>
> Note that, there are no HW updates need for the host to support reading/parsing
> of the these new SD registers. This has been tested with a 64GB Sandisk Extreme
> PRO UHS-I A2 card.
>
> Tests and reviews are of course greatly appreciated!
>
> Kind regards
> Ulf Hansson
>
> Ulf Hansson (11):
> mmc: core: Drop open coding when preparing commands with busy
> signaling
> mmc: core: Take into account MMC_CAP_NEED_RSP_BUSY for eMMC HPI
> commands
> mmc: core: Re-structure some code in __mmc_poll_for_busy()
> mmc: core: Extend re-use of __mmc_poll_for_busy()
> mmc: core: Enable eMMC sleep commands to use HW busy polling
> mmc: core: Prepare mmc_send_cxd_data() to be re-used for additional
> cmds
> mmc: core: Drop open coding in mmc_sd_switch()
> mmc: core: Parse the SD SCR register for support of CMD48/49 and
> CMD58/59
> mmc: core: Read the SD function extension registers for power
> management
> mmc: core: Read performance enhancements registers for SD cards
> mmc: core: Add support for Power Off Notification for SD cards
>
> drivers/mmc/core/core.c | 22 +--
> drivers/mmc/core/mmc.c | 43 ++---
> drivers/mmc/core/mmc_ops.c | 137 +++++++-------
> drivers/mmc/core/mmc_ops.h | 10 +-
> drivers/mmc/core/sd.c | 371 ++++++++++++++++++++++++++++++++++++-
> drivers/mmc/core/sd_ops.c | 38 +---
> include/linux/mmc/card.h | 22 +++
> include/linux/mmc/sd.h | 4 +
> 8 files changed, 504 insertions(+), 143 deletions(-)

FYI, this series has been applied for next, with some minor
modifications according to review comments. Thanks!

Kind regards
Uffe