[PATCH] drm/i915/dp: Fix DSC state HW readout for SST connectors

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Tue Mar 12 04:26:16 UTC 2024


On 3/11/2024 8:26 PM, Imre Deak wrote:
> Commit a62e14598150 ("drm/i915/dp: Fix connector DSC HW state readout")
> moved the DSC HW state readout to a connector specific hook, however
> only added the hook for DP MST connectors, not for DP SST ones. Fix
> adding the hook for SST connectors as well.
>
> This fixes the following warn on platforms where BIOS enables DSC:
>
> [   66.208601] i915 0000:00:02.0: drm_WARN_ON(!connector->dp.dsc_decompression_aux || !connector->dp.dsc_decompression_enabled)
> ...
> [   66.209024] RIP: 0010:intel_dp_sink_disable_decompression+0x76/0x110 [i915]
> ...
> [   66.209333]  ? intel_dp_sink_disable_decompression+0x76/0x110 [i915]
> ...
> [   66.210068]  intel_disable_ddi+0x135/0x1d0 [i915]
> [   66.210302]  intel_encoders_disable+0x9b/0xc0 [i915]
> [   66.210565]  hsw_crtc_disable+0x153/0x170 [i915]
> [   66.210823]  intel_old_crtc_state_disables+0x52/0xb0 [i915]
> [   66.211107]  intel_atomic_commit_tail+0x5cf/0x1330 [i915]
> [   66.211366]  intel_atomic_commit+0x39d/0x3f0 [i915]
> [   66.211612]  ? intel_atomic_commit+0x39d/0x3f0 [i915]
> [   66.211872]  drm_atomic_commit+0x9d/0xd0 [drm]
> [   66.211921]  ? __pfx___drm_printfn_info+0x10/0x10 [drm]
> [   66.211975]  intel_initial_commit+0x1a8/0x260 [i915]
> [   66.212234]  intel_display_driver_probe+0x2a/0x80 [i915]
> [   66.212479]  i915_driver_probe+0x7c6/0xc60 [i915]
> [   66.212664]  ? drm_privacy_screen_get+0x168/0x190 [drm]
> [   66.212711]  i915_pci_probe+0xe2/0x1c0 [i915]
>
> Fixes: a62e14598150 ("drm/i915/dp: Fix connector DSC HW state readout")
> Cc: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>

I think this should fix gitlab issue: 
https://gitlab.freedesktop.org/drm/intel/-/issues/10410

Regards,

Ankit

> ---
>   drivers/gpu/drm/i915/display/intel_dp.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index f98ef4b42a448..af7ca00e9bc0a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -6557,6 +6557,7 @@ intel_dp_init_connector(struct intel_digital_port *dig_port,
>   		intel_connector->get_hw_state = intel_ddi_connector_get_hw_state;
>   	else
>   		intel_connector->get_hw_state = intel_connector_get_hw_state;
> +	intel_connector->sync_state = intel_dp_connector_sync_state;
>   
>   	if (!intel_edp_init_connector(intel_dp, intel_connector)) {
>   		intel_dp_aux_fini(intel_dp);


More information about the Intel-gfx mailing list