hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/gpu/drm/amd/display/dc/dml/dcn21/display_rq_dlg_calc_21.c
....@@ -694,7 +694,7 @@
694694 display_data_rq_sizing_params_st *rq_sizing_param,
695695 display_data_rq_dlg_params_st *rq_dlg_param,
696696 display_data_rq_misc_params_st *rq_misc_param,
697
- const display_pipe_params_st pipe_param,
697
+ const display_pipe_params_st *pipe_param,
698698 bool is_chroma)
699699 {
700700 bool mode_422 = false;
....@@ -706,30 +706,30 @@
706706
707707 // FIXME check if ppe apply for both luma and chroma in 422 case
708708 if (is_chroma) {
709
- vp_width = pipe_param.src.viewport_width_c / ppe;
710
- vp_height = pipe_param.src.viewport_height_c;
711
- data_pitch = pipe_param.src.data_pitch_c;
712
- meta_pitch = pipe_param.src.meta_pitch_c;
709
+ vp_width = pipe_param->src.viewport_width_c / ppe;
710
+ vp_height = pipe_param->src.viewport_height_c;
711
+ data_pitch = pipe_param->src.data_pitch_c;
712
+ meta_pitch = pipe_param->src.meta_pitch_c;
713713 } else {
714
- vp_width = pipe_param.src.viewport_width / ppe;
715
- vp_height = pipe_param.src.viewport_height;
716
- data_pitch = pipe_param.src.data_pitch;
717
- meta_pitch = pipe_param.src.meta_pitch;
714
+ vp_width = pipe_param->src.viewport_width / ppe;
715
+ vp_height = pipe_param->src.viewport_height;
716
+ data_pitch = pipe_param->src.data_pitch;
717
+ meta_pitch = pipe_param->src.meta_pitch;
718718 }
719719
720
- if (pipe_param.dest.odm_combine) {
720
+ if (pipe_param->dest.odm_combine) {
721721 unsigned int access_dir;
722722 unsigned int full_src_vp_width;
723723 unsigned int hactive_half;
724724 unsigned int src_hactive_half;
725
- access_dir = (pipe_param.src.source_scan == dm_vert); // vp access direction: horizontal or vertical accessed
726
- hactive_half = pipe_param.dest.hactive / 2;
725
+ access_dir = (pipe_param->src.source_scan == dm_vert); // vp access direction: horizontal or vertical accessed
726
+ hactive_half = pipe_param->dest.hactive / 2;
727727 if (is_chroma) {
728
- full_src_vp_width = pipe_param.scale_ratio_depth.hscl_ratio_c * pipe_param.dest.full_recout_width;
729
- src_hactive_half = pipe_param.scale_ratio_depth.hscl_ratio_c * hactive_half;
728
+ full_src_vp_width = pipe_param->scale_ratio_depth.hscl_ratio_c * pipe_param->dest.full_recout_width;
729
+ src_hactive_half = pipe_param->scale_ratio_depth.hscl_ratio_c * hactive_half;
730730 } else {
731
- full_src_vp_width = pipe_param.scale_ratio_depth.hscl_ratio * pipe_param.dest.full_recout_width;
732
- src_hactive_half = pipe_param.scale_ratio_depth.hscl_ratio * hactive_half;
731
+ full_src_vp_width = pipe_param->scale_ratio_depth.hscl_ratio * pipe_param->dest.full_recout_width;
732
+ src_hactive_half = pipe_param->scale_ratio_depth.hscl_ratio * hactive_half;
733733 }
734734
735735 if (access_dir == 0) {
....@@ -754,7 +754,7 @@
754754 rq_sizing_param->meta_chunk_bytes = 2048;
755755 rq_sizing_param->min_meta_chunk_bytes = 256;
756756
757
- if (pipe_param.src.hostvm)
757
+ if (pipe_param->src.hostvm)
758758 rq_sizing_param->mpte_group_bytes = 512;
759759 else
760760 rq_sizing_param->mpte_group_bytes = 2048;
....@@ -768,23 +768,23 @@
768768 vp_height,
769769 data_pitch,
770770 meta_pitch,
771
- pipe_param.src.source_format,
772
- pipe_param.src.sw_mode,
773
- pipe_param.src.macro_tile_size,
774
- pipe_param.src.source_scan,
775
- pipe_param.src.hostvm,
771
+ pipe_param->src.source_format,
772
+ pipe_param->src.sw_mode,
773
+ pipe_param->src.macro_tile_size,
774
+ pipe_param->src.source_scan,
775
+ pipe_param->src.hostvm,
776776 is_chroma);
777777 }
778778
779779 static void dml_rq_dlg_get_rq_params(
780780 struct display_mode_lib *mode_lib,
781781 display_rq_params_st *rq_param,
782
- const display_pipe_params_st pipe_param)
782
+ const display_pipe_params_st *pipe_param)
783783 {
784784 // get param for luma surface
785
- rq_param->yuv420 = pipe_param.src.source_format == dm_420_8
786
- || pipe_param.src.source_format == dm_420_10;
787
- rq_param->yuv420_10bpc = pipe_param.src.source_format == dm_420_10;
785
+ rq_param->yuv420 = pipe_param->src.source_format == dm_420_8
786
+ || pipe_param->src.source_format == dm_420_10;
787
+ rq_param->yuv420_10bpc = pipe_param->src.source_format == dm_420_10;
788788
789789 get_surf_rq_param(
790790 mode_lib,
....@@ -794,7 +794,7 @@
794794 pipe_param,
795795 0);
796796
797
- if (is_dual_plane((enum source_format_class) (pipe_param.src.source_format))) {
797
+ if (is_dual_plane((enum source_format_class) (pipe_param->src.source_format))) {
798798 // get param for chroma surface
799799 get_surf_rq_param(
800800 mode_lib,
....@@ -806,14 +806,14 @@
806806 }
807807
808808 // calculate how to split the det buffer space between luma and chroma
809
- handle_det_buf_split(mode_lib, rq_param, pipe_param.src);
809
+ handle_det_buf_split(mode_lib, rq_param, pipe_param->src);
810810 print__rq_params_st(mode_lib, *rq_param);
811811 }
812812
813813 void dml21_rq_dlg_get_rq_reg(
814814 struct display_mode_lib *mode_lib,
815815 display_rq_regs_st *rq_regs,
816
- const display_pipe_params_st pipe_param)
816
+ const display_pipe_params_st *pipe_param)
817817 {
818818 display_rq_params_st rq_param = {0};
819819
....@@ -1658,7 +1658,7 @@
16581658 struct display_mode_lib *mode_lib,
16591659 display_dlg_regs_st *dlg_regs,
16601660 display_ttu_regs_st *ttu_regs,
1661
- display_e2e_pipe_params_st *e2e_pipe_param,
1661
+ const display_e2e_pipe_params_st *e2e_pipe_param,
16621662 const unsigned int num_pipes,
16631663 const unsigned int pipe_idx,
16641664 const bool cstate_en,
....@@ -1696,7 +1696,7 @@
16961696 // system parameter calculation done
16971697
16981698 dml_print("DML_DLG: Calculation for pipe[%d] start\n\n", pipe_idx);
1699
- dml_rq_dlg_get_rq_params(mode_lib, &rq_param, e2e_pipe_param[pipe_idx].pipe);
1699
+ dml_rq_dlg_get_rq_params(mode_lib, &rq_param, &e2e_pipe_param[pipe_idx].pipe);
17001700 dml_rq_dlg_get_dlg_params(
17011701 mode_lib,
17021702 e2e_pipe_param,