[PATCH v2 00/23] hw: Have DMA APIs take MemTxAttrs arg & propagate MemTxResult (full)

Philippe Mathieu-Daudé posted 23 patches 2 years, 4 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211223115554.3155328-1-philmd@redhat.com
include/hw/pci/pci.h          | 38 +++++++++------
include/hw/ppc/spapr_vio.h    | 30 ++++++++----
include/sysemu/dma.h          | 90 +++++++++++++++++++++--------------
hw/arm/musicpal.c             | 13 ++---
hw/arm/smmu-common.c          |  3 +-
hw/arm/smmuv3.c               | 14 ++++--
hw/audio/intel-hda.c          | 13 +++--
hw/core/generic-loader.c      |  3 +-
hw/display/virtio-gpu.c       | 10 ++--
hw/dma/pl330.c                | 12 +++--
hw/dma/sparc32_dma.c          | 16 ++++---
hw/dma/xlnx-zynq-devcfg.c     |  6 ++-
hw/dma/xlnx_dpdma.c           | 10 ++--
hw/hyperv/vmbus.c             |  8 ++--
hw/i386/amd_iommu.c           | 16 ++++---
hw/i386/intel_iommu.c         | 28 ++++++-----
hw/ide/ahci.c                 | 18 ++++---
hw/ide/macio.c                |  2 +-
hw/intc/pnv_xive.c            |  7 +--
hw/intc/spapr_xive.c          |  3 +-
hw/intc/xive.c                |  7 +--
hw/misc/bcm2835_property.c    |  3 +-
hw/misc/macio/mac_dbdma.c     | 10 ++--
hw/net/allwinner-sun8i-emac.c | 18 ++++---
hw/net/eepro100.c             | 49 +++++++++++--------
hw/net/ftgmac100.c            | 25 ++++++----
hw/net/imx_fec.c              | 32 ++++++++-----
hw/net/npcm7xx_emc.c          | 20 ++++----
hw/net/tulip.c                | 36 +++++++-------
hw/nvme/ctrl.c                |  5 +-
hw/nvram/fw_cfg.c             | 16 ++++---
hw/pci-host/pnv_phb3.c        |  5 +-
hw/pci-host/pnv_phb3_msi.c    |  9 ++--
hw/pci-host/pnv_phb4.c        |  5 +-
hw/scsi/esp-pci.c             |  2 +-
hw/scsi/megasas.c             | 86 ++++++++++++++++++++++-----------
hw/scsi/mptsas.c              | 16 +++++--
hw/scsi/scsi-bus.c            |  4 +-
hw/scsi/vmw_pvscsi.c          | 20 +++++---
hw/sd/allwinner-sdhost.c      | 14 +++---
hw/sd/sdhci.c                 | 35 +++++++++-----
hw/usb/hcd-dwc2.c             |  8 ++--
hw/usb/hcd-ehci.c             |  6 ++-
hw/usb/hcd-ohci.c             | 28 ++++++-----
hw/usb/hcd-xhci.c             | 26 ++++++----
hw/usb/libhw.c                |  3 +-
hw/virtio/virtio.c            |  6 ++-
softmmu/dma-helpers.c         | 32 ++++++++-----
hw/scsi/trace-events          |  8 ++--
49 files changed, 542 insertions(+), 332 deletions(-)
[PATCH v2 00/23] hw: Have DMA APIs take MemTxAttrs arg & propagate MemTxResult (full)
Posted by Philippe Mathieu-Daudé 2 years, 4 months ago
Hi Peter and Paolo.

This series contains all the uncontroversary patches from
the "improve DMA situations, avoid re-entrancy issues"
earlier series. The rest will be discussed on top.

The only operations added are:
- take MemTxAttrs argument
- propagate MemTxResult

All patches are reviewed.

If you don't see any objection, I plan to send this via
a pull request by the end of next week.

Regards,

Phil.

Philippe Mathieu-Daudé (23):
  dma: Let dma_memory_valid() take MemTxAttrs argument
  dma: Let dma_memory_set() take MemTxAttrs argument
  dma: Let dma_memory_rw_relaxed() take MemTxAttrs argument
  dma: Let dma_memory_rw() take MemTxAttrs argument
  dma: Let dma_memory_read/write() take MemTxAttrs argument
  dma: Let dma_memory_map() take MemTxAttrs argument
  dma: Have dma_buf_rw() take a void pointer
  dma: Have dma_buf_read() / dma_buf_write() take a void pointer
  dma: Let pci_dma_rw() take MemTxAttrs argument
  dma: Let dma_buf_rw() take MemTxAttrs argument
  dma: Let dma_buf_write() take MemTxAttrs argument
  dma: Let dma_buf_read() take MemTxAttrs argument
  dma: Let dma_buf_rw() propagate MemTxResult
  dma: Let dma_buf_read() / dma_buf_write() propagate MemTxResult
  dma: Let st*_dma() take MemTxAttrs argument
  dma: Let ld*_dma() take MemTxAttrs argument
  dma: Let st*_dma() propagate MemTxResult
  dma: Let ld*_dma() propagate MemTxResult
  hw/scsi/megasas: Use uint32_t for reply queue head/tail values
  pci: Let st*_pci_dma() take MemTxAttrs argument
  pci: Let ld*_pci_dma() take MemTxAttrs argument
  pci: Let st*_pci_dma() propagate MemTxResult
  pci: Let ld*_pci_dma() propagate MemTxResult

 include/hw/pci/pci.h          | 38 +++++++++------
 include/hw/ppc/spapr_vio.h    | 30 ++++++++----
 include/sysemu/dma.h          | 90 +++++++++++++++++++++--------------
 hw/arm/musicpal.c             | 13 ++---
 hw/arm/smmu-common.c          |  3 +-
 hw/arm/smmuv3.c               | 14 ++++--
 hw/audio/intel-hda.c          | 13 +++--
 hw/core/generic-loader.c      |  3 +-
 hw/display/virtio-gpu.c       | 10 ++--
 hw/dma/pl330.c                | 12 +++--
 hw/dma/sparc32_dma.c          | 16 ++++---
 hw/dma/xlnx-zynq-devcfg.c     |  6 ++-
 hw/dma/xlnx_dpdma.c           | 10 ++--
 hw/hyperv/vmbus.c             |  8 ++--
 hw/i386/amd_iommu.c           | 16 ++++---
 hw/i386/intel_iommu.c         | 28 ++++++-----
 hw/ide/ahci.c                 | 18 ++++---
 hw/ide/macio.c                |  2 +-
 hw/intc/pnv_xive.c            |  7 +--
 hw/intc/spapr_xive.c          |  3 +-
 hw/intc/xive.c                |  7 +--
 hw/misc/bcm2835_property.c    |  3 +-
 hw/misc/macio/mac_dbdma.c     | 10 ++--
 hw/net/allwinner-sun8i-emac.c | 18 ++++---
 hw/net/eepro100.c             | 49 +++++++++++--------
 hw/net/ftgmac100.c            | 25 ++++++----
 hw/net/imx_fec.c              | 32 ++++++++-----
 hw/net/npcm7xx_emc.c          | 20 ++++----
 hw/net/tulip.c                | 36 +++++++-------
 hw/nvme/ctrl.c                |  5 +-
 hw/nvram/fw_cfg.c             | 16 ++++---
 hw/pci-host/pnv_phb3.c        |  5 +-
 hw/pci-host/pnv_phb3_msi.c    |  9 ++--
 hw/pci-host/pnv_phb4.c        |  5 +-
 hw/scsi/esp-pci.c             |  2 +-
 hw/scsi/megasas.c             | 86 ++++++++++++++++++++++-----------
 hw/scsi/mptsas.c              | 16 +++++--
 hw/scsi/scsi-bus.c            |  4 +-
 hw/scsi/vmw_pvscsi.c          | 20 +++++---
 hw/sd/allwinner-sdhost.c      | 14 +++---
 hw/sd/sdhci.c                 | 35 +++++++++-----
 hw/usb/hcd-dwc2.c             |  8 ++--
 hw/usb/hcd-ehci.c             |  6 ++-
 hw/usb/hcd-ohci.c             | 28 ++++++-----
 hw/usb/hcd-xhci.c             | 26 ++++++----
 hw/usb/libhw.c                |  3 +-
 hw/virtio/virtio.c            |  6 ++-
 softmmu/dma-helpers.c         | 32 ++++++++-----
 hw/scsi/trace-events          |  8 ++--
 49 files changed, 542 insertions(+), 332 deletions(-)

-- 
2.33.1


Re: [PATCH v2 00/23] hw: Have DMA APIs take MemTxAttrs arg & propagate MemTxResult (full)
Posted by Philippe Mathieu-Daudé 2 years, 4 months ago
On 12/23/21 12:55, Philippe Mathieu-Daudé wrote:
> Hi Peter and Paolo.
> 
> This series contains all the uncontroversary patches from
> the "improve DMA situations, avoid re-entrancy issues"
> earlier series. The rest will be discussed on top.
> 
> The only operations added are:
> - take MemTxAttrs argument
> - propagate MemTxResult

Series queued.


Re: [PATCH v2 00/23] hw: Have DMA APIs take MemTxAttrs arg & propagate MemTxResult (full)
Posted by Philippe Mathieu-Daudé 2 years, 4 months ago
On 12/30/21 17:07, Philippe Mathieu-Daudé wrote:
> On 12/23/21 12:55, Philippe Mathieu-Daudé wrote:
>> Hi Peter and Paolo.
>>
>> This series contains all the uncontroversary patches from
>> the "improve DMA situations, avoid re-entrancy issues"
>> earlier series. The rest will be discussed on top.
>>
>> The only operations added are:
>> - take MemTxAttrs argument
>> - propagate MemTxResult
> 
> Series queued.

Patch 14 "dma: Let dma_buf_read/dma_buf_write propagate MemTxResult"
fails on 32-bit host (when passing &size_t). Dropped it from the queue.