* drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:1400 dml20v2_rq_dlg_get_dlg_params() warn: inconsistent indenting
@ 2026-08-25 11:00 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-25 11:00 UTC (permalink / raw)
To: Gaghik Khachatrian
Cc: oe-kbuild-all, linux-kernel, Alex Deucher, Dillon Varone,
Tom Chung
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0a0d1d55dad570724bf8c7ea83409639cfb4be9b
commit: 1547752eea0ff53fc6e25f6bbee3ee235676a93c drm/amd/display: Fix narrowing boundaries in dml
date: 4 months ago
config: i386-randconfig-r073-20260821 (https://download.01.org/0day-ci/archive/20260825/202608251845.acOvbKV0-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 1547752eea0f ("drm/amd/display: Fix narrowing boundaries in dml")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608251845.acOvbKV0-lkp@intel.com/
New smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:1400 dml20v2_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.c:1399 dml20_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:196 _do_calc_rc_params() warn: impossible condition '(bpp >= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:196 _do_calc_rc_params() warn: impossible condition '(bpp > 4) => (4.000000-6.000000 > 4)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.c:964 CalculateVMAndRowBytes() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.c:4982 dml20v2_ModeSupportAndSystemConfigurationFull() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20.c:4862 dml20_ModeSupportAndSystemConfigurationFull() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:60 scaler_settings_calculation() warn: impossible condition '(v->interlace_output[k] == 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 == 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:63 scaler_settings_calculation() warn: impossible condition '(v->underscan_output[k] == 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 == 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:71 scaler_settings_calculation() warn: impossible condition '(v->h_ratio[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:73 scaler_settings_calculation() warn: always true condition '(v->h_ratio[k] < 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:83 scaler_settings_calculation() warn: impossible condition '(v->v_ratio[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:198 mode_support_and_system_configuration() warn: impossible condition '(v->critical_point > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:198 mode_support_and_system_configuration() warn: always true condition '(v->critical_point < 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:273 mode_support_and_system_configuration() warn: impossible condition '(v->required_phyclk[k] > 600.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 600.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:294 mode_support_and_system_configuration() warn: impossible condition '(v->h_ratio[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:303 mode_support_and_system_configuration() warn: impossible condition '(v->h_ratio[k] / 2.000000 > 1.000000) => (0 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:403 mode_support_and_system_configuration() warn: always true condition '(v->number_of_dpp_required_for_det_and_lb_size[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:449 mode_support_and_system_configuration() warn: impossible condition '(v->number_of_dpp_required_for_det_and_lb_size[k] > 2.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 2.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:475 mode_support_and_system_configuration() warn: impossible condition '(v->max_swath_height_c[k] > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:539 mode_support_and_system_configuration() warn: always true condition '(v->v_ratio[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:550 mode_support_and_system_configuration() warn: always true condition '(v->v_ratio[k] / 2.000000 <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:591 mode_support_and_system_configuration() warn: always true condition '(v->macro_tile_block_size_bytes_y <= 65536.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 65536.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:642 mode_support_and_system_configuration() warn: always true condition '(v->macro_tile_block_size_bytes_c <= 65536.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 65536.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:669 mode_support_and_system_configuration() warn: impossible condition '(v->prefill_y[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:680 mode_support_and_system_configuration() warn: impossible condition '(v->prefill_c[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:691 mode_support_and_system_configuration() warn: impossible condition '(v->no_of_dpp[i][j][k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:744 mode_support_and_system_configuration() warn: always true condition '(v->lines_for_meta_pte_without_immediate_flip[k] < 32.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 32.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:744 mode_support_and_system_configuration() warn: always true condition '(v->lines_for_meta_and_dpte_row_without_immediate_flip[k] < 16.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 16.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:774 mode_support_and_system_configuration() warn: impossible condition '(v->line_times_to_request_prefetch_pixel_data_with_immediate_flip > 0.000000) => (0.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:776 mode_support_and_system_configuration() warn: impossible condition '(v->swath_height_yper_state[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:777 mode_support_and_system_configuration() warn: impossible condition '(v->line_times_to_request_prefetch_pixel_data_with_immediate_flip - (v->prefill_y[k] - 3.000000) / 2.000000 > 0.000000) => (1 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:784 mode_support_and_system_configuration() warn: impossible condition '(v->swath_height_cper_state[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:797 mode_support_and_system_configuration() warn: impossible condition '(v->line_times_to_request_prefetch_pixel_data_without_immediate_flip > 0.000000) => (0.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:838 mode_support_and_system_configuration() warn: always true condition '(v->line_times_for_prefetch[k] < 2.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 2.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:838 mode_support_and_system_configuration() warn: impossible condition '(v->lines_for_meta_pte_with_immediate_flip[k] >= 8.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 8.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:838 mode_support_and_system_configuration() warn: impossible condition '(v->lines_for_meta_and_dpte_row_with_immediate_flip[k] >= 16.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 16.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:847 mode_support_and_system_configuration() warn: impossible condition '(v->lines_for_meta_pte_without_immediate_flip[k] >= 8.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 8.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:847 mode_support_and_system_configuration() warn: impossible condition '(v->lines_for_meta_and_dpte_row_without_immediate_flip[k] >= 16.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 16.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:857 mode_support_and_system_configuration() warn: impossible condition '(v->v_ratio_pre_ywith_immediate_flip[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:857 mode_support_and_system_configuration() warn: impossible condition '(v->v_ratio_pre_cwith_immediate_flip[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:857 mode_support_and_system_configuration() warn: impossible condition '(v->v_ratio_pre_ywithout_immediate_flip[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:857 mode_support_and_system_configuration() warn: impossible condition '(v->v_ratio_pre_cwithout_immediate_flip[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1029 display_pipe_configuration() warn: impossible condition '(v->maximum_swath_height_c > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1063 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->h_ratio[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1111 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->critical_compression > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1111 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->critical_compression < 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1164 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->v_ratio[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1198 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->total_active_writeback <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1209 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->byte_per_pixel_detc[k] > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1355 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->macro_tile_size_byte_y <= 65536.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 65536.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1430 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->v_init_pre_fill_y[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1472 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->dpp_per_plane[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1488 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->prefetch_mode == 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 == 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1494 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->destination_lines_for_prefetch[k] > 0.000000) => (0.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1533 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->lines_to_request_prefetch_pixel_data > 0.000000) => (0.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1535 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->swath_height_y[k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1568 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->v_ratio_prefetch_y[k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1571 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->destination_lines_for_prefetch[k] < 2.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 2.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1596 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->v_ratio_prefetch_y[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1656 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->active_dp_ps > 1.000000) => (0.000000 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1711 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->min_active_dram_clock_change_margin > 0.000000) => (-340282346638528859811704183484-999999.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1713 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->dram_clock_change_margin > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.c:746 CalculatePrefetchSchedule() warn: inconsistent indenting
Old smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:464 get_meta_and_pte_attr() warn: right shifting more than type allows 32 vs 4294966273
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:468 get_meta_and_pte_attr() warn: right shifting more than type allows 32 vs 4294966273
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:1431 dml20v2_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:1461 dml20v2_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:1469 dml20v2_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.c:464 get_meta_and_pte_attr() warn: right shifting more than type allows 32 vs 4294966273
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.c:468 get_meta_and_pte_attr() warn: right shifting more than type allows 32 vs 4294966273
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.c:1430 dml20_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.c:1460 dml20_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.c:1468 dml20_rq_dlg_get_dlg_params() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:115 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:116 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:117 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:118 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:119 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:120 get_ofs_set() warn: always true condition '(bpp <= 12) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 12)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:121 get_ofs_set() warn: always true condition '(bpp <= 12) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 12)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:122 get_ofs_set() warn: always true condition '(bpp <= 12) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 12)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:123 get_ofs_set() warn: always true condition '(bpp <= 12) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 12)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:124 get_ofs_set() warn: always true condition '(bpp <= 12) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 12)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:126 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:131 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:132 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:133 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:134 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:135 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:136 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:137 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:138 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:139 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:140 get_ofs_set() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:142 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:142 get_ofs_set() warn: impossible condition '(bpp >= 7) => (6.000000-8.000000 >= 7)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:147 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:148 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:149 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:150 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:151 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:152 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:153 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:154 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:155 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:156 get_ofs_set() warn: always true condition '(bpp <= 6) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 6)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:158 get_ofs_set() warn: always true condition '(bpp <= 4) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 4)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:158 get_ofs_set() warn: impossible condition '(bpp >= 5) => (4.000000-6.000000 >= 5)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:196 _do_calc_rc_params() warn: always true condition '(bpp <= 4) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 4)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:196 _do_calc_rc_params() warn: always true condition '(bpp <= 5) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 5)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:201 _do_calc_rc_params() warn: impossible condition '(bpp >= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:201 _do_calc_rc_params() warn: always true condition '(bpp <= 7) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 7)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:207 _do_calc_rc_params() warn: impossible condition '(bpp >= 12) => (-340282346638528859811704183484-3402823466385288598117041834845 >= 12)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:207 _do_calc_rc_params() warn: always true condition '(bpp <= 8) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:207 _do_calc_rc_params() warn: impossible condition '(bpp > 8) => (8.000001-11.999999 > 8)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.c:207 _do_calc_rc_params() warn: always true condition '(bpp <= 10) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 10)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.c:969 CalculateVMAndRowBytes() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.c:1872 dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.c:2655 dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation() warn: impossible condition '(SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank > 0) => (-inf-999999.000000 > 0)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.c:2776 dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20.c:1835 dml20_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20.c:2702 dml20_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:85 scaler_settings_calculation() warn: always true condition '(v->v_ratio[k] < 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:206 mode_support_and_system_configuration() warn: impossible condition '(v->critical_point > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:206 mode_support_and_system_configuration() warn: always true condition '(v->critical_point < 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:427 mode_support_and_system_configuration() warn: always true condition '(v->number_of_dpp_required_for_det_and_lb_size[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:545 mode_support_and_system_configuration() warn: always true condition '(v->v_ratio[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:785 mode_support_and_system_configuration() warn: impossible condition '(v->line_times_to_request_prefetch_pixel_data_with_immediate_flip - (v->prefill_c[k] - 3.000000) / 2.000000 > 0.000000) => (1 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:799 mode_support_and_system_configuration() warn: impossible condition '(v->swath_height_yper_state[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:800 mode_support_and_system_configuration() warn: impossible condition '(v->line_times_to_request_prefetch_pixel_data_without_immediate_flip - (v->prefill_y[k] - 3.000000) / 2.000000 > 0.000000) => (1 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:807 mode_support_and_system_configuration() warn: impossible condition '(v->swath_height_cper_state[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:808 mode_support_and_system_configuration() warn: impossible condition '(v->line_times_to_request_prefetch_pixel_data_without_immediate_flip - (v->prefill_c[k] - 3.000000) / 2.000000 > 0.000000) => (1 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:847 mode_support_and_system_configuration() warn: always true condition '(v->line_times_for_prefetch[k] < 2.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 2.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:863 mode_support_and_system_configuration() warn: impossible condition '(v->v_ratio_pre_ywithout_immediate_flip[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:863 mode_support_and_system_configuration() warn: impossible condition '(v->v_ratio_pre_cwithout_immediate_flip[i][j][k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:900 mode_support_and_system_configuration() warn: impossible condition '(v->voltage_level_with_immediate_flip == 5) => (-340282346638528859811704183484-3402823466385288598117041834845 == 5)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1073 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->h_ratio[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1119 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->critical_compression > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1119 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->critical_compression < 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1174 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->v_ratio[k] / 2.000000 <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1264 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->byte_per_pixel_detc[k] > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1284 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->byte_per_pixel_detc[k] > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1404 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->macro_tile_size_bytes_c <= 65536.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 65536.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1440 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->v_init_pre_fill_c[k] > 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1546 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->lines_to_request_prefetch_pixel_data > 0.000000) => (0.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1548 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->swath_height_c[k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1559 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->lines_to_request_prefetch_pixel_data > 0.000000) => (0.000000 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1568 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->v_ratio_prefetch_c[k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1578 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->v_ratio_prefetch_y[k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1578 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->v_ratio_prefetch_c[k] > 4.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 4.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1581 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->destination_lines_for_prefetch[k] < 2.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 < 2.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1594 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->prefetch_mode == 2.000000) => (0.000000 == 2.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1604 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: always true condition '(v->v_ratio_prefetch_c[k] <= 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 <= 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1618 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->prefetch_mode == 1.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 == 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1659 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->byte_per_pixel_detc[k] > 0.000000) => (-340282346638528859811704183484-3402823466385288598117041834845 > 0.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.c:1663 dispclkdppclkdcfclk_deep_sleep_prefetch_parameters_watermarks_and_performance_calculation() warn: impossible condition '(v->active_dp_ps > 1.000000) => (0.000000 > 1.000000)'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.c:5052 dml21_ModeSupportAndSystemConfigurationFull() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.c:5057 dml21_ModeSupportAndSystemConfigurationFull() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.c:5077 dml21_ModeSupportAndSystemConfigurationFull() warn: inconsistent indenting
vim +1400 drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c
057fc695e934a7 Jun Lei 2019-07-08 996
757af27b9fbbba Harry Wentland 2021-09-08 997 // unsigned int swath_height_c = rq_dlg_param->rq_c.swath_height;
757af27b9fbbba Harry Wentland 2021-09-08 998 swath_width_ub_c = rq_dlg_param->rq_c.swath_width_ub;
757af27b9fbbba Harry Wentland 2021-09-08 999 // dpte_bytes_per_row_ub_c = rq_dlg_param->rq_c.dpte_bytes_per_row_ub;
757af27b9fbbba Harry Wentland 2021-09-08 1000 dpte_groups_per_row_ub_c = rq_dlg_param->rq_c.dpte_groups_per_row_ub;
057fc695e934a7 Jun Lei 2019-07-08 1001
757af27b9fbbba Harry Wentland 2021-09-08 1002 meta_chunks_per_row_ub_l = rq_dlg_param->rq_l.meta_chunks_per_row_ub;
757af27b9fbbba Harry Wentland 2021-09-08 1003 meta_chunks_per_row_ub_c = rq_dlg_param->rq_c.meta_chunks_per_row_ub;
057fc695e934a7 Jun Lei 2019-07-08 1004 vupdate_offset = dst->vupdate_offset;
057fc695e934a7 Jun Lei 2019-07-08 1005 vupdate_width = dst->vupdate_width;
057fc695e934a7 Jun Lei 2019-07-08 1006 vready_offset = dst->vready_offset;
057fc695e934a7 Jun Lei 2019-07-08 1007
057fc695e934a7 Jun Lei 2019-07-08 1008 dppclk_delay_subtotal = mode_lib->ip.dppclk_delay_subtotal;
057fc695e934a7 Jun Lei 2019-07-08 1009 dispclk_delay_subtotal = mode_lib->ip.dispclk_delay_subtotal;
057fc695e934a7 Jun Lei 2019-07-08 1010
057fc695e934a7 Jun Lei 2019-07-08 1011 if (scl_enable)
057fc695e934a7 Jun Lei 2019-07-08 1012 dppclk_delay_subtotal += mode_lib->ip.dppclk_delay_scl;
057fc695e934a7 Jun Lei 2019-07-08 1013 else
057fc695e934a7 Jun Lei 2019-07-08 1014 dppclk_delay_subtotal += mode_lib->ip.dppclk_delay_scl_lb_only;
057fc695e934a7 Jun Lei 2019-07-08 1015
057fc695e934a7 Jun Lei 2019-07-08 1016 dppclk_delay_subtotal += mode_lib->ip.dppclk_delay_cnvc_formatter
057fc695e934a7 Jun Lei 2019-07-08 1017 + src->num_cursors * mode_lib->ip.dppclk_delay_cnvc_cursor;
057fc695e934a7 Jun Lei 2019-07-08 1018
057fc695e934a7 Jun Lei 2019-07-08 1019 if (dout->dsc_enable) {
057fc695e934a7 Jun Lei 2019-07-08 1020 double dsc_delay = get_dsc_delay(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1021
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1022 dispclk_delay_subtotal += (unsigned int)dsc_delay;
057fc695e934a7 Jun Lei 2019-07-08 1023 }
057fc695e934a7 Jun Lei 2019-07-08 1024
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1025 pixel_rate_delay_subtotal = (unsigned int)(dppclk_delay_subtotal * pclk_freq_in_mhz / dppclk_freq_in_mhz
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1026 + dispclk_delay_subtotal * pclk_freq_in_mhz / dispclk_freq_in_mhz);
057fc695e934a7 Jun Lei 2019-07-08 1027
057fc695e934a7 Jun Lei 2019-07-08 1028 vstartup_start = dst->vstartup_start;
057fc695e934a7 Jun Lei 2019-07-08 1029 if (interlaced) {
057fc695e934a7 Jun Lei 2019-07-08 1030 if (vstartup_start / 2.0
057fc695e934a7 Jun Lei 2019-07-08 1031 - (double) (vready_offset + vupdate_width + vupdate_offset) / htotal
057fc695e934a7 Jun Lei 2019-07-08 1032 <= vblank_end / 2.0)
057fc695e934a7 Jun Lei 2019-07-08 1033 disp_dlg_regs->vready_after_vcount0 = 1;
057fc695e934a7 Jun Lei 2019-07-08 1034 else
057fc695e934a7 Jun Lei 2019-07-08 1035 disp_dlg_regs->vready_after_vcount0 = 0;
057fc695e934a7 Jun Lei 2019-07-08 1036 } else {
057fc695e934a7 Jun Lei 2019-07-08 1037 if (vstartup_start
057fc695e934a7 Jun Lei 2019-07-08 1038 - (double) (vready_offset + vupdate_width + vupdate_offset) / htotal
057fc695e934a7 Jun Lei 2019-07-08 1039 <= vblank_end)
057fc695e934a7 Jun Lei 2019-07-08 1040 disp_dlg_regs->vready_after_vcount0 = 1;
057fc695e934a7 Jun Lei 2019-07-08 1041 else
057fc695e934a7 Jun Lei 2019-07-08 1042 disp_dlg_regs->vready_after_vcount0 = 0;
057fc695e934a7 Jun Lei 2019-07-08 1043 }
057fc695e934a7 Jun Lei 2019-07-08 1044
057fc695e934a7 Jun Lei 2019-07-08 1045 // TODO: Where is this coming from?
057fc695e934a7 Jun Lei 2019-07-08 1046 if (interlaced)
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1047 vstartup_start = (unsigned int)(vstartup_start / 2);
057fc695e934a7 Jun Lei 2019-07-08 1048
057fc695e934a7 Jun Lei 2019-07-08 1049 // TODO: What if this min_vblank doesn't match the value in the dml_config_settings.cpp?
057fc695e934a7 Jun Lei 2019-07-08 1050 if (vstartup_start >= min_vblank) {
057fc695e934a7 Jun Lei 2019-07-08 1051 dml_print("WARNING: DML_DLG: %s: vblank_start=%d vblank_end=%d\n",
057fc695e934a7 Jun Lei 2019-07-08 1052 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1053 vblank_start,
057fc695e934a7 Jun Lei 2019-07-08 1054 vblank_end);
057fc695e934a7 Jun Lei 2019-07-08 1055 dml_print("WARNING: DML_DLG: %s: vstartup_start=%d should be less than min_vblank=%d\n",
057fc695e934a7 Jun Lei 2019-07-08 1056 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1057 vstartup_start,
057fc695e934a7 Jun Lei 2019-07-08 1058 min_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1059 min_vblank = vstartup_start + 1;
057fc695e934a7 Jun Lei 2019-07-08 1060 dml_print("WARNING: DML_DLG: %s: vstartup_start=%d should be less than min_vblank=%d\n",
057fc695e934a7 Jun Lei 2019-07-08 1061 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1062 vstartup_start,
057fc695e934a7 Jun Lei 2019-07-08 1063 min_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1064 }
057fc695e934a7 Jun Lei 2019-07-08 1065
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1066 dst_x_after_scaler = (unsigned int)get_dst_x_after_scaler(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1067 dst_y_after_scaler = (unsigned int)get_dst_y_after_scaler(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1068
057fc695e934a7 Jun Lei 2019-07-08 1069 dml_print("DML_DLG: %s: htotal = %d\n", __func__, htotal);
057fc695e934a7 Jun Lei 2019-07-08 1070 dml_print("DML_DLG: %s: pixel_rate_delay_subtotal = %d\n",
057fc695e934a7 Jun Lei 2019-07-08 1071 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1072 pixel_rate_delay_subtotal);
057fc695e934a7 Jun Lei 2019-07-08 1073 dml_print("DML_DLG: %s: dst_x_after_scaler = %d\n",
057fc695e934a7 Jun Lei 2019-07-08 1074 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1075 dst_x_after_scaler);
057fc695e934a7 Jun Lei 2019-07-08 1076 dml_print("DML_DLG: %s: dst_y_after_scaler = %d\n",
057fc695e934a7 Jun Lei 2019-07-08 1077 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1078 dst_y_after_scaler);
057fc695e934a7 Jun Lei 2019-07-08 1079
057fc695e934a7 Jun Lei 2019-07-08 1080 // Lwait
057fc695e934a7 Jun Lei 2019-07-08 1081 line_wait = mode_lib->soc.urgent_latency_us;
057fc695e934a7 Jun Lei 2019-07-08 1082 if (cstate_en)
057fc695e934a7 Jun Lei 2019-07-08 1083 line_wait = dml_max(mode_lib->soc.sr_enter_plus_exit_time_us, line_wait);
057fc695e934a7 Jun Lei 2019-07-08 1084 if (pstate_en)
057fc695e934a7 Jun Lei 2019-07-08 1085 line_wait = dml_max(mode_lib->soc.dram_clock_change_latency_us
057fc695e934a7 Jun Lei 2019-07-08 1086 + mode_lib->soc.urgent_latency_us,
057fc695e934a7 Jun Lei 2019-07-08 1087 line_wait);
057fc695e934a7 Jun Lei 2019-07-08 1088 line_wait = line_wait / line_time_in_us;
057fc695e934a7 Jun Lei 2019-07-08 1089
057fc695e934a7 Jun Lei 2019-07-08 1090 dst_y_prefetch = get_dst_y_prefetch(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1091 dml_print("DML_DLG: %s: dst_y_prefetch (after rnd) = %3.2f\n", __func__, dst_y_prefetch);
057fc695e934a7 Jun Lei 2019-07-08 1092
057fc695e934a7 Jun Lei 2019-07-08 1093 dst_y_per_vm_vblank = get_dst_y_per_vm_vblank(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1094 e2e_pipe_param,
057fc695e934a7 Jun Lei 2019-07-08 1095 num_pipes,
057fc695e934a7 Jun Lei 2019-07-08 1096 pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1097 dst_y_per_row_vblank = get_dst_y_per_row_vblank(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1098 e2e_pipe_param,
057fc695e934a7 Jun Lei 2019-07-08 1099 num_pipes,
057fc695e934a7 Jun Lei 2019-07-08 1100 pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1101 dst_y_per_vm_flip = get_dst_y_per_vm_flip(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1102 dst_y_per_row_flip = get_dst_y_per_row_flip(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1103
057fc695e934a7 Jun Lei 2019-07-08 1104 min_dst_y_per_vm_vblank = 8.0;
057fc695e934a7 Jun Lei 2019-07-08 1105 min_dst_y_per_row_vblank = 16.0;
057fc695e934a7 Jun Lei 2019-07-08 1106
057fc695e934a7 Jun Lei 2019-07-08 1107 // magic!
057fc695e934a7 Jun Lei 2019-07-08 1108 if (htotal <= 75) {
057fc695e934a7 Jun Lei 2019-07-08 1109 min_vblank = 300;
057fc695e934a7 Jun Lei 2019-07-08 1110 min_dst_y_per_vm_vblank = 100.0;
057fc695e934a7 Jun Lei 2019-07-08 1111 min_dst_y_per_row_vblank = 100.0;
057fc695e934a7 Jun Lei 2019-07-08 1112 }
057fc695e934a7 Jun Lei 2019-07-08 1113
057fc695e934a7 Jun Lei 2019-07-08 1114 dml_print("DML_DLG: %s: dst_y_per_vm_vblank = %3.2f\n", __func__, dst_y_per_vm_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1115 dml_print("DML_DLG: %s: dst_y_per_row_vblank = %3.2f\n", __func__, dst_y_per_row_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1116
057fc695e934a7 Jun Lei 2019-07-08 1117 ASSERT(dst_y_per_vm_vblank < min_dst_y_per_vm_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1118 ASSERT(dst_y_per_row_vblank < min_dst_y_per_row_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1119
057fc695e934a7 Jun Lei 2019-07-08 1120 ASSERT(dst_y_prefetch > (dst_y_per_vm_vblank + dst_y_per_row_vblank));
057fc695e934a7 Jun Lei 2019-07-08 1121 lsw = dst_y_prefetch - (dst_y_per_vm_vblank + dst_y_per_row_vblank);
057fc695e934a7 Jun Lei 2019-07-08 1122
057fc695e934a7 Jun Lei 2019-07-08 1123 dml_print("DML_DLG: %s: lsw = %3.2f\n", __func__, lsw);
057fc695e934a7 Jun Lei 2019-07-08 1124
057fc695e934a7 Jun Lei 2019-07-08 1125 vratio_pre_l = get_vratio_prefetch_l(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1126 vratio_pre_c = get_vratio_prefetch_c(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
057fc695e934a7 Jun Lei 2019-07-08 1127
057fc695e934a7 Jun Lei 2019-07-08 1128 dml_print("DML_DLG: %s: vratio_pre_l=%3.2f\n", __func__, vratio_pre_l);
057fc695e934a7 Jun Lei 2019-07-08 1129 dml_print("DML_DLG: %s: vratio_pre_c=%3.2f\n", __func__, vratio_pre_c);
057fc695e934a7 Jun Lei 2019-07-08 1130
057fc695e934a7 Jun Lei 2019-07-08 1131 // Active
757af27b9fbbba Harry Wentland 2021-09-08 1132 req_per_swath_ub_l = rq_dlg_param->rq_l.req_per_swath_ub;
757af27b9fbbba Harry Wentland 2021-09-08 1133 req_per_swath_ub_c = rq_dlg_param->rq_c.req_per_swath_ub;
757af27b9fbbba Harry Wentland 2021-09-08 1134 meta_row_height_l = rq_dlg_param->rq_l.meta_row_height;
757af27b9fbbba Harry Wentland 2021-09-08 1135 meta_row_height_c = rq_dlg_param->rq_c.meta_row_height;
057fc695e934a7 Jun Lei 2019-07-08 1136 swath_width_pixels_ub_l = 0;
057fc695e934a7 Jun Lei 2019-07-08 1137 swath_width_pixels_ub_c = 0;
057fc695e934a7 Jun Lei 2019-07-08 1138 scaler_rec_in_width_l = 0;
057fc695e934a7 Jun Lei 2019-07-08 1139 scaler_rec_in_width_c = 0;
757af27b9fbbba Harry Wentland 2021-09-08 1140 dpte_row_height_l = rq_dlg_param->rq_l.dpte_row_height;
757af27b9fbbba Harry Wentland 2021-09-08 1141 dpte_row_height_c = rq_dlg_param->rq_c.dpte_row_height;
057fc695e934a7 Jun Lei 2019-07-08 1142
4fa0046f11d998 Ivan Lipski 2024-06-07 1143 swath_width_pixels_ub_l = swath_width_ub_l;
4fa0046f11d998 Ivan Lipski 2024-06-07 1144 swath_width_pixels_ub_c = swath_width_ub_c;
057fc695e934a7 Jun Lei 2019-07-08 1145
057fc695e934a7 Jun Lei 2019-07-08 1146 if (htaps_l <= 1)
057fc695e934a7 Jun Lei 2019-07-08 1147 min_hratio_fact_l = 2.0;
057fc695e934a7 Jun Lei 2019-07-08 1148 else if (htaps_l <= 6) {
057fc695e934a7 Jun Lei 2019-07-08 1149 if ((hratio_l * 2.0) > 4.0)
057fc695e934a7 Jun Lei 2019-07-08 1150 min_hratio_fact_l = 4.0;
057fc695e934a7 Jun Lei 2019-07-08 1151 else
057fc695e934a7 Jun Lei 2019-07-08 1152 min_hratio_fact_l = hratio_l * 2.0;
057fc695e934a7 Jun Lei 2019-07-08 1153 } else {
057fc695e934a7 Jun Lei 2019-07-08 1154 if (hratio_l > 4.0)
057fc695e934a7 Jun Lei 2019-07-08 1155 min_hratio_fact_l = 4.0;
057fc695e934a7 Jun Lei 2019-07-08 1156 else
057fc695e934a7 Jun Lei 2019-07-08 1157 min_hratio_fact_l = hratio_l;
057fc695e934a7 Jun Lei 2019-07-08 1158 }
057fc695e934a7 Jun Lei 2019-07-08 1159
057fc695e934a7 Jun Lei 2019-07-08 1160 hscale_pixel_rate_l = min_hratio_fact_l * dppclk_freq_in_mhz;
057fc695e934a7 Jun Lei 2019-07-08 1161
057fc695e934a7 Jun Lei 2019-07-08 1162 if (htaps_c <= 1)
057fc695e934a7 Jun Lei 2019-07-08 1163 min_hratio_fact_c = 2.0;
057fc695e934a7 Jun Lei 2019-07-08 1164 else if (htaps_c <= 6) {
057fc695e934a7 Jun Lei 2019-07-08 1165 if ((hratio_c * 2.0) > 4.0)
057fc695e934a7 Jun Lei 2019-07-08 1166 min_hratio_fact_c = 4.0;
057fc695e934a7 Jun Lei 2019-07-08 1167 else
057fc695e934a7 Jun Lei 2019-07-08 1168 min_hratio_fact_c = hratio_c * 2.0;
057fc695e934a7 Jun Lei 2019-07-08 1169 } else {
057fc695e934a7 Jun Lei 2019-07-08 1170 if (hratio_c > 4.0)
057fc695e934a7 Jun Lei 2019-07-08 1171 min_hratio_fact_c = 4.0;
057fc695e934a7 Jun Lei 2019-07-08 1172 else
057fc695e934a7 Jun Lei 2019-07-08 1173 min_hratio_fact_c = hratio_c;
057fc695e934a7 Jun Lei 2019-07-08 1174 }
057fc695e934a7 Jun Lei 2019-07-08 1175
057fc695e934a7 Jun Lei 2019-07-08 1176 hscale_pixel_rate_c = min_hratio_fact_c * dppclk_freq_in_mhz;
057fc695e934a7 Jun Lei 2019-07-08 1177
057fc695e934a7 Jun Lei 2019-07-08 1178 refcyc_per_line_delivery_pre_l = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1179 refcyc_per_line_delivery_pre_c = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1180 refcyc_per_line_delivery_l = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1181 refcyc_per_line_delivery_c = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1182
057fc695e934a7 Jun Lei 2019-07-08 1183 refcyc_per_req_delivery_pre_l = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1184 refcyc_per_req_delivery_pre_c = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1185 refcyc_per_req_delivery_l = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1186 refcyc_per_req_delivery_c = 0.;
057fc695e934a7 Jun Lei 2019-07-08 1187
057fc695e934a7 Jun Lei 2019-07-08 1188 full_recout_width = 0;
057fc695e934a7 Jun Lei 2019-07-08 1189 // In ODM
057fc695e934a7 Jun Lei 2019-07-08 1190 if (src->is_hsplit) {
057fc695e934a7 Jun Lei 2019-07-08 1191 // This "hack" is only allowed (and valid) for MPC combine. In ODM
057fc695e934a7 Jun Lei 2019-07-08 1192 // combine, you MUST specify the full_recout_width...according to Oswin
057fc695e934a7 Jun Lei 2019-07-08 1193 if (dst->full_recout_width == 0 && !dst->odm_combine) {
057fc695e934a7 Jun Lei 2019-07-08 1194 dml_print("DML_DLG: %s: Warning: full_recout_width not set in hsplit mode\n",
057fc695e934a7 Jun Lei 2019-07-08 1195 __func__);
057fc695e934a7 Jun Lei 2019-07-08 1196 full_recout_width = dst->recout_width * 2; // assume half split for dcn1
057fc695e934a7 Jun Lei 2019-07-08 1197 } else
057fc695e934a7 Jun Lei 2019-07-08 1198 full_recout_width = dst->full_recout_width;
057fc695e934a7 Jun Lei 2019-07-08 1199 } else
057fc695e934a7 Jun Lei 2019-07-08 1200 full_recout_width = dst->recout_width;
057fc695e934a7 Jun Lei 2019-07-08 1201
057fc695e934a7 Jun Lei 2019-07-08 1202 // As of DCN2, mpc_combine and odm_combine are mutually exclusive
057fc695e934a7 Jun Lei 2019-07-08 1203 refcyc_per_line_delivery_pre_l = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1204 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1205 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1206 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1207 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1208 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1209 vratio_pre_l,
057fc695e934a7 Jun Lei 2019-07-08 1210 hscale_pixel_rate_l,
057fc695e934a7 Jun Lei 2019-07-08 1211 swath_width_pixels_ub_l,
057fc695e934a7 Jun Lei 2019-07-08 1212 1); // per line
057fc695e934a7 Jun Lei 2019-07-08 1213
057fc695e934a7 Jun Lei 2019-07-08 1214 refcyc_per_line_delivery_l = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1215 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1216 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1217 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1218 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1219 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1220 vratio_l,
057fc695e934a7 Jun Lei 2019-07-08 1221 hscale_pixel_rate_l,
057fc695e934a7 Jun Lei 2019-07-08 1222 swath_width_pixels_ub_l,
057fc695e934a7 Jun Lei 2019-07-08 1223 1); // per line
057fc695e934a7 Jun Lei 2019-07-08 1224
057fc695e934a7 Jun Lei 2019-07-08 1225 dml_print("DML_DLG: %s: full_recout_width = %d\n",
057fc695e934a7 Jun Lei 2019-07-08 1226 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1227 full_recout_width);
057fc695e934a7 Jun Lei 2019-07-08 1228 dml_print("DML_DLG: %s: hscale_pixel_rate_l = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1229 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1230 hscale_pixel_rate_l);
057fc695e934a7 Jun Lei 2019-07-08 1231 dml_print("DML_DLG: %s: refcyc_per_line_delivery_pre_l = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1232 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1233 refcyc_per_line_delivery_pre_l);
057fc695e934a7 Jun Lei 2019-07-08 1234 dml_print("DML_DLG: %s: refcyc_per_line_delivery_l = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1235 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1236 refcyc_per_line_delivery_l);
057fc695e934a7 Jun Lei 2019-07-08 1237
057fc695e934a7 Jun Lei 2019-07-08 1238 if (dual_plane) {
057fc695e934a7 Jun Lei 2019-07-08 1239 refcyc_per_line_delivery_pre_c = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1240 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1241 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1242 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1243 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1244 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1245 vratio_pre_c,
057fc695e934a7 Jun Lei 2019-07-08 1246 hscale_pixel_rate_c,
057fc695e934a7 Jun Lei 2019-07-08 1247 swath_width_pixels_ub_c,
057fc695e934a7 Jun Lei 2019-07-08 1248 1); // per line
057fc695e934a7 Jun Lei 2019-07-08 1249
057fc695e934a7 Jun Lei 2019-07-08 1250 refcyc_per_line_delivery_c = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1251 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1252 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1253 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1254 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1255 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1256 vratio_c,
057fc695e934a7 Jun Lei 2019-07-08 1257 hscale_pixel_rate_c,
057fc695e934a7 Jun Lei 2019-07-08 1258 swath_width_pixels_ub_c,
057fc695e934a7 Jun Lei 2019-07-08 1259 1); // per line
057fc695e934a7 Jun Lei 2019-07-08 1260
057fc695e934a7 Jun Lei 2019-07-08 1261 dml_print("DML_DLG: %s: refcyc_per_line_delivery_pre_c = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1262 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1263 refcyc_per_line_delivery_pre_c);
057fc695e934a7 Jun Lei 2019-07-08 1264 dml_print("DML_DLG: %s: refcyc_per_line_delivery_c = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1265 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1266 refcyc_per_line_delivery_c);
057fc695e934a7 Jun Lei 2019-07-08 1267 }
057fc695e934a7 Jun Lei 2019-07-08 1268
057fc695e934a7 Jun Lei 2019-07-08 1269 // TTU - Luma / Chroma
057fc695e934a7 Jun Lei 2019-07-08 1270 if (access_dir) { // vertical access
057fc695e934a7 Jun Lei 2019-07-08 1271 scaler_rec_in_width_l = vp_height_l;
057fc695e934a7 Jun Lei 2019-07-08 1272 scaler_rec_in_width_c = vp_height_c;
057fc695e934a7 Jun Lei 2019-07-08 1273 } else {
057fc695e934a7 Jun Lei 2019-07-08 1274 scaler_rec_in_width_l = vp_width_l;
057fc695e934a7 Jun Lei 2019-07-08 1275 scaler_rec_in_width_c = vp_width_c;
057fc695e934a7 Jun Lei 2019-07-08 1276 }
057fc695e934a7 Jun Lei 2019-07-08 1277
057fc695e934a7 Jun Lei 2019-07-08 1278 refcyc_per_req_delivery_pre_l = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1279 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1280 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1281 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1282 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1283 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1284 vratio_pre_l,
057fc695e934a7 Jun Lei 2019-07-08 1285 hscale_pixel_rate_l,
057fc695e934a7 Jun Lei 2019-07-08 1286 scaler_rec_in_width_l,
057fc695e934a7 Jun Lei 2019-07-08 1287 req_per_swath_ub_l); // per req
057fc695e934a7 Jun Lei 2019-07-08 1288 refcyc_per_req_delivery_l = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1289 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1290 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1291 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1292 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1293 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1294 vratio_l,
057fc695e934a7 Jun Lei 2019-07-08 1295 hscale_pixel_rate_l,
057fc695e934a7 Jun Lei 2019-07-08 1296 scaler_rec_in_width_l,
057fc695e934a7 Jun Lei 2019-07-08 1297 req_per_swath_ub_l); // per req
057fc695e934a7 Jun Lei 2019-07-08 1298
057fc695e934a7 Jun Lei 2019-07-08 1299 dml_print("DML_DLG: %s: refcyc_per_req_delivery_pre_l = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1300 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1301 refcyc_per_req_delivery_pre_l);
057fc695e934a7 Jun Lei 2019-07-08 1302 dml_print("DML_DLG: %s: refcyc_per_req_delivery_l = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1303 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1304 refcyc_per_req_delivery_l);
057fc695e934a7 Jun Lei 2019-07-08 1305
057fc695e934a7 Jun Lei 2019-07-08 1306 ASSERT(refcyc_per_req_delivery_pre_l < dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1307 ASSERT(refcyc_per_req_delivery_l < dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1308
057fc695e934a7 Jun Lei 2019-07-08 1309 if (dual_plane) {
057fc695e934a7 Jun Lei 2019-07-08 1310 refcyc_per_req_delivery_pre_c = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1311 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1312 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1313 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1314 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1315 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1316 vratio_pre_c,
057fc695e934a7 Jun Lei 2019-07-08 1317 hscale_pixel_rate_c,
057fc695e934a7 Jun Lei 2019-07-08 1318 scaler_rec_in_width_c,
057fc695e934a7 Jun Lei 2019-07-08 1319 req_per_swath_ub_c); // per req
057fc695e934a7 Jun Lei 2019-07-08 1320 refcyc_per_req_delivery_c = get_refcyc_per_delivery(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1321 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1322 pclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1323 dst->odm_combine,
057fc695e934a7 Jun Lei 2019-07-08 1324 full_recout_width,
057fc695e934a7 Jun Lei 2019-07-08 1325 dst->hactive,
057fc695e934a7 Jun Lei 2019-07-08 1326 vratio_c,
057fc695e934a7 Jun Lei 2019-07-08 1327 hscale_pixel_rate_c,
057fc695e934a7 Jun Lei 2019-07-08 1328 scaler_rec_in_width_c,
057fc695e934a7 Jun Lei 2019-07-08 1329 req_per_swath_ub_c); // per req
057fc695e934a7 Jun Lei 2019-07-08 1330
057fc695e934a7 Jun Lei 2019-07-08 1331 dml_print("DML_DLG: %s: refcyc_per_req_delivery_pre_c = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1332 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1333 refcyc_per_req_delivery_pre_c);
057fc695e934a7 Jun Lei 2019-07-08 1334 dml_print("DML_DLG: %s: refcyc_per_req_delivery_c = %3.2f\n",
057fc695e934a7 Jun Lei 2019-07-08 1335 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1336 refcyc_per_req_delivery_c);
057fc695e934a7 Jun Lei 2019-07-08 1337
057fc695e934a7 Jun Lei 2019-07-08 1338 ASSERT(refcyc_per_req_delivery_pre_c < dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1339 ASSERT(refcyc_per_req_delivery_c < dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1340 }
057fc695e934a7 Jun Lei 2019-07-08 1341
057fc695e934a7 Jun Lei 2019-07-08 1342 // TTU - Cursor
057fc695e934a7 Jun Lei 2019-07-08 1343 refcyc_per_req_delivery_pre_cur0 = 0.0;
057fc695e934a7 Jun Lei 2019-07-08 1344 refcyc_per_req_delivery_cur0 = 0.0;
057fc695e934a7 Jun Lei 2019-07-08 1345 if (src->num_cursors > 0) {
057fc695e934a7 Jun Lei 2019-07-08 1346 calculate_ttu_cursor(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1347 &refcyc_per_req_delivery_pre_cur0,
057fc695e934a7 Jun Lei 2019-07-08 1348 &refcyc_per_req_delivery_cur0,
057fc695e934a7 Jun Lei 2019-07-08 1349 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1350 ref_freq_to_pix_freq,
057fc695e934a7 Jun Lei 2019-07-08 1351 hscale_pixel_rate_l,
057fc695e934a7 Jun Lei 2019-07-08 1352 scl->hscl_ratio,
057fc695e934a7 Jun Lei 2019-07-08 1353 vratio_pre_l,
057fc695e934a7 Jun Lei 2019-07-08 1354 vratio_l,
057fc695e934a7 Jun Lei 2019-07-08 1355 src->cur0_src_width,
057fc695e934a7 Jun Lei 2019-07-08 1356 (enum cursor_bpp)(src->cur0_bpp));
057fc695e934a7 Jun Lei 2019-07-08 1357 }
057fc695e934a7 Jun Lei 2019-07-08 1358
057fc695e934a7 Jun Lei 2019-07-08 1359 refcyc_per_req_delivery_pre_cur1 = 0.0;
057fc695e934a7 Jun Lei 2019-07-08 1360 refcyc_per_req_delivery_cur1 = 0.0;
057fc695e934a7 Jun Lei 2019-07-08 1361 if (src->num_cursors > 1) {
057fc695e934a7 Jun Lei 2019-07-08 1362 calculate_ttu_cursor(mode_lib,
057fc695e934a7 Jun Lei 2019-07-08 1363 &refcyc_per_req_delivery_pre_cur1,
057fc695e934a7 Jun Lei 2019-07-08 1364 &refcyc_per_req_delivery_cur1,
057fc695e934a7 Jun Lei 2019-07-08 1365 refclk_freq_in_mhz,
057fc695e934a7 Jun Lei 2019-07-08 1366 ref_freq_to_pix_freq,
057fc695e934a7 Jun Lei 2019-07-08 1367 hscale_pixel_rate_l,
057fc695e934a7 Jun Lei 2019-07-08 1368 scl->hscl_ratio,
057fc695e934a7 Jun Lei 2019-07-08 1369 vratio_pre_l,
057fc695e934a7 Jun Lei 2019-07-08 1370 vratio_l,
057fc695e934a7 Jun Lei 2019-07-08 1371 src->cur1_src_width,
057fc695e934a7 Jun Lei 2019-07-08 1372 (enum cursor_bpp)(src->cur1_bpp));
057fc695e934a7 Jun Lei 2019-07-08 1373 }
057fc695e934a7 Jun Lei 2019-07-08 1374
057fc695e934a7 Jun Lei 2019-07-08 1375 // TTU - Misc
057fc695e934a7 Jun Lei 2019-07-08 1376 // all hard-coded
057fc695e934a7 Jun Lei 2019-07-08 1377
057fc695e934a7 Jun Lei 2019-07-08 1378 // Assignment to register structures
057fc695e934a7 Jun Lei 2019-07-08 1379 disp_dlg_regs->dst_y_after_scaler = dst_y_after_scaler; // in terms of line
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1380 disp_dlg_regs->refcyc_x_after_scaler = (unsigned int)(dst_x_after_scaler * ref_freq_to_pix_freq); // in terms of refclk
057fc695e934a7 Jun Lei 2019-07-08 1381 ASSERT(disp_dlg_regs->refcyc_x_after_scaler < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1382 disp_dlg_regs->dst_y_prefetch = (unsigned int)(dst_y_prefetch * dml_pow(2, 2));
057fc695e934a7 Jun Lei 2019-07-08 1383 disp_dlg_regs->dst_y_per_vm_vblank = (unsigned int)(dst_y_per_vm_vblank * dml_pow(2, 2));
057fc695e934a7 Jun Lei 2019-07-08 1384 disp_dlg_regs->dst_y_per_row_vblank = (unsigned int)(dst_y_per_row_vblank * dml_pow(2, 2));
057fc695e934a7 Jun Lei 2019-07-08 1385 disp_dlg_regs->dst_y_per_vm_flip = (unsigned int)(dst_y_per_vm_flip * dml_pow(2, 2));
057fc695e934a7 Jun Lei 2019-07-08 1386 disp_dlg_regs->dst_y_per_row_flip = (unsigned int)(dst_y_per_row_flip * dml_pow(2, 2));
057fc695e934a7 Jun Lei 2019-07-08 1387
057fc695e934a7 Jun Lei 2019-07-08 1388 disp_dlg_regs->vratio_prefetch = (unsigned int)(vratio_pre_l * dml_pow(2, 19));
057fc695e934a7 Jun Lei 2019-07-08 1389 disp_dlg_regs->vratio_prefetch_c = (unsigned int)(vratio_pre_c * dml_pow(2, 19));
057fc695e934a7 Jun Lei 2019-07-08 1390
057fc695e934a7 Jun Lei 2019-07-08 1391 disp_dlg_regs->refcyc_per_pte_group_vblank_l =
057fc695e934a7 Jun Lei 2019-07-08 1392 (unsigned int)(dst_y_per_row_vblank * (double) htotal
057fc695e934a7 Jun Lei 2019-07-08 1393 * ref_freq_to_pix_freq / (double) dpte_groups_per_row_ub_l);
057fc695e934a7 Jun Lei 2019-07-08 1394 ASSERT(disp_dlg_regs->refcyc_per_pte_group_vblank_l < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1395
057fc695e934a7 Jun Lei 2019-07-08 1396 if (dual_plane) {
057fc695e934a7 Jun Lei 2019-07-08 1397 disp_dlg_regs->refcyc_per_pte_group_vblank_c = (unsigned int)(dst_y_per_row_vblank
057fc695e934a7 Jun Lei 2019-07-08 1398 * (double) htotal * ref_freq_to_pix_freq
057fc695e934a7 Jun Lei 2019-07-08 1399 / (double) dpte_groups_per_row_ub_c);
057fc695e934a7 Jun Lei 2019-07-08 @1400 ASSERT(disp_dlg_regs->refcyc_per_pte_group_vblank_c
057fc695e934a7 Jun Lei 2019-07-08 1401 < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1402 }
057fc695e934a7 Jun Lei 2019-07-08 1403
057fc695e934a7 Jun Lei 2019-07-08 1404 disp_dlg_regs->refcyc_per_meta_chunk_vblank_l =
057fc695e934a7 Jun Lei 2019-07-08 1405 (unsigned int)(dst_y_per_row_vblank * (double) htotal
057fc695e934a7 Jun Lei 2019-07-08 1406 * ref_freq_to_pix_freq / (double) meta_chunks_per_row_ub_l);
057fc695e934a7 Jun Lei 2019-07-08 1407 ASSERT(disp_dlg_regs->refcyc_per_meta_chunk_vblank_l < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1408
057fc695e934a7 Jun Lei 2019-07-08 1409 disp_dlg_regs->refcyc_per_meta_chunk_vblank_c =
057fc695e934a7 Jun Lei 2019-07-08 1410 disp_dlg_regs->refcyc_per_meta_chunk_vblank_l; // dcc for 4:2:0 is not supported in dcn1.0. assigned to be the same as _l for now
057fc695e934a7 Jun Lei 2019-07-08 1411
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1412 disp_dlg_regs->refcyc_per_pte_group_flip_l = (unsigned int)((dst_y_per_row_flip * htotal
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1413 * ref_freq_to_pix_freq) / dpte_groups_per_row_ub_l);
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1414 disp_dlg_regs->refcyc_per_meta_chunk_flip_l = (unsigned int)((dst_y_per_row_flip * htotal
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1415 * ref_freq_to_pix_freq) / meta_chunks_per_row_ub_l);
057fc695e934a7 Jun Lei 2019-07-08 1416
057fc695e934a7 Jun Lei 2019-07-08 1417 if (dual_plane) {
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1418 disp_dlg_regs->refcyc_per_pte_group_flip_c = (unsigned int)((dst_y_per_row_flip
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1419 * htotal * ref_freq_to_pix_freq) / dpte_groups_per_row_ub_c);
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1420 disp_dlg_regs->refcyc_per_meta_chunk_flip_c = (unsigned int)((dst_y_per_row_flip
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1421 * htotal * ref_freq_to_pix_freq) / meta_chunks_per_row_ub_c);
057fc695e934a7 Jun Lei 2019-07-08 1422 }
057fc695e934a7 Jun Lei 2019-07-08 1423
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1424 disp_dlg_regs->dst_y_per_pte_row_nom_l = (unsigned int)(((double) dpte_row_height_l
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1425 / (double) vratio_l * dml_pow(2, 2)));
057fc695e934a7 Jun Lei 2019-07-08 1426 ASSERT(disp_dlg_regs->dst_y_per_pte_row_nom_l < (unsigned int) dml_pow(2, 17));
057fc695e934a7 Jun Lei 2019-07-08 1427
057fc695e934a7 Jun Lei 2019-07-08 1428 if (dual_plane) {
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1429 disp_dlg_regs->dst_y_per_pte_row_nom_c = (unsigned int)(((double) dpte_row_height_c
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1430 / (double) vratio_c * dml_pow(2, 2)));
057fc695e934a7 Jun Lei 2019-07-08 1431 if (disp_dlg_regs->dst_y_per_pte_row_nom_c >= (unsigned int) dml_pow(2, 17)) {
057fc695e934a7 Jun Lei 2019-07-08 1432 dml_print("DML_DLG: %s: Warning dst_y_per_pte_row_nom_c %u larger than supported by register format U15.2 %u\n",
057fc695e934a7 Jun Lei 2019-07-08 1433 __func__,
057fc695e934a7 Jun Lei 2019-07-08 1434 disp_dlg_regs->dst_y_per_pte_row_nom_c,
057fc695e934a7 Jun Lei 2019-07-08 1435 (unsigned int) dml_pow(2, 17) - 1);
057fc695e934a7 Jun Lei 2019-07-08 1436 }
057fc695e934a7 Jun Lei 2019-07-08 1437 }
057fc695e934a7 Jun Lei 2019-07-08 1438
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1439 disp_dlg_regs->dst_y_per_meta_row_nom_l = (unsigned int)(((double) meta_row_height_l
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1440 / (double) vratio_l * dml_pow(2, 2)));
057fc695e934a7 Jun Lei 2019-07-08 1441 ASSERT(disp_dlg_regs->dst_y_per_meta_row_nom_l < (unsigned int) dml_pow(2, 17));
057fc695e934a7 Jun Lei 2019-07-08 1442
057fc695e934a7 Jun Lei 2019-07-08 1443 disp_dlg_regs->dst_y_per_meta_row_nom_c = disp_dlg_regs->dst_y_per_meta_row_nom_l; // TODO: dcc for 4:2:0 is not supported in dcn1.0. assigned to be the same as _l for now
057fc695e934a7 Jun Lei 2019-07-08 1444
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1445 disp_dlg_regs->refcyc_per_pte_group_nom_l = (unsigned int)(((double) dpte_row_height_l
057fc695e934a7 Jun Lei 2019-07-08 1446 / (double) vratio_l * (double) htotal * ref_freq_to_pix_freq
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1447 / (double) dpte_groups_per_row_ub_l));
057fc695e934a7 Jun Lei 2019-07-08 1448 if (disp_dlg_regs->refcyc_per_pte_group_nom_l >= (unsigned int) dml_pow(2, 23))
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1449 disp_dlg_regs->refcyc_per_pte_group_nom_l = (unsigned int)(dml_pow(2, 23) - 1);
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1450 disp_dlg_regs->refcyc_per_meta_chunk_nom_l = (unsigned int)(((double) meta_row_height_l
057fc695e934a7 Jun Lei 2019-07-08 1451 / (double) vratio_l * (double) htotal * ref_freq_to_pix_freq
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1452 / (double) meta_chunks_per_row_ub_l));
057fc695e934a7 Jun Lei 2019-07-08 1453 if (disp_dlg_regs->refcyc_per_meta_chunk_nom_l >= (unsigned int) dml_pow(2, 23))
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1454 disp_dlg_regs->refcyc_per_meta_chunk_nom_l = (unsigned int)(dml_pow(2, 23) - 1);
057fc695e934a7 Jun Lei 2019-07-08 1455
057fc695e934a7 Jun Lei 2019-07-08 1456 if (dual_plane) {
057fc695e934a7 Jun Lei 2019-07-08 1457 disp_dlg_regs->refcyc_per_pte_group_nom_c =
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1458 (unsigned int)(((double) dpte_row_height_c / (double) vratio_c
057fc695e934a7 Jun Lei 2019-07-08 1459 * (double) htotal * ref_freq_to_pix_freq
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1460 / (double) dpte_groups_per_row_ub_c));
057fc695e934a7 Jun Lei 2019-07-08 1461 if (disp_dlg_regs->refcyc_per_pte_group_nom_c >= (unsigned int) dml_pow(2, 23))
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1462 disp_dlg_regs->refcyc_per_pte_group_nom_c = (unsigned int)(dml_pow(2, 23) - 1);
057fc695e934a7 Jun Lei 2019-07-08 1463
057fc695e934a7 Jun Lei 2019-07-08 1464 // TODO: Is this the right calculation? Does htotal need to be halved?
057fc695e934a7 Jun Lei 2019-07-08 1465 disp_dlg_regs->refcyc_per_meta_chunk_nom_c =
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1466 (unsigned int)(((double) meta_row_height_c / (double) vratio_c
057fc695e934a7 Jun Lei 2019-07-08 1467 * (double) htotal * ref_freq_to_pix_freq
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1468 / (double) meta_chunks_per_row_ub_c));
057fc695e934a7 Jun Lei 2019-07-08 1469 if (disp_dlg_regs->refcyc_per_meta_chunk_nom_c >= (unsigned int) dml_pow(2, 23))
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1470 disp_dlg_regs->refcyc_per_meta_chunk_nom_c = (unsigned int)(dml_pow(2, 23) - 1);
057fc695e934a7 Jun Lei 2019-07-08 1471 }
057fc695e934a7 Jun Lei 2019-07-08 1472
057fc695e934a7 Jun Lei 2019-07-08 1473 disp_dlg_regs->refcyc_per_line_delivery_pre_l = (unsigned int) dml_floor(refcyc_per_line_delivery_pre_l,
057fc695e934a7 Jun Lei 2019-07-08 1474 1);
057fc695e934a7 Jun Lei 2019-07-08 1475 disp_dlg_regs->refcyc_per_line_delivery_l = (unsigned int) dml_floor(refcyc_per_line_delivery_l,
057fc695e934a7 Jun Lei 2019-07-08 1476 1);
057fc695e934a7 Jun Lei 2019-07-08 1477 ASSERT(disp_dlg_regs->refcyc_per_line_delivery_pre_l < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1478 ASSERT(disp_dlg_regs->refcyc_per_line_delivery_l < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1479
057fc695e934a7 Jun Lei 2019-07-08 1480 disp_dlg_regs->refcyc_per_line_delivery_pre_c = (unsigned int) dml_floor(refcyc_per_line_delivery_pre_c,
057fc695e934a7 Jun Lei 2019-07-08 1481 1);
057fc695e934a7 Jun Lei 2019-07-08 1482 disp_dlg_regs->refcyc_per_line_delivery_c = (unsigned int) dml_floor(refcyc_per_line_delivery_c,
057fc695e934a7 Jun Lei 2019-07-08 1483 1);
057fc695e934a7 Jun Lei 2019-07-08 1484 ASSERT(disp_dlg_regs->refcyc_per_line_delivery_pre_c < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1485 ASSERT(disp_dlg_regs->refcyc_per_line_delivery_c < (unsigned int) dml_pow(2, 13));
057fc695e934a7 Jun Lei 2019-07-08 1486
057fc695e934a7 Jun Lei 2019-07-08 1487 disp_dlg_regs->chunk_hdl_adjust_cur0 = 3;
057fc695e934a7 Jun Lei 2019-07-08 1488 disp_dlg_regs->dst_y_offset_cur0 = 0;
057fc695e934a7 Jun Lei 2019-07-08 1489 disp_dlg_regs->chunk_hdl_adjust_cur1 = 3;
057fc695e934a7 Jun Lei 2019-07-08 1490 disp_dlg_regs->dst_y_offset_cur1 = 0;
057fc695e934a7 Jun Lei 2019-07-08 1491
057fc695e934a7 Jun Lei 2019-07-08 1492 disp_dlg_regs->dst_y_delta_drq_limit = 0x7fff; // off
057fc695e934a7 Jun Lei 2019-07-08 1493
057fc695e934a7 Jun Lei 2019-07-08 1494 disp_ttu_regs->refcyc_per_req_delivery_pre_l = (unsigned int)(refcyc_per_req_delivery_pre_l
057fc695e934a7 Jun Lei 2019-07-08 1495 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1496 disp_ttu_regs->refcyc_per_req_delivery_l = (unsigned int)(refcyc_per_req_delivery_l
057fc695e934a7 Jun Lei 2019-07-08 1497 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1498 disp_ttu_regs->refcyc_per_req_delivery_pre_c = (unsigned int)(refcyc_per_req_delivery_pre_c
057fc695e934a7 Jun Lei 2019-07-08 1499 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1500 disp_ttu_regs->refcyc_per_req_delivery_c = (unsigned int)(refcyc_per_req_delivery_c
057fc695e934a7 Jun Lei 2019-07-08 1501 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1502 disp_ttu_regs->refcyc_per_req_delivery_pre_cur0 =
057fc695e934a7 Jun Lei 2019-07-08 1503 (unsigned int)(refcyc_per_req_delivery_pre_cur0 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1504 disp_ttu_regs->refcyc_per_req_delivery_cur0 = (unsigned int)(refcyc_per_req_delivery_cur0
057fc695e934a7 Jun Lei 2019-07-08 1505 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1506 disp_ttu_regs->refcyc_per_req_delivery_pre_cur1 =
057fc695e934a7 Jun Lei 2019-07-08 1507 (unsigned int)(refcyc_per_req_delivery_pre_cur1 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1508 disp_ttu_regs->refcyc_per_req_delivery_cur1 = (unsigned int)(refcyc_per_req_delivery_cur1
057fc695e934a7 Jun Lei 2019-07-08 1509 * dml_pow(2, 10));
057fc695e934a7 Jun Lei 2019-07-08 1510 disp_ttu_regs->qos_level_low_wm = 0;
057fc695e934a7 Jun Lei 2019-07-08 1511 ASSERT(disp_ttu_regs->qos_level_low_wm < dml_pow(2, 14));
057fc695e934a7 Jun Lei 2019-07-08 1512 disp_ttu_regs->qos_level_high_wm = (unsigned int) (4.0 * (double) htotal
057fc695e934a7 Jun Lei 2019-07-08 1513 * ref_freq_to_pix_freq);
057fc695e934a7 Jun Lei 2019-07-08 1514 /*ASSERT(disp_ttu_regs->qos_level_high_wm < dml_pow(2, 14));*/
057fc695e934a7 Jun Lei 2019-07-08 1515
057fc695e934a7 Jun Lei 2019-07-08 1516 disp_ttu_regs->qos_level_flip = 14;
057fc695e934a7 Jun Lei 2019-07-08 1517 disp_ttu_regs->qos_level_fixed_l = 8;
057fc695e934a7 Jun Lei 2019-07-08 1518 disp_ttu_regs->qos_level_fixed_c = 8;
057fc695e934a7 Jun Lei 2019-07-08 1519 disp_ttu_regs->qos_level_fixed_cur0 = 8;
057fc695e934a7 Jun Lei 2019-07-08 1520 disp_ttu_regs->qos_ramp_disable_l = 0;
057fc695e934a7 Jun Lei 2019-07-08 1521 disp_ttu_regs->qos_ramp_disable_c = 0;
057fc695e934a7 Jun Lei 2019-07-08 1522 disp_ttu_regs->qos_ramp_disable_cur0 = 0;
057fc695e934a7 Jun Lei 2019-07-08 1523
1547752eea0ff5 Gaghik Khachatrian 2026-04-14 1524 disp_ttu_regs->min_ttu_vblank = (unsigned int)(min_ttu_vblank * refclk_freq_in_mhz);
057fc695e934a7 Jun Lei 2019-07-08 1525 ASSERT(disp_ttu_regs->min_ttu_vblank < dml_pow(2, 24));
057fc695e934a7 Jun Lei 2019-07-08 1526
4768349e8885a1 Harry Wentland 2021-09-08 1527 print__ttu_regs_st(mode_lib, disp_ttu_regs);
4768349e8885a1 Harry Wentland 2021-09-08 1528 print__dlg_regs_st(mode_lib, disp_dlg_regs);
057fc695e934a7 Jun Lei 2019-07-08 1529 }
057fc695e934a7 Jun Lei 2019-07-08 1530
:::::: The code at line 1400 was first introduced by commit
:::::: 057fc695e934a77bae0c6c7f3be01251774b61cf drm/amd/display: support "dummy pstate"
:::::: TO: Jun Lei <Jun.Lei@amd.com>
:::::: CC: Alex Deucher <alexander.deucher@amd.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-25 11:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-25 11:00 drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c:1400 dml20v2_rq_dlg_get_dlg_params() warn: inconsistent indenting kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox