RE: [PATCH 0/4] Add support SDUC for Realtek card readers

From: Ricky WU
Date: Fri Jul 26 2024 - 09:16:25 EST


Hi Ulf, Gregkh and Arnd

Please withdraw this patches.
I am cooperating with Avri and will have a new patch for SDUC.
It will more readable, complete and suitable for mmc

Ricky

> -----Original Message-----
> From: Avri Altman <Avri.Altman@xxxxxxx>
> Sent: Friday, July 26, 2024 2:14 PM
> To: Ricky WU <ricky_wu@xxxxxxxxxxx>; ulf.hansson@xxxxxxxxxx;
> linux-mmc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> ricardo@xxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx
> Subject: RE: [PATCH 0/4] Add support SDUC for Realtek card readers
>
>
> External mail.
>
>
>
> Hi,
> > Summary:
> > this patch is for mmc to support SDUC(Secure Digital Ultra Capacity)
> > and add Realtek Cardreaders to support it
> >
> > About SDUC:
> > SDUC is defined in SD7.0 spec, it support the max capacity is 128TB[1]
> >
> > Roughly implemented functions by this patch:
> > 1.Mutual identification of SDUC in ACMD41 initialization (5.2.1[2])
> > 2.SDUC card user area capacity calculation (5.2.2[2]) 3.Memory
> > read/write commands sequence (5.2.3[2]) 4.Erase Commands Sequence
> > (5.2.4[2])
> >
> > patches:
> > patch#1: Defined functions and modified some type of parameter
> > patch#2: For mmc to support SDUC
> > patch#3: Add Realtek sdmmc host to support SDUC
> > patch#4: Add Realtek card readers to support SDUC
> I think that the way you organized your code makes it very hard to review.
> I would like to propose rearranging your code in a more readable form.
> E.g. something like:
>
> 1) mmc: sd: SDUC Support Recognition:
> Explain how ACMD21 was extended to support the host-card handshake during
> initialization.
> Also, make it clear, e.g. in your commit log that if a SDUC card is inserted to a
> non-supporting host, it will never respond to this ACMD21 until eventually, the
> host will timed out and give up.
>
> 2) mmc: sd: Add SD CSD version 3.0
> Add here the require changes in core/bus.c, core/card.h, and csd ver 3 in
> mmc_decode_csd().
>
> 3) mmc: sd: Add Extension memory addressing Add in core/sd_ops.c
> mmc_send_ext_addr() so you'll be able to call it in open-ended rw, erase, etc.
> Here it's a good place to explain the general idea of the new CMD22.
>
> 4) mmc: core: Add open-ended Ext memory addressing Call
> mmc_send_ext_addr() for open-ended rw
>
> 5) mmc: host: Always use manual-cmd23 in SDUC
> 6) mmc: core: Add close-ended Ext memory addressing
> 7) mmc: host: Add close-ended Ext memory addressing Those 3 patches will
> facilitate close-ended rw.
> It should be IMO or any SDHCI and not just for RealTk's.
> Once the driver is in place, SDUC support doesn't require specific hw
> characteristics from the host controller.
>
> 8) mmc: core: Add Ext memory addressing for erase
> 9) mmc: core: Allow mmc erase to carry large addresses Make the require
> changes to support erase
>
> 10) mmc: core: Adjust ACMD22 to SDUC
> Make the adjustments in ACMD22.
>
> I also think that there are some specific issues with your implementation, But it
> would be easier to discuss those once the patches are in a more readable
> form.
>
> Thanks,
> Avri
>
>
> >
> > Reference:
> > [1] SD Specifications Part 1 Physical Layer Specification Version 7.00
> > [2] SD Specifications SDUC Host Implementation Guideline Version 1.00
> >
> > Ricky Wu(4):
> > mmc: core: some definitions and type modifications for SDUC
> > mmc: core: add SDUC init rw erase flow to mmc
> > mmc: rtsx: make Realtek sdmmc to support SDUC
> > misc: rtsx: add Realtek card readers to support SDUC
> >
> > drivers/misc/cardreader/rts5227.c | 1 +
> > drivers/misc/cardreader/rts5228.c | 1 +
> > drivers/misc/cardreader/rts5249.c | 1 +
> > drivers/misc/cardreader/rts5260.c | 1 +
> > drivers/misc/cardreader/rts5261.c | 1 +
> > drivers/misc/cardreader/rts5264.c | 2 +-
> > drivers/mmc/core/block.c | 13 +++++++--
> > drivers/mmc/core/bus.c | 4 ++-
> > drivers/mmc/core/card.h | 3 ++
> > drivers/mmc/core/core.c | 38 +++++++++++++++++--------
> > drivers/mmc/core/core.h | 6 ++--
> > drivers/mmc/core/host.h | 5 ++++
> > drivers/mmc/core/queue.h | 1 +
> > drivers/mmc/core/sd.c | 47
> +++++++++++++++++++++++++++++++
> > drivers/mmc/host/rtsx_pci_sdmmc.c | 6 ++++
> > include/linux/mmc/card.h | 2 +-
> > include/linux/mmc/core.h | 1 +
> > include/linux/mmc/host.h | 1 +
> > include/linux/mmc/sd.h | 5 ++++
> > include/linux/rtsx_pci.h | 1 +
> > 20 files changed, 121 insertions(+), 19 deletions(-)
> >
> >
> > --
> > 2.25.1