mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-21 04:38:05 -04:00
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: 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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user