dma: Let dma_memory_valid() take MemTxAttrs argument
authorPhilippe Mathieu-Daudé <philmd@redhat.com>
Thu, 3 Sep 2020 07:28:49 +0000 (09:28 +0200)
committerPhilippe Mathieu-Daudé <philmd@redhat.com>
Thu, 30 Dec 2021 16:16:32 +0000 (17:16 +0100)
Let devices specify transaction attributes when calling
dma_memory_valid().

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20211223115554.3155328-2-philmd@redhat.com>

include/hw/ppc/spapr_vio.h
include/sysemu/dma.h

index 4bea87f39cc4ee100da1e6454276becbf300b449..4c45f1579faa1b4f4e36a87ffd837357527aa13e 100644 (file)
@@ -91,7 +91,7 @@ static inline void spapr_vio_irq_pulse(SpaprVioDevice *dev)
 static inline bool spapr_vio_dma_valid(SpaprVioDevice *dev, uint64_t taddr,
                                        uint32_t size, DMADirection dir)
 {
-    return dma_memory_valid(&dev->as, taddr, size, dir);
+    return dma_memory_valid(&dev->as, taddr, size, dir, MEMTXATTRS_UNSPECIFIED);
 }
 
 static inline int spapr_vio_dma_read(SpaprVioDevice *dev, uint64_t taddr,
index 3201e7901dbfcbbbb4b0d76aca1a8a5b2bd74c75..296f3b57c9c6f0268f2eef17108a956f48783b7a 100644 (file)
@@ -73,11 +73,11 @@ static inline void dma_barrier(AddressSpace *as, DMADirection dir)
  * dma_memory_{read,write}() and check for errors */
 static inline bool dma_memory_valid(AddressSpace *as,
                                     dma_addr_t addr, dma_addr_t len,
-                                    DMADirection dir)
+                                    DMADirection dir, MemTxAttrs attrs)
 {
     return address_space_access_valid(as, addr, len,
                                       dir == DMA_DIRECTION_FROM_DEVICE,
-                                      MEMTXATTRS_UNSPECIFIED);
+                                      attrs);
 }
 
 static inline MemTxResult dma_memory_rw_relaxed(AddressSpace *as,