From dbf20eb49f88602ed454337c706a63404249d012 Mon Sep 17 00:00:00 2001 From: Caterina Shablia Date: Thu, 20 Nov 2025 17:31:43 +0100 Subject: [PATCH] panvk: move sparse blackhole stuff to panvk_sparse.{c,h} While we're at it also add the SPDX header to panvk_sparse.c because I forgor to do that when it was first being added. Reviewed-by: Boris Brezillon Part-of: --- src/panfrost/vulkan/csf/panvk_vX_bind_queue.c | 1 + src/panfrost/vulkan/meson.build | 2 +- src/panfrost/vulkan/panvk_buffer.c | 1 + src/panfrost/vulkan/panvk_device.h | 5 ----- src/panfrost/vulkan/panvk_image.c | 1 + .../vulkan/{panvk_device.c => panvk_sparse.c} | 6 ++++++ src/panfrost/vulkan/panvk_sparse.h | 16 ++++++++++++++++ 7 files changed, 26 insertions(+), 6 deletions(-) rename src/panfrost/vulkan/{panvk_device.c => panvk_sparse.c} (96%) create mode 100644 src/panfrost/vulkan/panvk_sparse.h diff --git a/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c b/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c index ff5d089547e..435fc009387 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c +++ b/src/panfrost/vulkan/csf/panvk_vX_bind_queue.c @@ -15,6 +15,7 @@ #include "panvk_macros.h" #include "panvk_queue.h" #include "panvk_utrace.h" +#include "panvk_sparse.h" #include "util/bitscan.h" #include "vk_drm_syncobj.h" diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build index e8ca0510d47..9c7b06d2d35 100644 --- a/src/panfrost/vulkan/meson.build +++ b/src/panfrost/vulkan/meson.build @@ -38,7 +38,6 @@ panvk_tracepoints = custom_target( libpanvk_files = files( 'panvk_buffer.c', 'panvk_cmd_pool.c', - 'panvk_device.c', 'panvk_device_memory.c', 'panvk_host_copy.c', 'panvk_image.c', @@ -46,6 +45,7 @@ libpanvk_files = files( 'panvk_mempool.c', 'panvk_physical_device.c', 'panvk_priv_bo.c', + 'panvk_sparse.c', 'panvk_utrace.c', 'panvk_wsi.c', ) diff --git a/src/panfrost/vulkan/panvk_buffer.c b/src/panfrost/vulkan/panvk_buffer.c index 29194d8042f..109a7c5b726 100644 --- a/src/panfrost/vulkan/panvk_buffer.c +++ b/src/panfrost/vulkan/panvk_buffer.c @@ -7,6 +7,7 @@ #include "panvk_device.h" #include "panvk_device_memory.h" #include "panvk_entrypoints.h" +#include "panvk_sparse.h" #include "pan_props.h" diff --git a/src/panfrost/vulkan/panvk_device.h b/src/panfrost/vulkan/panvk_device.h index d8778f02fa0..b2d99e3b6c3 100644 --- a/src/panfrost/vulkan/panvk_device.h +++ b/src/panfrost/vulkan/panvk_device.h @@ -177,11 +177,6 @@ panvk_as_free(struct panvk_device *device, uint64_t address, uint64_t size) simple_mtx_unlock(&device->as.lock); } -VkResult panvk_map_to_blackhole(struct panvk_device *device, - uint64_t address, uint64_t size); - -struct pan_kmod_bo *panvk_get_blackhole(struct panvk_device *device); - #if PAN_ARCH VkResult panvk_per_arch(create_device)(struct panvk_physical_device *physical_device, diff --git a/src/panfrost/vulkan/panvk_image.c b/src/panfrost/vulkan/panvk_image.c index e434af6806c..46837534c13 100644 --- a/src/panfrost/vulkan/panvk_image.c +++ b/src/panfrost/vulkan/panvk_image.c @@ -36,6 +36,7 @@ #include "panvk_image.h" #include "panvk_instance.h" #include "panvk_physical_device.h" +#include "panvk_sparse.h" #include "drm-uapi/drm_fourcc.h" #include "util/u_atomic.h" diff --git a/src/panfrost/vulkan/panvk_device.c b/src/panfrost/vulkan/panvk_sparse.c similarity index 96% rename from src/panfrost/vulkan/panvk_device.c rename to src/panfrost/vulkan/panvk_sparse.c index 25c0c9c913c..1abbde1685a 100644 --- a/src/panfrost/vulkan/panvk_device.c +++ b/src/panfrost/vulkan/panvk_sparse.c @@ -1,4 +1,10 @@ +/* + * Copyright © 2025 Collabora Ltd. + * SPDX-License-Identifier: MIT + */ + #include "panvk_device.h" +#include "panvk_sparse.h" #include "drm-uapi/panthor_drm.h" diff --git a/src/panfrost/vulkan/panvk_sparse.h b/src/panfrost/vulkan/panvk_sparse.h new file mode 100644 index 00000000000..ce16850cd2a --- /dev/null +++ b/src/panfrost/vulkan/panvk_sparse.h @@ -0,0 +1,16 @@ +/* + * Copyright © 2025 Collabora Ltd. + * SPDX-License-Identifier: MIT + */ + +#ifndef PANVK_SPARSE_H +#define PANVK_SPARSE_H + +#include "vk_device.h" + +VkResult panvk_map_to_blackhole(struct panvk_device *device, + uint64_t address, uint64_t size); + +struct pan_kmod_bo *panvk_get_blackhole(struct panvk_device *device); + +#endif