Commit 7e151f53 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915/dsb: Provide intel_dsb_head() and intel_dsb_size()



The upcoming flip queue implementation will need to know the
DSB buffer head and size. Expose those outside intel_dsb.c.

Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250612145018.8735-3-ville.syrjala@linux.intel.com
parent ed9434c6
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -241,14 +241,19 @@ static bool is_dsb_busy(struct intel_display *display, enum pipe pipe,
	return intel_de_read_fw(display, DSB_CTRL(pipe, dsb_id)) & DSB_STATUS_BUSY;
}

static unsigned int intel_dsb_head(struct intel_dsb *dsb)
unsigned int intel_dsb_size(struct intel_dsb *dsb)
{
	return dsb->free_pos * 4;
}

unsigned int intel_dsb_head(struct intel_dsb *dsb)
{
	return intel_dsb_buffer_ggtt_offset(&dsb->dsb_buf);
}

static unsigned int intel_dsb_tail(struct intel_dsb *dsb)
{
	return intel_dsb_buffer_ggtt_offset(&dsb->dsb_buf) + dsb->free_pos * 4;
	return intel_dsb_buffer_ggtt_offset(&dsb->dsb_buf) + intel_dsb_size(dsb);
}

static void intel_dsb_ins_align(struct intel_dsb *dsb)
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ enum intel_dsb_id {
	I915_MAX_DSBS,
};

unsigned int intel_dsb_size(struct intel_dsb *dsb);
unsigned int intel_dsb_head(struct intel_dsb *dsb);
struct intel_dsb *intel_dsb_prepare(struct intel_atomic_state *state,
				    struct intel_crtc *crtc,
				    enum intel_dsb_id dsb_id,