]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/fb: convert intel_fb_bo_lookup_valid_bo() to struct drm_gem_object
authorJani Nikula <jani.nikula@intel.com>
Tue, 17 Sep 2024 16:13:46 +0000 (19:13 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 19 Sep 2024 13:19:48 +0000 (16:19 +0300)
Prefer the driver agnostic struct drm_gem_object over i915 specific
struct drm_i915_gem_object.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/645307ea7bf858d131ecdeff6ee9c9b99ae00526.1726589119.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb_bo.c
drivers/gpu/drm/i915/display/intel_fb_bo.h
drivers/gpu/drm/xe/display/intel_fb_bo.c
drivers/gpu/drm/xe/display/intel_fb_bo.h

index d863550021a0a1001850d4d4d597c3b66494d440..b705ae05c73e8f439593de0490b4d247b0bc2681 100644 (file)
@@ -2086,7 +2086,7 @@ intel_user_framebuffer_create(struct drm_device *dev,
                              const struct drm_mode_fb_cmd2 *user_mode_cmd)
 {
        struct drm_framebuffer *fb;
-       struct drm_i915_gem_object *obj;
+       struct drm_gem_object *obj;
        struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd;
        struct drm_i915_private *i915 = to_i915(dev);
 
@@ -2094,8 +2094,8 @@ intel_user_framebuffer_create(struct drm_device *dev,
        if (IS_ERR(obj))
                return ERR_CAST(obj);
 
-       fb = intel_framebuffer_create(obj, &mode_cmd);
-       drm_gem_object_put(intel_bo_to_drm_bo(obj));
+       fb = intel_framebuffer_create(to_intel_bo(obj), &mode_cmd);
+       drm_gem_object_put(obj);
 
        return fb;
 }
index 4be09541e50950c8e0744095a2ab6147f6caf1e8..c9a332afa601d08f4335f9d2e171f4530d25822b 100644 (file)
@@ -74,7 +74,7 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
        return 0;
 }
 
-struct drm_i915_gem_object *
+struct drm_gem_object *
 intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
                            struct drm_file *filp,
                            const struct drm_mode_fb_cmd2 *mode_cmd)
@@ -93,5 +93,5 @@ intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
                return ERR_PTR(-EREMOTE);
        }
 
-       return obj;
+       return intel_bo_to_drm_bo(obj);
 }
index 232bf898b0138976a4a337e295d5700c5536f3e1..e7f4e57e8964cafe12a19ac43c5b7a572eea74eb 100644 (file)
@@ -7,9 +7,10 @@
 #define __INTEL_FB_BO_H__
 
 struct drm_file;
-struct drm_mode_fb_cmd2;
+struct drm_gem_object;
 struct drm_i915_gem_object;
 struct drm_i915_private;
+struct drm_mode_fb_cmd2;
 struct intel_framebuffer;
 
 void intel_fb_bo_framebuffer_fini(struct drm_i915_gem_object *obj);
@@ -18,7 +19,7 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
                                 struct drm_i915_gem_object *obj,
                                 struct drm_mode_fb_cmd2 *mode_cmd);
 
-struct drm_i915_gem_object *
+struct drm_gem_object *
 intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
                            struct drm_file *filp,
                            const struct drm_mode_fb_cmd2 *user_mode_cmd);
index 63ce97cc4cfef7616eb3c8ca069aa735d5dbd055..a973106d9e8c5966130b31b0b21fa1b5fbfff27a 100644 (file)
@@ -65,11 +65,11 @@ err:
        return ret;
 }
 
-struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
-                                         struct drm_file *filp,
-                                         const struct drm_mode_fb_cmd2 *mode_cmd)
+struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
+                                                  struct drm_file *filp,
+                                                  const struct drm_mode_fb_cmd2 *mode_cmd)
 {
-       struct drm_i915_gem_object *bo;
+       struct xe_bo *bo;
        struct drm_gem_object *gem = drm_gem_object_lookup(filp, mode_cmd->handles[0]);
 
        if (!gem)
@@ -78,11 +78,11 @@ struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
        bo = gem_to_xe_bo(gem);
        /* Require vram placement or dma-buf import */
        if (IS_DGFX(i915) &&
-           !xe_bo_can_migrate(gem_to_xe_bo(gem), XE_PL_VRAM0) &&
+           !xe_bo_can_migrate(bo, XE_PL_VRAM0) &&
            bo->ttm.type != ttm_bo_type_sg) {
                drm_gem_object_put(gem);
                return ERR_PTR(-EREMOTE);
        }
 
-       return bo;
+       return gem;
 }
index 5d365b925b7ad693fcf0ac285df4c30331ebc107..430acca554fbcbfa13403268e3c4318b4f61420b 100644 (file)
@@ -7,8 +7,9 @@
 #define __INTEL_FB_BO_H__
 
 struct drm_file;
-struct drm_mode_fb_cmd2;
+struct drm_gem_object;
 struct drm_i915_private;
+struct drm_mode_fb_cmd2;
 struct intel_framebuffer;
 struct xe_bo;
 
@@ -17,8 +18,8 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
                                 struct xe_bo *bo,
                                 struct drm_mode_fb_cmd2 *mode_cmd);
 
-struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
-                                         struct drm_file *filp,
-                                         const struct drm_mode_fb_cmd2 *mode_cmd);
+struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
+                                                  struct drm_file *filp,
+                                                  const struct drm_mode_fb_cmd2 *mode_cmd);
 
 #endif