mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 16:22:41 -04:00
drm/i915/fb: convert intel_fb_bo_lookup_valid_bo() to struct drm_gem_object
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/645307ea7bf858d131ecdeff6ee9c9b99ae00526.1726589119.git.jani.nikula@intel.com
This commit is contained in:
@@ -2086,7 +2086,7 @@ intel_user_framebuffer_create(struct drm_device *dev,
|
||||
const struct drm_mode_fb_cmd2 *user_mode_cmd)
|
||||
{
|
||||
struct drm_framebuffer *fb;
|
||||
struct drm_i915_gem_object *obj;
|
||||
struct drm_gem_object *obj;
|
||||
struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd;
|
||||
struct drm_i915_private *i915 = to_i915(dev);
|
||||
|
||||
@@ -2094,8 +2094,8 @@ intel_user_framebuffer_create(struct drm_device *dev,
|
||||
if (IS_ERR(obj))
|
||||
return ERR_CAST(obj);
|
||||
|
||||
fb = intel_framebuffer_create(obj, &mode_cmd);
|
||||
drm_gem_object_put(intel_bo_to_drm_bo(obj));
|
||||
fb = intel_framebuffer_create(to_intel_bo(obj), &mode_cmd);
|
||||
drm_gem_object_put(obj);
|
||||
|
||||
return fb;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct drm_i915_gem_object *
|
||||
struct drm_gem_object *
|
||||
intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
struct drm_file *filp,
|
||||
const struct drm_mode_fb_cmd2 *mode_cmd)
|
||||
@@ -93,5 +93,5 @@ intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
return ERR_PTR(-EREMOTE);
|
||||
}
|
||||
|
||||
return obj;
|
||||
return intel_bo_to_drm_bo(obj);
|
||||
}
|
||||
|
||||
@@ -7,9 +7,10 @@
|
||||
#define __INTEL_FB_BO_H__
|
||||
|
||||
struct drm_file;
|
||||
struct drm_mode_fb_cmd2;
|
||||
struct drm_gem_object;
|
||||
struct drm_i915_gem_object;
|
||||
struct drm_i915_private;
|
||||
struct drm_mode_fb_cmd2;
|
||||
struct intel_framebuffer;
|
||||
|
||||
void intel_fb_bo_framebuffer_fini(struct drm_i915_gem_object *obj);
|
||||
@@ -18,7 +19,7 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
|
||||
struct drm_i915_gem_object *obj,
|
||||
struct drm_mode_fb_cmd2 *mode_cmd);
|
||||
|
||||
struct drm_i915_gem_object *
|
||||
struct drm_gem_object *
|
||||
intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
struct drm_file *filp,
|
||||
const struct drm_mode_fb_cmd2 *user_mode_cmd);
|
||||
|
||||
@@ -65,11 +65,11 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
struct drm_file *filp,
|
||||
const struct drm_mode_fb_cmd2 *mode_cmd)
|
||||
struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
struct drm_file *filp,
|
||||
const struct drm_mode_fb_cmd2 *mode_cmd)
|
||||
{
|
||||
struct drm_i915_gem_object *bo;
|
||||
struct xe_bo *bo;
|
||||
struct drm_gem_object *gem = drm_gem_object_lookup(filp, mode_cmd->handles[0]);
|
||||
|
||||
if (!gem)
|
||||
@@ -78,11 +78,11 @@ struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
bo = gem_to_xe_bo(gem);
|
||||
/* Require vram placement or dma-buf import */
|
||||
if (IS_DGFX(i915) &&
|
||||
!xe_bo_can_migrate(gem_to_xe_bo(gem), XE_PL_VRAM0) &&
|
||||
!xe_bo_can_migrate(bo, XE_PL_VRAM0) &&
|
||||
bo->ttm.type != ttm_bo_type_sg) {
|
||||
drm_gem_object_put(gem);
|
||||
return ERR_PTR(-EREMOTE);
|
||||
}
|
||||
|
||||
return bo;
|
||||
return gem;
|
||||
}
|
||||
|
||||
@@ -7,8 +7,9 @@
|
||||
#define __INTEL_FB_BO_H__
|
||||
|
||||
struct drm_file;
|
||||
struct drm_mode_fb_cmd2;
|
||||
struct drm_gem_object;
|
||||
struct drm_i915_private;
|
||||
struct drm_mode_fb_cmd2;
|
||||
struct intel_framebuffer;
|
||||
struct xe_bo;
|
||||
|
||||
@@ -17,8 +18,8 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
|
||||
struct xe_bo *bo,
|
||||
struct drm_mode_fb_cmd2 *mode_cmd);
|
||||
|
||||
struct xe_bo *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
struct drm_file *filp,
|
||||
const struct drm_mode_fb_cmd2 *mode_cmd);
|
||||
struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_i915_private *i915,
|
||||
struct drm_file *filp,
|
||||
const struct drm_mode_fb_cmd2 *mode_cmd);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user