From b6153b02220c4419b5e27ede0861e40f19fc7e7f Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Wed, 26 Nov 2025 13:11:20 +0200 Subject: [PATCH] drm/{i915, xe}/dsb: make {intel, xe}_dsb_buffer.c independent of display The DSB buffer implementation is really independent of display. Pass struct drm_device instead of struct intel_crtc to intel_dsb_buffer_create(), and drop the intel_display_types.h include. Reviewed-by: Animesh Manna Link: https://patch.msgid.link/a8cee08e8c36c2cf84cb9cda1b9f318db76710af.1764155417.git.jani.nikula@intel.com Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/display/intel_dsb.c | 2 +- drivers/gpu/drm/i915/display/intel_dsb_buffer.c | 5 ++--- drivers/gpu/drm/i915/display/intel_dsb_buffer.h | 4 ++-- drivers/gpu/drm/xe/display/xe_dsb_buffer.c | 5 ++--- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c b/drivers/gpu/drm/i915/display/intel_dsb.c index 4ad4efbf9253b..6d546f9ff3161 100644 --- a/drivers/gpu/drm/i915/display/intel_dsb.c +++ b/drivers/gpu/drm/i915/display/intel_dsb.c @@ -953,7 +953,7 @@ struct intel_dsb *intel_dsb_prepare(struct intel_atomic_state *state, /* ~1 qword per instruction, full cachelines */ size = ALIGN(max_cmds * 8, CACHELINE_BYTES); - if (!intel_dsb_buffer_create(crtc, &dsb->dsb_buf, size)) + if (!intel_dsb_buffer_create(display->drm, &dsb->dsb_buf, size)) goto out_put_rpm; intel_display_rpm_put(display, wakeref); diff --git a/drivers/gpu/drm/i915/display/intel_dsb_buffer.c b/drivers/gpu/drm/i915/display/intel_dsb_buffer.c index c77d48bda26ac..1eafcb2dedcb1 100644 --- a/drivers/gpu/drm/i915/display/intel_dsb_buffer.c +++ b/drivers/gpu/drm/i915/display/intel_dsb_buffer.c @@ -7,7 +7,6 @@ #include "gem/i915_gem_lmem.h" #include "i915_drv.h" #include "i915_vma.h" -#include "intel_display_types.h" #include "intel_dsb_buffer.h" u32 intel_dsb_buffer_ggtt_offset(struct intel_dsb_buffer *dsb_buf) @@ -32,9 +31,9 @@ void intel_dsb_buffer_memset(struct intel_dsb_buffer *dsb_buf, u32 idx, u32 val, memset(&dsb_buf->cmd_buf[idx], val, size); } -bool intel_dsb_buffer_create(struct intel_crtc *crtc, struct intel_dsb_buffer *dsb_buf, size_t size) +bool intel_dsb_buffer_create(struct drm_device *drm, struct intel_dsb_buffer *dsb_buf, size_t size) { - struct drm_i915_private *i915 = to_i915(crtc->base.dev); + struct drm_i915_private *i915 = to_i915(drm); struct drm_i915_gem_object *obj; struct i915_vma *vma; u32 *buf; diff --git a/drivers/gpu/drm/i915/display/intel_dsb_buffer.h b/drivers/gpu/drm/i915/display/intel_dsb_buffer.h index 425acd3939059..496ece42b4a17 100644 --- a/drivers/gpu/drm/i915/display/intel_dsb_buffer.h +++ b/drivers/gpu/drm/i915/display/intel_dsb_buffer.h @@ -8,7 +8,7 @@ #include -struct intel_crtc; +struct drm_device; struct i915_vma; struct intel_dsb_buffer { @@ -21,7 +21,7 @@ u32 intel_dsb_buffer_ggtt_offset(struct intel_dsb_buffer *dsb_buf); void intel_dsb_buffer_write(struct intel_dsb_buffer *dsb_buf, u32 idx, u32 val); u32 intel_dsb_buffer_read(struct intel_dsb_buffer *dsb_buf, u32 idx); void intel_dsb_buffer_memset(struct intel_dsb_buffer *dsb_buf, u32 idx, u32 val, size_t size); -bool intel_dsb_buffer_create(struct intel_crtc *crtc, struct intel_dsb_buffer *dsb_buf, +bool intel_dsb_buffer_create(struct drm_device *drm, struct intel_dsb_buffer *dsb_buf, size_t size); void intel_dsb_buffer_cleanup(struct intel_dsb_buffer *dsb_buf); void intel_dsb_buffer_flush_map(struct intel_dsb_buffer *dsb_buf); diff --git a/drivers/gpu/drm/xe/display/xe_dsb_buffer.c b/drivers/gpu/drm/xe/display/xe_dsb_buffer.c index 58581d7aaae69..1bbebc0313c8b 100644 --- a/drivers/gpu/drm/xe/display/xe_dsb_buffer.c +++ b/drivers/gpu/drm/xe/display/xe_dsb_buffer.c @@ -4,7 +4,6 @@ */ #include "i915_vma.h" -#include "intel_display_types.h" #include "intel_dsb_buffer.h" #include "xe_bo.h" #include "xe_device.h" @@ -32,9 +31,9 @@ void intel_dsb_buffer_memset(struct intel_dsb_buffer *dsb_buf, u32 idx, u32 val, iosys_map_memset(&dsb_buf->vma->bo->vmap, idx * 4, val, size); } -bool intel_dsb_buffer_create(struct intel_crtc *crtc, struct intel_dsb_buffer *dsb_buf, size_t size) +bool intel_dsb_buffer_create(struct drm_device *drm, struct intel_dsb_buffer *dsb_buf, size_t size) { - struct xe_device *xe = to_xe_device(crtc->base.dev); + struct xe_device *xe = to_xe_device(drm); struct xe_bo *obj; struct i915_vma *vma; -- 2.47.3