]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/msm/gem: Rename to pin/unpin_pages
authorRob Clark <robdclark@chromium.org>
Tue, 2 Aug 2022 15:51:39 +0000 (08:51 -0700)
committerRob Clark <robdclark@chromium.org>
Sat, 27 Aug 2022 16:32:44 +0000 (09:32 -0700)
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
drivers/gpu/drm/msm/msm_gem.c
drivers/gpu/drm/msm/msm_gem.h
drivers/gpu/drm/msm/msm_gem_prime.c

index 97467364dc0a46614652e01753a32f8afdc0e6fc..3da64c7f65a2f94b3c6897402c0d0f069f9fa663 100644 (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 page **p;
 
-       msm_gem_lock(obj);
+       GEM_WARN_ON(!msm_gem_is_locked(obj));
 
        if (GEM_WARN_ON(msm_obj->madv != MSM_MADV_WILLNEED)) {
-               msm_gem_unlock(obj);
                return ERR_PTR(-EBUSY);
        }
 
        p = get_pages(obj);
-
        if (!IS_ERR(p)) {
                msm_obj->pin_count++;
                update_lru(obj);
        }
 
+       return p;
+}
+
+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_put_pages(struct drm_gem_object *obj)
+void msm_gem_unpin_pages(struct drm_gem_object *obj)
 {
        struct msm_gem_object *msm_obj = to_msm_bo(obj);
 
index 0ab0dc4f8c2517f35f4e49914b98905d41572456..6fe521ccda45f8d01218cfa3992d93488daee525 100644 (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);
 void msm_gem_unpin_iova(struct drm_gem_object *obj,
                struct msm_gem_address_space *aspace);
-struct page **msm_gem_get_pages(struct drm_gem_object *obj);
-void msm_gem_put_pages(struct drm_gem_object *obj);
+struct page **msm_gem_pin_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,
                struct drm_mode_create_dumb *args);
 int msm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
index dcc8a573bc7625d1d7ef7611372e096fb7f2e118..c1d91863df055b619332b466128d7b3aba9fe6d2 100644 (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)
 {
        if (!obj->import_attach)
-               msm_gem_get_pages(obj);
+               msm_gem_pin_pages(obj);
        return 0;
 }
 
 void msm_gem_prime_unpin(struct drm_gem_object *obj)
 {
        if (!obj->import_attach)
-               msm_gem_put_pages(obj);
+               msm_gem_unpin_pages(obj);
 }