Message ID | 20240814072934.2559911-1-avri.altman@wdc.com |
---|---|
Headers | show |
Series | Add SDUC Support | expand |
Ulf, could you please take a look at this? Not sure it will make it to 6.12 merge window, but I was hoping to start making progress. Thanks, Avri > -----Original Message----- > From: Avri Altman <avri.altman@wdc.com> > Sent: Wednesday, August 14, 2024 10:29 AM > To: Ulf Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org > Cc: Ricky WU <ricky_wu@realtek.com>; Avri Altman <Avri.Altman@wdc.com> > Subject: [PATCH v3 00/10] Add SDUC Support > > 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 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 SD CSD version 3.0 > mmc: sd: Add Extension memory addressing > mmc: core: Add open-ended Ext memory addressing > mmc: host: Always use manual-cmd23 in SDUC > mmc: core: Add close-ended Ext memory addressing > 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 | 62 ++++++++++++++++++++++++++++++++------ > 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 | 16 ++++++---- > drivers/mmc/core/sd_ops.c | 34 ++++++++++++++++++--- > drivers/mmc/core/sd_ops.h | 1 + drivers/mmc/host/sdhci.c | 38 > +++++++++++++++++++---- include/linux/mmc/card.h | 2 +- > include/linux/mmc/core.h | 1 + include/linux/mmc/host.h | 6 ++++ > include/linux/mmc/sd.h | 4 +++ > 14 files changed, 204 insertions(+), 45 deletions(-) > > -- > 2.25.1
On Mon, 19 Aug 2024 at 07:46, Avri Altman <Avri.Altman@wdc.com> wrote: > > Ulf, could you please take a look at this? > Not sure it will make it to 6.12 merge window, but I was hoping to start making progress. Yes, sorry for the delay. I will look at this and the RPMB series from Jens the next couple of days. Kind regards Uffe > > Thanks, > Avri > > > -----Original Message----- > > From: Avri Altman <avri.altman@wdc.com> > > Sent: Wednesday, August 14, 2024 10:29 AM > > To: Ulf Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org > > Cc: Ricky WU <ricky_wu@realtek.com>; Avri Altman <Avri.Altman@wdc.com> > > Subject: [PATCH v3 00/10] Add SDUC Support > > > > 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 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 SD CSD version 3.0 > > mmc: sd: Add Extension memory addressing > > mmc: core: Add open-ended Ext memory addressing > > mmc: host: Always use manual-cmd23 in SDUC > > mmc: core: Add close-ended Ext memory addressing > > 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 | 62 ++++++++++++++++++++++++++++++++------ > > 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 | 16 ++++++---- > > drivers/mmc/core/sd_ops.c | 34 ++++++++++++++++++--- > > drivers/mmc/core/sd_ops.h | 1 + drivers/mmc/host/sdhci.c | 38 > > +++++++++++++++++++---- include/linux/mmc/card.h | 2 +- > > include/linux/mmc/core.h | 1 + include/linux/mmc/host.h | 6 ++++ > > include/linux/mmc/sd.h | 4 +++ > > 14 files changed, 204 insertions(+), 45 deletions(-) > > > > -- > > 2.25.1 >
On Wed, 14 Aug 2024 at 09:31, 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/ I realized that you didn't send this to Adrian Hunter. Please re-post and add him, I am sure he will have some valuable feedback for us. Kind regards Uffe > > --- > 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 SD CSD version 3.0 > mmc: sd: Add Extension memory addressing > mmc: core: Add open-ended Ext memory addressing > mmc: host: Always use manual-cmd23 in SDUC > mmc: core: Add close-ended Ext memory addressing > 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 | 62 ++++++++++++++++++++++++++++++++------ > 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 | 16 ++++++---- > drivers/mmc/core/sd_ops.c | 34 ++++++++++++++++++--- > drivers/mmc/core/sd_ops.h | 1 + > drivers/mmc/host/sdhci.c | 38 +++++++++++++++++++---- > include/linux/mmc/card.h | 2 +- > include/linux/mmc/core.h | 1 + > include/linux/mmc/host.h | 6 ++++ > include/linux/mmc/sd.h | 4 +++ > 14 files changed, 204 insertions(+), 45 deletions(-) > > -- > 2.25.1 >
> On Wed, 14 Aug 2024 at 09:31, 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/ > > I realized that you didn't send this to Adrian Hunter. Please re-post and add > him, I am sure he will have some valuable feedback for us. Will cc him on the next versions. Thanks, Avri > > Kind regards > Uffe > > > > > --- > > 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 SD CSD version 3.0 > > mmc: sd: Add Extension memory addressing > > mmc: core: Add open-ended Ext memory addressing > > mmc: host: Always use manual-cmd23 in SDUC > > mmc: core: Add close-ended Ext memory addressing > > 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 | 62 ++++++++++++++++++++++++++++++++-- > ---- > > 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 | 16 ++++++---- > > drivers/mmc/core/sd_ops.c | 34 ++++++++++++++++++--- > > drivers/mmc/core/sd_ops.h | 1 + drivers/mmc/host/sdhci.c | 38 > > +++++++++++++++++++---- include/linux/mmc/card.h | 2 +- > > include/linux/mmc/core.h | 1 + include/linux/mmc/host.h | 6 ++++ > > include/linux/mmc/sd.h | 4 +++ > > 14 files changed, 204 insertions(+), 45 deletions(-) > > > > -- > > 2.25.1 > >