[bug report] drm/amd/display: Introduce DML2

Dan Carpenter dan.carpenter at linaro.org
Fri Oct 20 12:39:20 UTC 2023


Hello Qingqing Zhuo,

The patch 7966f319c66d: "drm/amd/display: Introduce DML2" from Jul
28, 2023 (linux-next), leads to the following Smatch static checker
warning:

	drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:2748 TruncToValidBPP()
	warn: inconsistent indenting

drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c
    2736                 MinDSCBPP = 8;
    2737                 MaxDSCBPP = 3 * DSCInputBitPerComponent - 1.0 / 16;
    2738         } else {
    2739                 if (Output == dml_hdmi) {
    2740                         NonDSCBPP0 = 24;
    2741                         NonDSCBPP1 = 24;
    2742                         NonDSCBPP2 = 24;
    2743                 } else {
    2744                         NonDSCBPP0 = 16;
    2745                         NonDSCBPP1 = 20;
    2746                         NonDSCBPP2 = 24;
    2747         }
--> 2748         if (Format == dml_n422) {

This code should be indented another tab.

    2749                 MinDSCBPP = 7;
    2750                         MaxDSCBPP = 2 * DSCInputBitPerComponent - 1.0 / 16.0;
    2751                 } else {
    2752                         MinDSCBPP = 8;
    2753                         MaxDSCBPP = 3 * DSCInputBitPerComponent - 1.0 / 16.0;
    2754                 }
    2755         }
    2756 
    2757         if (Output == dml_dp2p0) {
    2758                 MaxLinkBPP = LinkBitRate * Lanes / PixelClock * 128.0 / 132.0 * 383.0 / 384.0 * 65536.0 / 65540.0;

There are a bunch of other warnings as well.  Too many to review.

regards,
dan carpenter

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:2903 dm_resume() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dce_calcs.c:914 calculate_bandwidth() error: uninitialized symbol 'max_chunks_fbc_mode'.
drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dce_calcs.c:917 calculate_bandwidth() error: uninitialized symbol 'max_chunks_fbc_mode'.
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c:702 dcn35_clk_mgr_helper_populate_bw_params() warn: if statement not indented
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:1207 CalculatePrefetchSchedule() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:1288 CalculatePrefetchSchedule() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:1455 CalculatePrefetchSchedule() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:1558 CalculatePrefetchSchedule() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:2645 CalculateVMAndRowBytes() warn: previously used '*PixelPTEReqWidth' as divisor (see line 2634)
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:2748 TruncToValidBPP() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:2750 TruncToValidBPP() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:2812 TruncToValidBPP() warn: ignoring unreachable code.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:3171 CalculateDCFCLKDeepSleep() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:3749 CalculateVMGroupAndRequestTimes() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:4051 CalculateStutterEfficiency() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:4201 CalculateSwathAndDETConfiguration() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:4247 CalculateSwathAndDETConfiguration() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:4784 CalculateSurfaceSizeInMall() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:4789 CalculateSurfaceSizeInMall() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:5196 CalculateVMRowAndSwath() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6013 CalculatePrefetchBandwithSupport() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6195 CalculateMaxVStartup() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6916 dml_core_mode_support() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:7206 dml_core_mode_support() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:7455 dml_core_mode_support() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:7869 dml_core_mode_support() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:7940 dml_core_mode_support() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:8366 dml_core_mode_programming() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:9345 dml_core_mode_programming() warn: for statement not indented
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_util.c:116 dml_floor() warn: if statement not indented
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_util.c:150 dml_max() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_util.c:731 dml_get_num_active_planes() warn: if statement not indented
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_mall_phantom.c:459 dml2_svp_drr_schedulable() error: we previously assumed 'pipe->stream' could be null (see line 450)
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_mall_phantom.c:549 subvp_vblank_schedulable() error: we previously assumed 'subvp_pipe' could be null (see line 541)
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_mall_phantom.c:549 subvp_vblank_schedulable() warn: pointer dereferenced without being set 'subvp_pipe'
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_policy.c:206 dml2_policy_build_synthetic_soc_states() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_translation_helper.c:604 populate_dml_output_cfg_from_stream_state() warn: ignoring unreachable code.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:137 optimize_configuration() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dce110/dce110_hwseq.c:1014 dce110_edp_backlight_control() error: we previously assumed 'link->panel_cntl' could be null (see line 971)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn10/dcn10_hwseq.c:1495 dcn10_init_hw() error: we previously assumed 'dc->clk_mgr' could be null (see line 1491)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn10/dcn10_hwseq.c:1858 dcn10_set_output_transfer_func() warn: variable dereferenced before check 'stream' (see line 1841)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn201/dcn201_hwseq.c:240 dcn201_init_hw() warn: variable dereferenced before check 'res_pool->dccg' (see line 228)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn20/dcn20_hwseq.c:1803 dcn20_program_pipe() error: we previously assumed 'pipe_ctx->plane_state' could be null (see line 1762)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn20/dcn20_hwseq.c:2080 dcn20_post_unlock_program_front_end() error: we previously assumed 'hwseq' could be null (see line 2074)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn20/dcn20_hwseq.c:851 dcn20_enable_stream_timing() warn: variable dereferenced before check 'pipe_ctx->stream_res.tg' (see line 758)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn21/dcn21_hwseq.c:249 dcn21_set_backlight_level() error: we previously assumed 'panel_cntl' could be null (see line 238)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn30/dcn30_hwseq.c:510 dcn30_init_hw() warn: variable dereferenced before check 'res_pool->dccg' (see line 480)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn30/dcn30_hwseq.c:635 dcn30_init_hw() error: we previously assumed 'dc->clk_mgr' could be null (see line 476)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn30/dcn30_hwseq.c:777 dcn30_apply_idle_power_optimizations() error: we previously assumed 'stream' could be null (see line 761)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn30/dcn30_hwseq.c:779 dcn30_apply_idle_power_optimizations() error: we previously assumed 'plane' could be null (see line 761)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn31/dcn31_hwseq.c:135 dcn31_init_hw() warn: variable dereferenced before check 'res_pool->dccg' (see line 126)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn31/dcn31_hwseq.c:257 dcn31_init_hw() error: we previously assumed 'dc->clk_mgr' could be null (see line 117)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn32/dcn32_hwseq.c:266 dcn32_apply_idle_power_optimizations() warn: variable dereferenced before check 'dc->current_state' (see line 258)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn32/dcn32_hwseq.c:802 dcn32_init_hw() warn: variable dereferenced before check 'res_pool->dccg' (see line 779)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn32/dcn32_hwseq.c:952 dcn32_init_hw() error: we previously assumed 'dc->clk_mgr' could be null (see line 775)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn35/dcn35_hwseq.c:159 dcn35_init_hw() warn: variable dereferenced before check 'res_pool->dccg' (see line 150)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn35/dcn35_hwseq.c:206 dcn35_init_hw() error: we previously assumed 'res_pool->hubbub' could be null (see line 159)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn35/dcn35_hwseq.c:285 dcn35_init_hw() error: we previously assumed 'dc->clk_mgr' could be null (see line 136)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn35/dcn35_hwseq.c:973 dcn35_calc_blocks_to_gate() error: we previously assumed 'pipe_ctx->plane_res.hubp' could be null (see line 969)
drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn35/dcn35_hwseq.c:976 dcn35_calc_blocks_to_gate() warn: always true condition '(pipe_ctx->plane_res.mpcc_inst >= 0) => (0-255 >= 0)'

regards,
dan carpenter


More information about the amd-gfx mailing list