Skip to content

Commit 7f97a0a

Browse files
surajk8tursulin
authored andcommitted
drm/i915/ddi: Guard reg_val against a INVALID_TRANSCODER
Currently we check if the encoder is INVALID or -1 and throw a WARN_ON but we still end up writing the temp value which will overflow and corrupt the whole programmed value. --v2 -Assign a bogus transcoder to master in case we get a INVALID TRANSCODER [Jani] Fixes: 6671c36 ("drm/i915/tgl: Select master transcoder for MST stream") Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Link: https://lore.kernel.org/r/20250908042208.1011144-1-suraj.kandpal@intel.com (cherry picked from commit c8e8e9a) Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
1 parent c1e7254 commit 7f97a0a

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -596,8 +596,9 @@ intel_ddi_transcoder_func_reg_val_get(struct intel_encoder *encoder,
596596
enum transcoder master;
597597

598598
master = crtc_state->mst_master_transcoder;
599-
drm_WARN_ON(display->drm,
600-
master == INVALID_TRANSCODER);
599+
if (drm_WARN_ON(display->drm,
600+
master == INVALID_TRANSCODER))
601+
master = TRANSCODER_A;
601602
temp |= TRANS_DDI_MST_TRANSPORT_SELECT(master);
602603
}
603604
} else {

0 commit comments

Comments
 (0)