Skip to content

Commit d6dfbc6

Browse files
committed
drm/i915/dsb: Introduce intel_dsb_wait_vblanks()
Add a function to emit a DSB wait for vblank instruction. This just waits until the specified number of vblanks. Note that this triggers on the transcoder's undelayed vblank, as opposed to the pipe's delayed vblank. Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240930170415.23841-8-ville.syrjala@linux.intel.com
1 parent de96853 commit d6dfbc6

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

drivers/gpu/drm/i915/display/intel_dsb.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,12 @@ void intel_dsb_wait_usec(struct intel_dsb *dsb, int count)
399399
DSB_OPCODE_WAIT_USEC << DSB_OPCODE_SHIFT);
400400
}
401401

402+
void intel_dsb_wait_vblanks(struct intel_dsb *dsb, int count)
403+
{
404+
intel_dsb_emit(dsb, count,
405+
DSB_OPCODE_WAIT_VBLANKS << DSB_OPCODE_SHIFT);
406+
}
407+
402408
static void intel_dsb_emit_wait_dsl(struct intel_dsb *dsb,
403409
u32 opcode, int lower, int upper)
404410
{

drivers/gpu/drm/i915/display/intel_dsb.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ void intel_dsb_nonpost_start(struct intel_dsb *dsb);
4141
void intel_dsb_nonpost_end(struct intel_dsb *dsb);
4242
void intel_dsb_interrupt(struct intel_dsb *dsb);
4343
void intel_dsb_wait_usec(struct intel_dsb *dsb, int count);
44+
void intel_dsb_wait_vblanks(struct intel_dsb *dsb, int count);
4445
void intel_dsb_wait_scanline_in(struct intel_atomic_state *state,
4546
struct intel_dsb *dsb,
4647
int lower, int upper);

0 commit comments

Comments
 (0)