From: Seung-Woo Kim Date: Tue, 18 Jul 2023 07:23:30 +0000 (+0900) Subject: amlogic: drm: meson_gem: Add prime_vmap callback functionality for dmabuf X-Git-Tag: accepted/tizen/unified/20230719.102858^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6c8f71c6abf7df5a9da9b6e6724e3903a2215c2b;p=platform%2Fkernel%2Flinux-amlogic.git amlogic: drm: meson_gem: Add prime_vmap callback functionality for dmabuf To support dmabuf usage of drm gem from other sub-system like video4linux, implement prime_vmap and prime_vunmap callback functions properly. Change-Id: I7be33a94da753dffc497c023fc9b592e4980d709 Signed-off-by: Seung-Woo Kim --- diff --git a/drivers/amlogic/drm/meson_gem.c b/drivers/amlogic/drm/meson_gem.c index 314045d8d747..522ee432b094 100644 --- a/drivers/amlogic/drm/meson_gem.c +++ b/drivers/amlogic/drm/meson_gem.c @@ -655,8 +655,16 @@ struct drm_gem_object *am_meson_gem_prime_import_sg_table( void *am_meson_gem_prime_vmap(struct drm_gem_object *obj) { + struct am_meson_gem_object *meson_gem_obj; + DRM_DEBUG("am_meson_gem_prime_vmap %p.\n", obj); + meson_gem_obj = to_am_meson_gem_obj(obj); + + if (meson_gem_obj->handle) + return ion_map_kernel(meson_gem_obj->handle->client, + meson_gem_obj->handle); + return NULL; } @@ -664,7 +672,15 @@ void am_meson_gem_prime_vunmap( struct drm_gem_object *obj, void *vaddr) { + struct am_meson_gem_object *meson_gem_obj; + DRM_DEBUG("am_meson_gem_prime_vunmap nothing to do.\n"); + + meson_gem_obj = to_am_meson_gem_obj(obj); + + if (meson_gem_obj->handle) + ion_unmap_kernel(meson_gem_obj->handle->client, + meson_gem_obj->handle); } int am_meson_gem_prime_mmap(