> > On 25/08/24 10:41, Avri Altman 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/ > > Perhaps add support for mmc_test, and it would be better if enabling SDUC > was the last patch, so bisecting doesn't leave a kernel that half-supports SDUC. Done. Thanks, Avri > > > > > --- > > 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 (9): > > mmc: sd: SDUC Support Recognition > > mmc: sd: Add Extension memory addressing > > mmc: core: Add open-ended Ext memory addressing > > mmc: core: Add close-ended Ext memory addressing > > mmc: host: Always use manual-cmd23 in SDUC > > mmc: host: Add close-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 > > > > drivers/mmc/core/block.c | 56 ++++++++++++++++++++++++++++------ > > drivers/mmc/core/bus.c | 4 ++- > > drivers/mmc/core/card.h | 3 ++ > > drivers/mmc/core/core.c | 63 ++++++++++++++++++++++++++++--------- > -- > > drivers/mmc/core/core.h | 14 +++++++-- > > drivers/mmc/core/queue.h | 1 + > > drivers/mmc/core/sd.c | 36 ++++++++++++++-------- > > drivers/mmc/core/sd.h | 2 +- > > drivers/mmc/core/sd_ops.c | 16 ++++++++++ drivers/mmc/core/sd_ops.h > > | 1 + > > drivers/mmc/core/sdio.c | 2 +- > > drivers/mmc/host/sdhci.c | 40 +++++++++++++++++++++---- > > include/linux/mmc/card.h | 2 +- include/linux/mmc/core.h | 1 + > > include/linux/mmc/sd.h | 4 +++ > > 15 files changed, 195 insertions(+), 50 deletions(-) > >