Commit 72207699 authored by Jouni Högander's avatar Jouni Högander
Browse files

drm/i915/display: use intel_bo_to_drm_bo in intel_fb.c



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: default avatarJouni Högander <jouni.hogander@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231203114840.841311-2-jouni.hogander@intel.com
parent c952bf11
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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;
}