drm/amd/powerplay: add hardware manager sub-component

Dan Carpenter dan.carpenter at oracle.com
Mon Jan 4 12:53:02 PST 2016


Hi Jammy Zhou,

The powerplay patches introduce a lot of Smatch static checker warnings.
I started to fix them but there are quite a few so I decided to just
pass them back to you instead.

They're mostly about small mistakes with indenting or return -1 instead
of -ENOMEM.  There are a ball of places where NULL checks are reversed
or && was used instead of ||.  Also an unreachable code warning.  The
struct type mismatch warnings should probably be addressed as well.
Actually it should all be fixed really, even though the bad indenting is
harmless.  Maybe add a /* fall through */ comment for the missing break
warnings, it looks like that was intentional.  The buffer overflow
warnings are because the test is off-by-one.

Feel free to ask if you have any questions.

regards,
dan carpenter

drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c:806 amdgpu_pm_compute_clocks() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/fiji_smumgr.c:231 fiji_send_msg_to_smc() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/fiji_smumgr.c:560 fiji_request_smu_specific_fw_load() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/fiji_smumgr.c:726 fiji_start_avfs_btc() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/fiji_smumgr.c:1036 fiji_smum_init() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/cz_smumgr.c:201 cz_check_fw_load_finish() info: ignoring unreachable code.
drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/tonga_smumgr.c:813 tonga_smum_init() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/processpptables.c:397 get_clock_voltage_dependency_table() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/processpptables.c:1330 get_cac_leakage_table() error: potential null dereference 'cac_leakage_table'.  (kzalloc returns null)
include/linux/compiler.h:231 get_platform_power_management_table() warn: struct type mismatch 'phm_ppm_table vs _ATOM_PPLIB_PPM_Table'
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/processpptables.c:1469 init_phase_shedding_table() error: potential null dereference 'table'.  (kzalloc returns null)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/functiontables.c:69 phm_dispatch_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/functiontables.c:106 phm_construct_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_powertune.c:549 fiji_power_control_set_level() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_powertune.c:552 fiji_power_control_set_level() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppevvmath.h:575 uGetScaledDecimal() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:171 get_vddc_lookup_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:204 get_platform_power_management_table() warn: struct type mismatch 'phm_ppm_table vs _ATOM_Tonga_PPM_Table'
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:209 get_platform_power_management_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:330 get_valid_clk() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:381 get_mclk_voltage_dependency_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:424 get_sclk_voltage_dependency_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:467 get_pcie_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:509 get_cac_tdp_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:516 get_cac_tdp_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_processpptables.c:617 get_mm_clock_voltage_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:582 cz_tf_init_sclk_limit() error: we previously assumed 'table' could be null (see line 582)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:609 cz_tf_init_uvd_limit() error: we previously assumed 'table' could be null (see line 609)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:637 cz_tf_init_vce_limit() error: we previously assumed 'table' could be null (see line 637)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:665 cz_tf_init_acp_limit() error: we previously assumed 'table' could be null (see line 665)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:1158 cz_hwmgr_backend_fini() error: we previously assumed 'hwmgr' could be null (see line 1158)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:1186 cz_phm_unforce_dpm_levels() error: we previously assumed 'table' could be null (see line 1186)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/cz_hwmgr.c:1640 cz_get_dal_power_level() warn: why is zero skipped 'i'
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/hardwaremanager.c:257 phm_check_smc_update_required_for_display_configuration() warn: signedness bug returning '(-22)'
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/hardwaremanager.c:260 phm_check_smc_update_required_for_display_configuration() warn: signedness bug returning '(-22)'
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:697 fiji_hwmgr_backend_init() error: we previously assumed 'table_info' could be null (see line 652)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:944 fiji_trim_voltage_table() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:1161 fiji_program_static_screen_threshold_parameters() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:1298 fiji_process_firmware_header() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:1342 fiji_copy_and_switch_arb_sets() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:3323 fiji_start_dpm() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:3558 fiji_apply_dal_min_voltage_request() error: we previously assumed 'table' could be null (see line 3554)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_hwmgr.c:4157 fiji_request_link_speed_change_before_state_change() warn: missing break? reassigning 'data->force_pcie_gen'
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:1683 tonga_populate_smc_uvd_level() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:3927 tonga_set_mc_special_registers() error: buffer overflow 'table->mc_reg_address' 16 <= 16
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:3928 tonga_set_mc_special_registers() error: buffer overflow 'table->mc_reg_address' 16 <= 16
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:3930 tonga_set_mc_special_registers() error: buffer overflow 'table->mc_reg_table_entry[k]->mc_data' 16 <= 16
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:3992 tonga_initialize_mc_reg_table() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:5735 tonga_set_max_fan_pwm_output() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:5965 tonga_check_states_equal() warn: variable dereferenced before check 'pstate1' (see line 5961)
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_hwmgr.c:5965 tonga_check_states_equal() warn: variable dereferenced before check 'pstate2' (see line 5962)
drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:76 pp_sw_fini() error: we previously assumed 'hwmgr' could be null (see line 76)
drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:77 pp_sw_fini() error: we previously assumed 'hwmgr->hwmgr_func' could be null (see line 76)
drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:136 pp_hw_fini() error: we previously assumed 'eventmgr' could be null (see line 136)
drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:141 pp_hw_fini() error: we previously assumed 'smumgr' could be null (see line 141)
drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:142 pp_hw_fini() error: we previously assumed 'smumgr->smumgr_funcs' could be null (see line 141)


More information about the dri-devel mailing list