Re: [PATCH] drm/amd/display: Dispatch Compressed FRL Cap Check Inside dml1_frl_cap_chk_inter

Harry Wentland <[email protected]>
Newsgroups org.freedesktop.lists.amd-gfx
Message-ID <[email protected]>

On 2026-07-16 22:43, Fangzhi Zuo wrote:
> [why]
> DSC over HDMI FRL (e.g. 4k144) was pruned by DML mode support
> because the compressed FRL cap check was never reached.
> 
> dml32_TruncToValidBPP() validates the FRL output by calling
> dml1_frl_cap_chk_inter() directly. The compressed-vs-uncompressed
> dispatch (if params->compressed -> dml1_frl_cap_chk_compressed()) had
> been moved up into the top-level dml1_frl_cap_chk() wrapper, leaving
> dml1_frl_cap_chk_inter() as uncompressed-only. As a result a DSC stream
> routed through TruncToValidBPP was validated against the full
> uncompressed bandwidth, failed the cap check, and the mode was pruned
> (vlevel == num_states).
> 
> [how]
> Move the compressed dispatch back into dml1_frl_cap_chk_inter() so every
> caller of _inter() (including TruncToValidBPP) honours params->compressed.
> This matches the internal DAL tree.
> 
> Signed-off-by: Fangzhi Zuo <[email protected]>

Reviewed-by: Harry Wentland <[email protected]>

Harry

> ---
>  drivers/gpu/drm/amd/display/dc/dml/dml1_frl_cap_chk.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/dml1_frl_cap_chk.c b/drivers/gpu/drm/amd/display/dc/dml/dml1_frl_cap_chk.c
> index 260f58a97fc7..da2c92e5c02f 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/dml1_frl_cap_chk.c
> +++ b/drivers/gpu/drm/amd/display/dc/dml/dml1_frl_cap_chk.c
> @@ -630,17 +630,17 @@ enum frl_cap_chk_result dml1_frl_cap_chk(struct frl_cap_chk_params *params)
>  {
>  	struct frl_cap_chk_intermediates inter;
>  
> -#if defined (CONFIG_DRM_AMD_DC_FP)
> -	if (params->compressed)
> -		return dml1_frl_cap_chk_compressed(params, &inter);
> -#endif
> -
>  	return dml1_frl_cap_chk_inter(params, &inter);
>  }
>  
>  enum frl_cap_chk_result dml1_frl_cap_chk_inter(struct frl_cap_chk_params *params,
>  					       struct frl_cap_chk_intermediates *inter)
>  {
> +#if defined (CONFIG_DRM_AMD_DC_FP)
> +	if (params->compressed)
> +		return dml1_frl_cap_chk_compressed(params, inter);
> +#endif
> +
>  	return dml1_frl_cap_chk_uncompressed(params, inter);
>  }
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.