mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
drm/i915/frontbuffer: Turn intel_bo_flush_if_display() into a frontbuffer operation
Convert intel_bo_flush_if_display() to be an operation on the frontbuffer object rather than the underlying gem bo. This will help with cleaning up the frontbuffer xe/i915 vs. display split. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/20251016185408.22735-5-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
739e1a7951
commit
5391ab2542
|
|
@ -29,11 +29,6 @@ bool intel_bo_is_protected(struct drm_gem_object *obj)
|
|||
return i915_gem_object_is_protected(to_intel_bo(obj));
|
||||
}
|
||||
|
||||
void intel_bo_flush_if_display(struct drm_gem_object *obj)
|
||||
{
|
||||
i915_gem_object_flush_if_display(to_intel_bo(obj));
|
||||
}
|
||||
|
||||
int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
|
||||
{
|
||||
return i915_gem_fb_mmap(to_intel_bo(obj), vma);
|
||||
|
|
@ -55,6 +50,11 @@ struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj,
|
|||
return i915_gem_object_set_frontbuffer(to_intel_bo(obj), front);
|
||||
}
|
||||
|
||||
void intel_bo_frontbuffer_flush_for_display(struct intel_frontbuffer *front)
|
||||
{
|
||||
i915_gem_object_flush_if_display(to_intel_bo(front->obj));
|
||||
}
|
||||
|
||||
void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj)
|
||||
{
|
||||
i915_debugfs_describe_obj(m, to_intel_bo(obj));
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ bool intel_bo_is_tiled(struct drm_gem_object *obj);
|
|||
bool intel_bo_is_userptr(struct drm_gem_object *obj);
|
||||
bool intel_bo_is_shmem(struct drm_gem_object *obj);
|
||||
bool intel_bo_is_protected(struct drm_gem_object *obj);
|
||||
void intel_bo_flush_if_display(struct drm_gem_object *obj);
|
||||
int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
|
||||
int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size);
|
||||
|
||||
struct intel_frontbuffer *intel_bo_get_frontbuffer(struct drm_gem_object *obj);
|
||||
struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj,
|
||||
struct intel_frontbuffer *front);
|
||||
void intel_bo_frontbuffer_flush_for_display(struct intel_frontbuffer *front);
|
||||
|
||||
void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj);
|
||||
|
||||
|
|
|
|||
|
|
@ -2193,7 +2193,7 @@ static int intel_user_framebuffer_dirty(struct drm_framebuffer *fb,
|
|||
return ret;
|
||||
|
||||
flush:
|
||||
intel_bo_flush_if_display(obj);
|
||||
intel_bo_frontbuffer_flush_for_display(front);
|
||||
intel_frontbuffer_flush(front, ORIGIN_DIRTYFB);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ static void intel_frontbuffer_flush_work(struct work_struct *work)
|
|||
struct intel_frontbuffer *front =
|
||||
container_of(work, struct intel_frontbuffer, flush_work);
|
||||
|
||||
intel_bo_flush_if_display(front->obj);
|
||||
intel_bo_frontbuffer_flush_for_display(front);
|
||||
intel_frontbuffer_flush(front, ORIGIN_DIRTYFB);
|
||||
intel_frontbuffer_put(front);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,10 +28,6 @@ bool intel_bo_is_protected(struct drm_gem_object *obj)
|
|||
return xe_bo_is_protected(gem_to_xe_bo(obj));
|
||||
}
|
||||
|
||||
void intel_bo_flush_if_display(struct drm_gem_object *obj)
|
||||
{
|
||||
}
|
||||
|
||||
int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
|
||||
{
|
||||
return drm_gem_prime_mmap(obj, vma);
|
||||
|
|
@ -55,6 +51,10 @@ struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj,
|
|||
return front;
|
||||
}
|
||||
|
||||
void intel_bo_frontbuffer_flush_for_display(struct intel_frontbuffer *front)
|
||||
{
|
||||
}
|
||||
|
||||
void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj)
|
||||
{
|
||||
/* FIXME */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user