[Nouveau] [PATCH drm-misc-next v8 01/12] drm: manager to keep track of GPUs VA mappings
Steven Price
steven.price at arm.com
Thu Jul 20 10:44:02 UTC 2023
On 20/07/2023 01:14, Danilo Krummrich wrote:
> Add infrastructure to keep track of GPU virtual address (VA) mappings
> with a decicated VA space manager implementation.
>
> New UAPIs, motivated by Vulkan sparse memory bindings graphics drivers
> start implementing, allow userspace applications to request multiple and
> arbitrary GPU VA mappings of buffer objects. The DRM GPU VA manager is
> intended to serve the following purposes in this context.
>
> 1) Provide infrastructure to track GPU VA allocations and mappings,
> making using an interval tree (RB-tree).
>
> 2) Generically connect GPU VA mappings to their backing buffers, in
> particular DRM GEM objects.
>
> 3) Provide a common implementation to perform more complex mapping
> operations on the GPU VA space. In particular splitting and merging
> of GPU VA mappings, e.g. for intersecting mapping requests or partial
> unmap requests.
>
> Acked-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Acked-by: Matthew Brost <matthew.brost at intel.com>
> Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
> Tested-by: Matthew Brost <matthew.brost at intel.com>
> Tested-by: Donald Robson <donald.robson at imgtec.com>
> Suggested-by: Dave Airlie <airlied at redhat.com>
> Signed-off-by: Danilo Krummrich <dakr at redhat.com>
[...]
> diff --git a/drivers/gpu/drm/drm_gpuva_mgr.c b/drivers/gpu/drm/drm_gpuva_mgr.c
> new file mode 100644
> index 000000000000..dee2235530d6
> --- /dev/null
> +++ b/drivers/gpu/drm/drm_gpuva_mgr.c
[...]
> +static bool
> +drm_gpuva_check_overflow(u64 addr, u64 range)
> +{
> + u64 end;
> +
> + return WARN(check_add_overflow(addr, range, &end),
> + "GPUVA address limited to %lu bytes.\n", sizeof(end));
> +}
This produces a warning on 32 bit systems as sizeof() isn't necessarily
an unsigned long. The fix below silences the warning.
Thanks,
Steve
---8<-----
>From 9c7356580362b6ac4673724f18ea6e8453b52913 Mon Sep 17 00:00:00 2001
From: Steven Price <steven.price at arm.com>
Date: Thu, 20 Jul 2023 10:58:09 +0100
Subject: [PATCH] drm: manager: Fix printk format for size_t
sizeof() returns a size_t which may be different to an unsigned long.
Use the correct format specifier of '%zu' to prevent compiler warnings.
Fixes: e6303f323b1a ("drm: manager to keep track of GPUs VA mappings")
Signed-off-by: Steven Price <steven.price at arm.com>
---
drivers/gpu/drm/drm_gpuva_mgr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_gpuva_mgr.c b/drivers/gpu/drm/drm_gpuva_mgr.c
index 0b80177592a6..f86bfad74ff8 100644
--- a/drivers/gpu/drm/drm_gpuva_mgr.c
+++ b/drivers/gpu/drm/drm_gpuva_mgr.c
@@ -619,7 +619,7 @@ drm_gpuva_check_overflow(u64 addr, u64 range)
u64 end;
return WARN(check_add_overflow(addr, range, &end),
- "GPUVA address limited to %lu bytes.\n", sizeof(end));
+ "GPUVA address limited to %zu bytes.\n", sizeof(end));
}
static bool
--
2.39.2
More information about the Nouveau
mailing list