[PATCH] drm/amd/display: disable FPO and SubVP for older DMUB versions on DCN32x

Harry Wentland harry.wentland at amd.com
Fri Dec 15 16:13:17 UTC 2023



On 2023-12-15 11:01, Hamza Mahfooz wrote:
> There have recently been changes that break backwards compatibility,

Please start an internal thread with the DMUB guys about this. We
shouldn't really break backwards compatibility with FW. Include Alex D.
and myself, please.

> that were introduced into DMUB firmware (for DCN32x) concerning FPO and
> SubVP. So, since those are just power optimization features, we can just
> disable them unless the user is using a new enough version of DMUB
> firmware.
> 

I don't really like disabling this and don't fully understand whether
this won't break something else. But we also shouldn't crash, so this
change is

Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

> Cc: stable at vger.kernel.org
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2870
> Fixes: ed6e2782e974 ("drm/amd/display: For cursor P-State allow for SubVP")
> Reported-by: Mikhail Gavrilov <mikhail.v.gavrilov at gmail.com>
> Closes: https://lore.kernel.org/r/CABXGCsNRb0QbF2pKLJMDhVOKxyGD6-E+8p-4QO6FOWa6zp22_A@mail.gmail.com/
> Signed-off-by: Hamza Mahfooz <hamza.mahfooz at amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
> index 5c323718ec90..0f0972ad441a 100644
> --- a/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
> +++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
> @@ -960,6 +960,12 @@ void dcn32_init_hw(struct dc *dc)
>  		dc->caps.dmub_caps.subvp_psr = dc->ctx->dmub_srv->dmub->feature_caps.subvp_psr_support;
>  		dc->caps.dmub_caps.gecc_enable = dc->ctx->dmub_srv->dmub->feature_caps.gecc_enable;
>  		dc->caps.dmub_caps.mclk_sw = dc->ctx->dmub_srv->dmub->feature_caps.fw_assisted_mclk_switch;
> +
> +		if (dc->ctx->dmub_srv->dmub->fw_version <
> +		    DMUB_FW_VERSION(7, 0, 35)) {
> +			dc->debug.force_disable_subvp = true;
> +			dc->debug.disable_fpo_optimizations = true;
> +		}
>  	}
>  }
>  



More information about the amd-gfx mailing list