mbox series

[v3,0/2] mmc: core: Add SD Discard support

Message ID 1551193825-31074-1-git-send-email-avri.altman@wdc.com (mailing list archive)
Headers show
Series mmc: core: Add SD Discard support | expand

Message

Avri Altman Feb. 26, 2019, 3:10 p.m. UTC
SD spec v5.1 adds discard support. The flows and commands matches those
in eMMC, Which leaves to set the appropriate discard arg in CMD38 if
DISCARD_SUPPORT (b313) is set in the SD_STATUS register.

We set this arg on card init: not in mmc_init_erase as one might expect
but arbitrarily once the card indicated its discard support.  This is
because unlike erase, it doesn't really involve any logic, and we want
to avoid the unnecessary complication.

V2->v3:
The first 2 patches in the series got accepted.
Elaborate the changelog of some of the differences between discard and
erase. Clean some inconsistency in arg checking in mmc_erase().
Add a patch to set the timeout for sd discard.

V1->v2:
In the first patch, assign the discard arg for SD cards as well to keep
the code consistent. Rename "discard_arg" to "erase_arg", and elaborate
the change log.


Avri Altman (2):
  mmc: core: Add discard support to sd
  mmc: core: Add sd discard timeout

 drivers/mmc/core/core.c | 15 +++++++++++----
 drivers/mmc/core/sd.c   | 10 +++++++++-
 include/linux/mmc/sd.h  |  1 +
 3 files changed, 21 insertions(+), 5 deletions(-)

Comments

Ulf Hansson Feb. 27, 2019, 9:39 a.m. UTC | #1
On Tue, 26 Feb 2019 at 16:10, Avri Altman <avri.altman@wdc.com> wrote:
>
> SD spec v5.1 adds discard support. The flows and commands matches those
> in eMMC, Which leaves to set the appropriate discard arg in CMD38 if
> DISCARD_SUPPORT (b313) is set in the SD_STATUS register.
>
> We set this arg on card init: not in mmc_init_erase as one might expect
> but arbitrarily once the card indicated its discard support.  This is
> because unlike erase, it doesn't really involve any logic, and we want
> to avoid the unnecessary complication.
>
> V2->v3:
> The first 2 patches in the series got accepted.
> Elaborate the changelog of some of the differences between discard and
> erase. Clean some inconsistency in arg checking in mmc_erase().
> Add a patch to set the timeout for sd discard.
>
> V1->v2:
> In the first patch, assign the discard arg for SD cards as well to keep
> the code consistent. Rename "discard_arg" to "erase_arg", and elaborate
> the change log.
>
>
> Avri Altman (2):
>   mmc: core: Add discard support to sd
>   mmc: core: Add sd discard timeout
>
>  drivers/mmc/core/core.c | 15 +++++++++++----
>  drivers/mmc/core/sd.c   | 10 +++++++++-
>  include/linux/mmc/sd.h  |  1 +
>  3 files changed, 21 insertions(+), 5 deletions(-)
>
> --
> 1.9.1
>

Looks good, applied for next, thanks!

Kind regards
Uffe