On Mon, 08 Sep 2025, Suraj Kandpal <suraj.kand...@intel.com> wrote:
> 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: 6671c367a9bea ("drm/i915/tgl: Select master transcoder for MST stream")
> Signed-off-by: Suraj Kandpal <suraj.kand...@intel.com>

Reviewed-by: Jani Nikula <jani.nik...@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 46017091bb0b..f67ce35c1c00 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -596,8 +596,9 @@ intel_ddi_transcoder_func_reg_val_get(struct 
> intel_encoder *encoder,
>                       enum transcoder master;
>  
>                       master = crtc_state->mst_master_transcoder;
> -                     drm_WARN_ON(display->drm,
> -                                 master == INVALID_TRANSCODER);
> +                     if (drm_WARN_ON(display->drm,
> +                                     master == INVALID_TRANSCODER))
> +                             master = TRANSCODER_A;
>                       temp |= TRANS_DDI_MST_TRANSPORT_SELECT(master);
>               }
>       } else {

-- 
Jani Nikula, Intel

Reply via email to