From aebd71cc8d8696fbd829e23038be557da5e6e405 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Wed, 17 Sep 2025 11:09:57 +0200 Subject: [PATCH] panvk: Rely on supported_bo_flags to mask PAN_KMOD_BO_FLAG_GPU_UNCACHED Now that we have it hooked up at the props level, we can filter this flag out in panvk_device_adjust_bo_flags() and use this helper when creating our uncached mempool. Signed-off-by: Boris Brezillon Reviewed-by: Faith Ekstrand Reviewed-by: Christoph Pillmayer Part-of: --- src/panfrost/vulkan/panvk_device.h | 4 ++++ src/panfrost/vulkan/panvk_vX_device.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/panfrost/vulkan/panvk_device.h b/src/panfrost/vulkan/panvk_device.h index e796407fb96..ead293f0503 100644 --- a/src/panfrost/vulkan/panvk_device.h +++ b/src/panfrost/vulkan/panvk_device.h @@ -150,6 +150,10 @@ panvk_device_adjust_bo_flags(const struct panvk_device *device, if (PANVK_DEBUG(DUMP) || PANVK_DEBUG(TRACE)) bo_flags &= ~PAN_KMOD_BO_FLAG_NO_MMAP; + if (!(device->kmod.dev->props.supported_bo_flags & + PAN_KMOD_BO_FLAG_GPU_UNCACHED)) + bo_flags &= ~PAN_KMOD_BO_FLAG_GPU_UNCACHED; + return bo_flags; } diff --git a/src/panfrost/vulkan/panvk_vX_device.c b/src/panfrost/vulkan/panvk_vX_device.c index bdde03958fb..b0f049a29bd 100644 --- a/src/panfrost/vulkan/panvk_vX_device.c +++ b/src/panfrost/vulkan/panvk_vX_device.c @@ -81,7 +81,8 @@ panvk_device_init_mempools(struct panvk_device *dev) panvk_pool_init(&dev->mempools.rw, dev, NULL, NULL, &rw_pool_props); struct panvk_pool_properties rw_nc_pool_props = { - .create_flags = PAN_ARCH <= 9 ? 0 : PAN_KMOD_BO_FLAG_GPU_UNCACHED, + .create_flags = + panvk_device_adjust_bo_flags(dev, PAN_KMOD_BO_FLAG_GPU_UNCACHED), .slab_size = 16 * 1024, .label = "Device RW uncached memory pool", .owns_bos = false,