From c615b4ae10227332f4a50474b40f144773fbdc4d Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 11 Dec 2023 12:20:30 +0100 Subject: [PATCH] panfrost: Add a helper to retrieve a panfrost_bo from a pan_kmod_bo Will be useful to transition panvk out of panfrost_{device,bo}. Signed-off-by: Boris Brezillon Reviewed-by: Constantine Shablya Reviewed-by: Erik Faye-Lund Part-of: --- src/panfrost/lib/pan_bo.c | 13 +++++++++++++ src/panfrost/lib/pan_bo.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/src/panfrost/lib/pan_bo.c b/src/panfrost/lib/pan_bo.c index 77d59a2719a..ab26b2b5ddc 100644 --- a/src/panfrost/lib/pan_bo.c +++ b/src/panfrost/lib/pan_bo.c @@ -521,3 +521,16 @@ panfrost_bo_export(struct panfrost_bo *bo) return ret; } + +struct panfrost_bo * +panfrost_bo_from_kmod_bo(struct panfrost_device *dev, + struct pan_kmod_bo *kmod_bo) +{ + if (!kmod_bo) + return NULL; + + struct panfrost_bo *bo = pan_lookup_bo(dev, pan_kmod_bo_handle(kmod_bo)); + assert(bo->kmod_bo == kmod_bo); + + return bo; +} diff --git a/src/panfrost/lib/pan_bo.h b/src/panfrost/lib/pan_bo.h index c9e016eeff7..bc738d55138 100644 --- a/src/panfrost/lib/pan_bo.h +++ b/src/panfrost/lib/pan_bo.h @@ -127,6 +127,9 @@ panfrost_bo_handle(struct panfrost_bo *bo) return bo->kmod_bo->handle; } +struct panfrost_bo *panfrost_bo_from_kmod_bo(struct panfrost_device *dev, + struct pan_kmod_bo *kmod_bo); + bool panfrost_bo_wait(struct panfrost_bo *bo, int64_t timeout_ns, bool wait_readers); void panfrost_bo_reference(struct panfrost_bo *bo);