drm/msm/gem: Rename to pin/unpin_pages

Since that is what these fxns actually do.. they are getting *pinned*
pages (as opposed to cases where we need pages, but don't need them
pinned, like CPU mappings).

Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/496121/
Link: https://lore.kernel.org/r/20220802155152.1727594-7-robdclark@gmail.com
This commit is contained in:
Rob Clark 2022-08-02 08:51:39 -07:00
parent 901df24d7c
commit e7cd5ee9aa
3 changed files with 18 additions and 10 deletions

View File

@ -177,30 +177,38 @@ static void put_pages(struct drm_gem_object *obj)
} }
} }
struct page **msm_gem_get_pages(struct drm_gem_object *obj) static struct page **msm_gem_pin_pages_locked(struct drm_gem_object *obj)
{ {
struct msm_gem_object *msm_obj = to_msm_bo(obj); struct msm_gem_object *msm_obj = to_msm_bo(obj);
struct page **p; struct page **p;
msm_gem_lock(obj); GEM_WARN_ON(!msm_gem_is_locked(obj));
if (GEM_WARN_ON(msm_obj->madv != MSM_MADV_WILLNEED)) { if (GEM_WARN_ON(msm_obj->madv != MSM_MADV_WILLNEED)) {
msm_gem_unlock(obj);
return ERR_PTR(-EBUSY); return ERR_PTR(-EBUSY);
} }
p = get_pages(obj); p = get_pages(obj);
if (!IS_ERR(p)) { if (!IS_ERR(p)) {
msm_obj->pin_count++; msm_obj->pin_count++;
update_lru(obj); update_lru(obj);
} }
msm_gem_unlock(obj);
return p; return p;
} }
void msm_gem_put_pages(struct drm_gem_object *obj) struct page **msm_gem_pin_pages(struct drm_gem_object *obj)
{
struct page **p;
msm_gem_lock(obj);
p = msm_gem_pin_pages_locked(obj);
msm_gem_unlock(obj);
return p;
}
void msm_gem_unpin_pages(struct drm_gem_object *obj)
{ {
struct msm_gem_object *msm_obj = to_msm_bo(obj); struct msm_gem_object *msm_obj = to_msm_bo(obj);

View File

@ -159,8 +159,8 @@ int msm_gem_get_and_pin_iova(struct drm_gem_object *obj,
struct msm_gem_address_space *aspace, uint64_t *iova); struct msm_gem_address_space *aspace, uint64_t *iova);
void msm_gem_unpin_iova(struct drm_gem_object *obj, void msm_gem_unpin_iova(struct drm_gem_object *obj,
struct msm_gem_address_space *aspace); struct msm_gem_address_space *aspace);
struct page **msm_gem_get_pages(struct drm_gem_object *obj); struct page **msm_gem_pin_pages(struct drm_gem_object *obj);
void msm_gem_put_pages(struct drm_gem_object *obj); void msm_gem_unpin_pages(struct drm_gem_object *obj);
int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev, int msm_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
struct drm_mode_create_dumb *args); struct drm_mode_create_dumb *args);
int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,

View File

@ -63,12 +63,12 @@ struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
int msm_gem_prime_pin(struct drm_gem_object *obj) int msm_gem_prime_pin(struct drm_gem_object *obj)
{ {
if (!obj->import_attach) if (!obj->import_attach)
msm_gem_get_pages(obj); msm_gem_pin_pages(obj);
return 0; return 0;
} }
void msm_gem_prime_unpin(struct drm_gem_object *obj) void msm_gem_prime_unpin(struct drm_gem_object *obj)
{ {
if (!obj->import_attach) if (!obj->import_attach)
msm_gem_put_pages(obj); msm_gem_unpin_pages(obj);
} }