Messages in this thread | | | Date | Wed, 23 Nov 2022 19:40:10 +0300 | Subject | Re: [PATCH v9 03/11] drm/gem: Add evict() callback to drm_gem_object_funcs | From | Dmitry Osipenko <> |
| |
On 11/23/22 18:58, Steven Price wrote: > On 23/11/2022 02:57, Dmitry Osipenko wrote: >> Add new common evict() callback to drm_gem_object_funcs and corresponding >> drm_gem_object_evict() helper. This is a first step on a way to providing >> common GEM-shrinker API for DRM drivers. >> >> Suggested-by: Thomas Zimmermann <tzimmermann@suse.de> >> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> >> --- >> drivers/gpu/drm/drm_gem.c | 15 +++++++++++++++ >> include/drm/drm_gem.h | 12 ++++++++++++ >> 2 files changed, 27 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c >> index 299bca1390aa..c0510b8080d2 100644 >> --- a/drivers/gpu/drm/drm_gem.c >> +++ b/drivers/gpu/drm/drm_gem.c >> @@ -1458,3 +1458,18 @@ drm_gem_lru_scan(struct drm_gem_lru *lru, >> return freed; >> } >> EXPORT_SYMBOL(drm_gem_lru_scan); >> + >> +/** >> + * drm_gem_object_evict - helper to evict backing pages for a GEM object >> + * @obj: obj in question >> + */ >> +bool >> +drm_gem_object_evict(struct drm_gem_object *obj) >> +{ >> + dma_resv_assert_held(obj->resv); >> + >> + if (obj->funcs->evict) >> + return obj->funcs->evict(obj); >> + >> + return false; >> +} > > This function needs exporting for the module build to work correctly.
Indeed, I missed that drm-shmem can be built as a separate module.
-- Best regards, Dmitry
| |