]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/fb: convert intel_fb_bo_framebuffer_init() to struct drm_i915_gem_object
authorJani Nikula <jani.nikula@intel.com>
Tue, 17 Sep 2024 16:13:47 +0000 (19:13 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 19 Sep 2024 13:19:52 +0000 (16:19 +0300)
Prefer the driver agnostic struct drm_gem_object over i915 specific
struct drm_i915_gem_object. Add new intel_bo_* functions as needed.

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/37f6dbb8946198cfac132e5e8eb5820f4f8dbc13.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 b705ae05c73e8f439593de0490b4d247b0bc2681..107ee5d3665fb7fd35f52c0296027ebe7cc1048d 100644 (file)
@@ -1972,7 +1972,7 @@ int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
        int ret = -EINVAL;
        int i;
 
-       ret = intel_fb_bo_framebuffer_init(intel_fb, to_intel_bo(obj), mode_cmd);
+       ret = intel_fb_bo_framebuffer_init(intel_fb, obj, mode_cmd);
        if (ret)
                return ret;
 
index c9a332afa601d08f4335f9d2e171f4530d25822b..0932bd9f0100ac3509800e1a9cf6f9ed3f363a7f 100644 (file)
@@ -17,9 +17,10 @@ void intel_fb_bo_framebuffer_fini(struct drm_i915_gem_object *obj)
 }
 
 int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
-                                struct drm_i915_gem_object *obj,
+                                struct drm_gem_object *_obj,
                                 struct drm_mode_fb_cmd2 *mode_cmd)
 {
+       struct drm_i915_gem_object *obj = to_intel_bo(_obj);
        struct drm_i915_private *i915 = to_i915(obj->base.dev);
        unsigned int tiling, stride;
 
index e7f4e57e8964cafe12a19ac43c5b7a572eea74eb..6030029042e798db5b8657234c3719e3e1cca992 100644 (file)
@@ -16,7 +16,7 @@ struct intel_framebuffer;
 void intel_fb_bo_framebuffer_fini(struct drm_i915_gem_object *obj);
 
 int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
-                                struct drm_i915_gem_object *obj,
+                                struct drm_gem_object *obj,
                                 struct drm_mode_fb_cmd2 *mode_cmd);
 
 struct drm_gem_object *
index a973106d9e8c5966130b31b0b21fa1b5fbfff27a..a3ec82d5ac8aa0c6682ab65be8d40024ae4ea458 100644 (file)
@@ -23,9 +23,10 @@ void intel_fb_bo_framebuffer_fini(struct xe_bo *bo)
 }
 
 int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
-                                struct xe_bo *bo,
+                                struct drm_gem_object *obj,
                                 struct drm_mode_fb_cmd2 *mode_cmd)
 {
+       struct xe_bo *bo = gem_to_xe_bo(obj);
        struct xe_device *xe = to_xe_device(bo->ttm.base.dev);
        int ret;
 
index 430acca554fbcbfa13403268e3c4318b4f61420b..ad835bc050e81fe640dd19fe9d06ca7d010679d7 100644 (file)
@@ -15,7 +15,7 @@ struct xe_bo;
 
 void intel_fb_bo_framebuffer_fini(struct xe_bo *bo);
 int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
-                                struct xe_bo *bo,
+                                struct drm_gem_object *obj,
                                 struct drm_mode_fb_cmd2 *mode_cmd);
 
 struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,