[Openpvrsgx-devgroup] [PATCH 2/2] pvrsrv: 1.14: osfunc: use dma-direct unconditionally
Anthoine Bourgeois
anthoine.bourgeois at gmail.com
Thu Sep 8 17:01:34 CEST 2022
Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois at gmail.com>
---
.../services4/srvkm/env/linux/osfunc.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/pvrsgx/1.14.3699939/eurasia_km/services4/srvkm/env/linux/osfunc.c b/drivers/gpu/drm/pvrsgx/1.14.3699939/eurasia_km/services4/srvkm/env/linux/osfunc.c
index f58c63f0a0fb..55ed23ff7d57 100644
--- a/drivers/gpu/drm/pvrsgx/1.14.3699939/eurasia_km/services4/srvkm/env/linux/osfunc.c
+++ b/drivers/gpu/drm/pvrsgx/1.14.3699939/eurasia_km/services4/srvkm/env/linux/osfunc.c
@@ -4462,18 +4462,34 @@ static void pvr_dmac_clean_range(const void *pvStart, const void *pvEnd)
static void pvr_flush_range(phys_addr_t pStart, phys_addr_t pEnd)
{
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0))
+ struct device *dev = PVRLDMGetDevice();
+ dma_sync_single_for_device(dev, pStart, pEnd - pStart, DMA_TO_DEVICE);
+ dma_sync_single_for_cpu(dev, pStart, pEnd - pStart, DMA_FROM_DEVICE);
+#else
arm_dma_ops.sync_single_for_device(NULL, pStart, pEnd - pStart, DMA_TO_DEVICE);
arm_dma_ops.sync_single_for_cpu(NULL, pStart, pEnd - pStart, DMA_FROM_DEVICE);
+#endif
}
static void pvr_clean_range(phys_addr_t pStart, phys_addr_t pEnd)
{
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0))
+ struct device *dev = PVRLDMGetDevice();
+ dma_sync_single_for_device(dev, pStart, pEnd - pStart, DMA_TO_DEVICE);
+#else
arm_dma_ops.sync_single_for_device(NULL, pStart, pEnd - pStart, DMA_TO_DEVICE);
+#endif
}
static void pvr_invalidate_range(phys_addr_t pStart, phys_addr_t pEnd)
{
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,0,0))
+ struct device *dev = PVRLDMGetDevice();
+ dma_sync_single_for_cpu(dev, pStart, pEnd - pStart, DMA_FROM_DEVICE);
+#else
arm_dma_ops.sync_single_for_cpu(NULL, pStart, pEnd - pStart, DMA_FROM_DEVICE);
+#endif
}
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
--
2.35.1
More information about the openpvrsgx-devgroup
mailing list