drm/i915/fb: convert intel_framebuffer_init() to struct drm_gem_object
authorJani Nikula <jani.nikula@intel.com>
Tue, 17 Sep 2024 16:13:45 +0000 (19:13 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 19 Sep 2024 13:19:45 +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/1b14bb0719c172304f38dfe59ea7240b3f42ed73.1726589119.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_fb.c
drivers/gpu/drm/i915/display/intel_fb.h
drivers/gpu/drm/i915/display/intel_plane_initial.c
drivers/gpu/drm/xe/display/xe_plane_initial.c

index eb8dc3d..d863550 100644 (file)
@@ -1963,20 +1963,20 @@ static const struct drm_framebuffer_funcs intel_fb_funcs = {
 };
 
 int intel_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_private *dev_priv = to_i915(intel_bo_to_drm_bo(obj)->dev);
+       struct drm_i915_private *dev_priv = to_i915(obj->dev);
        struct drm_framebuffer *fb = &intel_fb->base;
        u32 max_stride;
        int ret = -EINVAL;
        int i;
 
-       ret = intel_fb_bo_framebuffer_init(intel_fb, obj, mode_cmd);
+       ret = intel_fb_bo_framebuffer_init(intel_fb, to_intel_bo(obj), mode_cmd);
        if (ret)
                return ret;
 
-       intel_fb->frontbuffer = intel_frontbuffer_get(obj);
+       intel_fb->frontbuffer = intel_frontbuffer_get(to_intel_bo(obj));
        if (!intel_fb->frontbuffer) {
                ret = -ENOMEM;
                goto err;
@@ -2042,7 +2042,7 @@ int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
                        }
                }
 
-               fb->obj[i] = intel_bo_to_drm_bo(obj);
+               fb->obj[i] = obj;
        }
 
        ret = intel_fill_fb_info(dev_priv, intel_fb);
@@ -2076,7 +2076,7 @@ err_free_dpt:
 err_frontbuffer_put:
        intel_frontbuffer_put(intel_fb->frontbuffer);
 err:
-       intel_fb_bo_framebuffer_fini(obj);
+       intel_fb_bo_framebuffer_fini(to_intel_bo(obj));
        return ret;
 }
 
@@ -2111,7 +2111,7 @@ intel_framebuffer_create(struct drm_i915_gem_object *obj,
        if (!intel_fb)
                return ERR_PTR(-ENOMEM);
 
-       ret = intel_framebuffer_init(intel_fb, obj, mode_cmd);
+       ret = intel_framebuffer_init(intel_fb, intel_bo_to_drm_bo(obj), mode_cmd);
        if (ret)
                goto err;
 
index 2ca919b..fef1f71 100644 (file)
@@ -85,7 +85,7 @@ void intel_fb_fill_view(const struct intel_framebuffer *fb, unsigned int rotatio
 int intel_plane_compute_gtt(struct intel_plane_state *plane_state);
 
 int intel_framebuffer_init(struct intel_framebuffer *ifb,
-                          struct drm_i915_gem_object *obj,
+                          struct drm_gem_object *obj,
                           struct drm_mode_fb_cmd2 *mode_cmd);
 struct drm_framebuffer *
 intel_user_framebuffer_create(struct drm_device *dev,
index ada1792..62401f6 100644 (file)
@@ -302,7 +302,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
        mode_cmd.flags = DRM_MODE_FB_MODIFIERS;
 
        if (intel_framebuffer_init(to_intel_framebuffer(fb),
-                                  vma->obj, &mode_cmd)) {
+                                  intel_bo_to_drm_bo(vma->obj), &mode_cmd)) {
                drm_dbg_kms(&dev_priv->drm, "intel fb init failed\n");
                goto err_vma;
        }
index a50ab9e..1b10ea4 100644 (file)
@@ -170,7 +170,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
                return false;
 
        if (intel_framebuffer_init(to_intel_framebuffer(fb),
-                                  bo, &mode_cmd)) {
+                                  &bo->ttm.base, &mode_cmd)) {
                drm_dbg_kms(&xe->drm, "intel fb init failed\n");
                goto err_bo;
        }