Message ID | 20241006051148.160278-1-avri.altman@wdc.com (mailing list archive) |
---|---|
Headers | show |
Series | Add SDUC Support | expand |
On Sun, 6 Oct 2024 at 07:13, Avri Altman <avri.altman@wdc.com> wrote: > > Ultra Capacity SD cards (SDUC) was already introduced in SD7.0. Those > cards support capacity larger than 2TB and up to including 128TB. Thus, > the address range of the card expands beyond the 32-bit command > argument. To that end, a new command - CMD22 is defined, to carry the > extra 6-bit upper part of the 38-bit block address that enable access to > 128TB memory space. > > SDUC capacity is agnostic to the interface mode: UHS-I and UHS-II – Same > as SDXC. > > The spec defines several extensions/modifications to the current SDXC > cards, which we address in patches 1 - 10. Otherwise requirements are > out-of-scope of this change. Specifically, CMDQ (CMD44+CMD45), and > Extension for Video Speed Class (CMD20). > > First publication of SDUC was in [1]. This series was developed and > tested separately from [1] and does not borrow from it. > > [1] https://lwn.net/Articles/982566/ > > --- > Changes in v8: > - Attend some final comments (Ulf) > > Changes in v7: > - Minimizes the padding further in mmc_command (Christian) > - Set the SD_OCR_2T when enabling SDUC (Adrian) > - Remove unnecessary casting (Adrian) > - Remove redundant else and switch patches 3 & 4 (Adrian) > - Add patch to prevent HSQ from enabling (Adrian) > - Remove redundant variable and make use of clamp_val (Adrian) > > Changes in v6: > - Remove Ricky's tested-by tag - the series has changed greatly > - Call mmc_send_ext_addr from mmc_start_request (Adrian) > > Changes in v5: > - leave out the mask in mmc_send_ext_addr (Adrian) > - leave out close-ended SDUC support > - remove 500msec write delay as there is no busy indication (Adrian) > - disable mmc-test for SDUC > - move enabling SDUC to the last patch (Adrian) > > Changes in v4: > - Squash patches 1 & 2 (Ulf) > - Amend SD_OCR_2T to SD_OCR_CCS in mmc_sd_get_cid (Ulf) > - Use card state instead of caps2 (Ricky & Ulf) > - Switch patches 5 & 6 (Ulf) > > Changes in v3: > - Some more kernel test robot fixes > - Fix a typo in a commit log (Ricky WU) > - Fix ACMD22 returned value > - Add 'Tested-by' tag for the whole series (Ricky WU) > > Changes in v2: > - Attend kernel test robot warnings > > --- > > Avri Altman (10): > mmc: sd: SDUC Support Recognition > mmc: sd: Add Extension memory addressing > mmc: core: Don't use close-ended rw for SDUC > mmc: core: Add open-ended Ext memory addressing > mmc: core: Allow mmc erase to carry large addresses > mmc: core: Add Ext memory addressing for erase > mmc: core: Adjust ACMD22 to SDUC > mmc: core: Disable SDUC for mmc_test > mmc: core: Prevent HSQ from enabling for SDUC > mmc: core: Enable SDUC > > drivers/mmc/core/block.c | 37 +++++++++++++++++++++------- > drivers/mmc/core/bus.c | 4 +++- > drivers/mmc/core/card.h | 3 +++ > drivers/mmc/core/core.c | 48 +++++++++++++++++++++++++------------ > drivers/mmc/core/core.h | 16 +++++++++---- > drivers/mmc/core/mmc_test.c | 6 +++++ > drivers/mmc/core/sd.c | 38 +++++++++++++++++++---------- > drivers/mmc/core/sd.h | 2 +- > drivers/mmc/core/sd_ops.c | 15 ++++++++++++ > drivers/mmc/core/sd_ops.h | 1 + > drivers/mmc/core/sdio.c | 2 +- > include/linux/mmc/card.h | 2 +- > include/linux/mmc/core.h | 4 ++++ > include/linux/mmc/sd.h | 4 ++++ > 14 files changed, 137 insertions(+), 45 deletions(-) > Applied for next, thanks! Kind regards Uffe