[PATCH v5 00/14] hw/sd/sdhci: Set reset value of interrupt registers

Philippe Mathieu-Daudé posted 14 patches 3 weeks, 2 days ago
hw/sd/sdhci-internal.h              |  26 ++---
include/hw/qdev-properties-system.h |   1 +
include/hw/sd/sdhci.h               |  83 ++++++++++----
hw/arm/aspeed.c                     |   2 +-
hw/arm/fsl-imx25.c                  |   2 -
hw/arm/fsl-imx6.c                   |   2 -
hw/arm/fsl-imx6ul.c                 |   2 -
hw/arm/fsl-imx7.c                   |   2 -
hw/arm/fsl-imx8mp.c                 |   2 -
hw/ppc/e500.c                       |  12 +-
hw/sd/sdhci-pci.c                   |   1 +
hw/sd/sdhci.c                       | 166 ++++++++++++++++++----------
12 files changed, 184 insertions(+), 117 deletions(-)
[PATCH v5 00/14] hw/sd/sdhci: Set reset value of interrupt registers
Posted by Philippe Mathieu-Daudé 3 weeks, 2 days ago
Since v4:
- Convert quirks (Zoltan)
- Cache class to avoid invalid cast with PCI
- Remove 'endianness' property (Bernhard)

Since v3:
- Fix "hw/qdev-properties-system.h" (first patch)
- Convert to EndianMode (patch #10)

Rainy saturday, time for some hobbyist contributions :)

In this series we try to address the issue Zoltan reported
and try to fix in [*], but using a more generic approach.
The SDHCI code ends up better consolidated and ready to
scale for more vendor implementations.

[*] https://lore.kernel.org/qemu-devel/20250210160329.DDA7F4E600E@zero.eik.bme.hu/

Philippe Mathieu-Daudé (14):
  hw/qdev-properties-system: Include missing 'qapi/qapi-types-common.h'
  hw/sd/sdhci: Remove need for SDHCIState::vendor field
  hw/sd/sdhci: Redefine SDHCI_QUIRK_NO_BUSY_IRQ bitmask as bit
  hw/sd/sdhci: Include 'wp-inverted' property in quirk bitmask
  hw/sd/sdhci: Include 'pending-insert-quirk' property in quirk bitmask
  hw/sd/sdhci: Introduce SDHCIClass stub
  hw/sd/sdhci: Make quirks a class property
  hw/sd/sdhci: Make I/O region size a class property
  hw/sd/sdhci: Allow SDHCI classes to register their own MemoryRegionOps
  hw/sd/sdhci: Allow SDHCI classes to register their own read-only regs
  hw/sd/sdhci: Allow SDHCI classes to have different register reset
    values
  hw/sd/sdhci: Implement Freescale eSDHC as TYPE_FSL_ESDHC
  hw/ppc/e500: Replace generic SDHCI by Freescale eSDHC
  hw/sd/sdhci: Remove unnecessary 'endianness' property

 hw/sd/sdhci-internal.h              |  26 ++---
 include/hw/qdev-properties-system.h |   1 +
 include/hw/sd/sdhci.h               |  83 ++++++++++----
 hw/arm/aspeed.c                     |   2 +-
 hw/arm/fsl-imx25.c                  |   2 -
 hw/arm/fsl-imx6.c                   |   2 -
 hw/arm/fsl-imx6ul.c                 |   2 -
 hw/arm/fsl-imx7.c                   |   2 -
 hw/arm/fsl-imx8mp.c                 |   2 -
 hw/ppc/e500.c                       |  12 +-
 hw/sd/sdhci-pci.c                   |   1 +
 hw/sd/sdhci.c                       | 166 ++++++++++++++++++----------
 12 files changed, 184 insertions(+), 117 deletions(-)

-- 
2.47.1