[PATCH v3 2/2] drm/amd/display: move remaining FPU code to dml folder

Rodrigo Siqueira Rodrigo.Siqueira at amd.com
Wed Oct 26 16:12:51 UTC 2022



On 10/26/22 07:13, Ao Zhong wrote:
> pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_luma = 0;
> pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_chroma = 0;
> these two operations in dcn32/dcn32_resource.c still need to use FPU,
> This will cause compilation to fail on ARM64 platforms because
> -mgeneral-regs-only is enabled by default to disable the hardware FPU.
> Therefore, imitate the dcn31_zero_pipe_dcc_fraction function in
> dml/dcn31/dcn31_fpu.c, declare the dcn32_zero_pipe_dcc_fraction function
> in dcn32_fpu.c, and move above two operations into this function.
> 
> Acked-by: Christian König <christian.koenig at amd.com>
> Signed-off-by: Ao Zhong <hacc1225 at gmail.com>
> ---
>   drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c | 5 +++--
>   drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c  | 8 ++++++++
>   drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h  | 3 +++
>   3 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
> index a88dd7b3d1c1..287b7fa9bf41 100644
> --- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
> @@ -1918,8 +1918,9 @@ int dcn32_populate_dml_pipes_from_context(
>   		timing = &pipe->stream->timing;
>   
>   		pipes[pipe_cnt].pipe.src.gpuvm = true;
> -		pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_luma = 0;
> -		pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_chroma = 0;
> +		DC_FP_START();
> +		dcn32_zero_pipe_dcc_fraction(pipes, pipe_cnt);
> +		DC_FP_END();
>   		pipes[pipe_cnt].pipe.dest.vfront_porch = timing->v_front_porch;
>   		pipes[pipe_cnt].pipe.src.gpuvm_min_page_size_kbytes = 256; // according to spreadsheet
>   		pipes[pipe_cnt].pipe.src.unbounded_req_mode = false;
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
> index 819de0f11012..58772fce6437 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
> +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
> @@ -2521,3 +2521,11 @@ void dcn32_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_pa
>   	}
>   }
>   
> +void dcn32_zero_pipe_dcc_fraction(display_e2e_pipe_params_st *pipes,
> +				  int pipe_cnt)
> +{
> +	dc_assert_fp_enabled();
> +
> +	pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_luma = 0;
> +	pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_chroma = 0;
> +}
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h
> index 3a3dc2ce4c73..ab010e7e840b 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h
> +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h
> @@ -73,4 +73,7 @@ int dcn32_find_dummy_latency_index_for_fw_based_mclk_switch(struct dc *dc,
>   
>   void dcn32_patch_dpm_table(struct clk_bw_params *bw_params);
>   
> +void dcn32_zero_pipe_dcc_fraction(display_e2e_pipe_params_st *pipes,
> +				  int pipe_cnt);
> +
>   #endif

Hi Ao,

First of all, thanks a lot for your patchset.

For both patches:

Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>

And I also applied them to amd-staging-drm-next.

Btw, if you are using git-send-email for sending patches, I recommend 
the following options:

git send-email --annotate --cover-letter --thread --no-chain-reply-to 
--to="EMAILS" --cc="mailing at list.com" <SHA>

Always add a cover letter, it makes it easier to follow the patchset, 
and you can also describe each change in the cover letter.

When you send that other patch enabling ARM64, please add as many 
details as possible in the cover letter. Keep in mind that we have been 
working for isolating those FPU codes in a way that we do not regress 
any of our ASICs, which means that every change was well-tested on 
multiple devices. Anyway, maybe you can refer to this cover letter to 
write down the commit message:

https://patchwork.freedesktop.org/series/93042/

Finally, do you have a use case for this change? I mean, ARM64 + AMD dGPU.

Thanks again!
Siqueira



More information about the amd-gfx mailing list