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:
parent
901df24d7c
commit
e7cd5ee9aa
@ -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);
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user