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@xxxxxxxxxxxxxxx> > Acked-by: Matthew Brost <matthew.brost@xxxxxxxxx> > Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > Tested-by: Matthew Brost <matthew.brost@xxxxxxxxx> > Tested-by: Donald Robson <donald.robson@xxxxxxxxxx> > Suggested-by: Dave Airlie <airlied@xxxxxxxxxx> > Signed-off-by: Danilo Krummrich <dakr@xxxxxxxxxx> [...] > 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@xxxxxxx> 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@xxxxxxx> --- 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