drm/i915/display: use intel_bo_to_drm_bo in intel_fb.c
authorJouni Högander <jouni.hogander@intel.com>
Sun, 3 Dec 2023 11:48:37 +0000 (13:48 +0200)
committerJouni Högander <jouni.hogander@intel.com>
Mon, 4 Dec 2023 05:26:28 +0000 (07:26 +0200)
We are preparing for Xe driver. I915 and Xe object implementation are
differing. Do not use  i915_gem_object->base directly. Instead use
intel_bo_to_drm_bo.

Also use drm_gem_object_put instead of i915_gem_object_put. This should be
ok as i915_gem_object_put is really just doing  __drm_gem_object_put.

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231203114840.841311-2-jouni.hogander@intel.com
drivers/gpu/drm/i915/display/intel_fb.c

index 77226ec00cb1c4d9b4c7f1d3351ed3eed61e6f88..b17600aba5772542ba2972d5e34606617b58d7df 100644 (file)
@@ -1657,10 +1657,10 @@ int intel_fill_fb_info(struct drm_i915_private *i915, struct intel_framebuffer *
                max_size = max(max_size, offset + size);
        }
 
-       if (mul_u32_u32(max_size, tile_size) > obj->base.size) {
+       if (mul_u32_u32(max_size, tile_size) > intel_bo_to_drm_bo(obj)->size) {
                drm_dbg_kms(&i915->drm,
                            "fb too big for bo (need %llu bytes, have %zu bytes)\n",
-                           mul_u32_u32(max_size, tile_size), obj->base.size);
+                           mul_u32_u32(max_size, tile_size), intel_bo_to_drm_bo(obj)->size);
                return -EINVAL;
        }
 
@@ -1889,7 +1889,7 @@ static int intel_user_framebuffer_create_handle(struct drm_framebuffer *fb,
                                                unsigned int *handle)
 {
        struct drm_i915_gem_object *obj = intel_fb_obj(fb);
-       struct drm_i915_private *i915 = to_i915(obj->base.dev);
+       struct drm_i915_private *i915 = to_i915(intel_bo_to_drm_bo(obj)->dev);
 
        if (i915_gem_object_is_userptr(obj)) {
                drm_dbg(&i915->drm,
@@ -1897,7 +1897,7 @@ static int intel_user_framebuffer_create_handle(struct drm_framebuffer *fb,
                return -EINVAL;
        }
 
-       return drm_gem_handle_create(file, &obj->base, handle);
+       return drm_gem_handle_create(file, intel_bo_to_drm_bo(obj), handle);
 }
 
 struct frontbuffer_fence_cb {
@@ -1975,7 +1975,7 @@ int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
                           struct drm_i915_gem_object *obj,
                           struct drm_mode_fb_cmd2 *mode_cmd)
 {
-       struct drm_i915_private *dev_priv = to_i915(obj->base.dev);
+       struct drm_i915_private *dev_priv = to_i915(intel_bo_to_drm_bo(obj)->dev);
        struct drm_framebuffer *fb = &intel_fb->base;
        u32 max_stride;
        unsigned int tiling, stride;
@@ -2153,7 +2153,7 @@ intel_user_framebuffer_create(struct drm_device *dev,
        }
 
        fb = intel_framebuffer_create(obj, &mode_cmd);
-       i915_gem_object_put(obj);
+       drm_gem_object_put(intel_bo_to_drm_bo(obj));
 
        return fb;
 }