On 6/21/24 10:05 AM, Philippe Mathieu-Daudé wrote:
> Various SD card cleanups and fixes accumulated over
> the years. Various have been useful to help integrating
> eMMC support (which will come later).
>
> Based-on: <20240621075607.17902-1-philmd@linaro.org> st24_be_p()
>
> Philippe Mathieu-Daudé (23):
> hw/sd/sdcard: Correct code indentation
> hw/sd/sdcard: Rewrite sd_cmd_ALL_SEND_CID using switch case (CMD2)
> hw/sd/sdcard: Fix typo in SEND_OP_COND command name
> hw/sd/sdcard: Use HWBLOCK_SHIFT definition instead of magic values
> hw/sd/sdcard: Use registerfield CSR::CURRENT_STATE definition
> hw/sd/sdcard: Use Load/Store API to fill some CID/CSD registers
> hw/sd/sdcard: Remove ACMD6 handler for SPI mode
> hw/sd/sdcard: Remove explicit entries for illegal commands
> hw/sd/sdcard: Generate random RCA value
> hw/sd/sdcard: Track last command used to help logging
> hw/sd/sdcard: Trace update of block count (CMD23)
> hw/sd/sdcard: Trace block offset in READ/WRITE data accesses
> hw/sd/sdcard: Have cmd_valid_while_locked() return a boolean value
> hw/sd/sdcard: Factor sd_req_get_rca() method out
> hw/sd/sdcard: Only call sd_req_get_rca() where RCA is used
> hw/sd/sdcard: Factor sd_req_get_address() method out
> hw/sd/sdcard: Only call sd_req_get_address() where address is used
> hw/sd/sdcard: Add sd_invalid_mode_for_cmd to report invalid mode
> switch
> hw/sd/sdcard: Inline BLK_READ_BLOCK / BLK_WRITE_BLOCK macros
> hw/sd/sdcard: Add comments around registers and commands
> hw/sd/sdcard: Do not store vendor data on block drive (CMD56)
> hw/sd/sdcard: Send WRITE_PROT bits MSB first (CMD30)
> hw/sd/sdcard: Send NUM_WR_BLOCKS bits MSB first (ACMD22)
>
> hw/sd/sd.c | 278 +++++++++++++++++++++++------------------
> hw/sd/sdmmc-internal.c | 2 +-
> hw/sd/trace-events | 7 +-
> 3 files changed, 159 insertions(+), 128 deletions(-)
>
Tested-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.