BCC: [email protected] CC: [email protected] CC: [email protected] TO: Rodrigo Siqueira <[email protected]> CC: Alex Deucher <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: c40e8341e3b3bb27e3a65b06b5b454626234c4f0 commit: 00fa7f031dd4b885175da390e24cb02f6a45977e drm/amd/display: Add basic infrastructure for enabling FAMS date: 7 weeks ago :::::: branch date: 2 days ago :::::: commit date: 7 weeks ago config: microblaze-randconfig-m041-20220824 (https://download.01.org/0day-ci/archive/20220825/[email protected]/config) compiler: microblaze-linux-gcc (GCC) 12.1.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c:311 dc_dmub_srv_p_state_delegate() warn: variable dereferenced before check 'dc' (see line 309) vim +/dc +311 drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.c 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 302 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 303 bool dc_dmub_srv_p_state_delegate(struct dc *dc, bool should_manage_pstate, struct dc_state *context) 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 304 { 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 305 union dmub_rb_cmd cmd = { 0 }; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 306 struct dmub_cmd_fw_assisted_mclk_switch_config *config_data = &cmd.fw_assisted_mclk_switch.config_data; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 307 int i = 0; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 308 int ramp_up_num_steps = 1; // TODO: Ramp is currently disabled. Reenable it. 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 @309 uint8_t visual_confirm_enabled = dc->debug.visual_confirm == VISUAL_CONFIRM_FAMS; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 310 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 @311 if (dc == NULL) 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 312 return false; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 313 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 314 // Format command. 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 315 cmd.fw_assisted_mclk_switch.header.type = DMUB_CMD__FW_ASSISTED_MCLK_SWITCH; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 316 cmd.fw_assisted_mclk_switch.header.sub_type = DMUB_CMD__FAMS_SETUP_FW_CTRL; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 317 cmd.fw_assisted_mclk_switch.config_data.fams_enabled = should_manage_pstate; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 318 cmd.fw_assisted_mclk_switch.config_data.visual_confirm_enabled = visual_confirm_enabled; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 319 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 320 for (i = 0; context && i < context->stream_count; i++) { 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 321 struct dc_stream_state *stream = context->streams[i]; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 322 uint8_t min_refresh_in_hz = (stream->timing.min_refresh_in_uhz + 999999) / 1000000; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 323 int tg_inst = dc_dmub_srv_get_timing_generator_offset(dc, stream); 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 324 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 325 config_data->pipe_data[tg_inst].pix_clk_100hz = stream->timing.pix_clk_100hz; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 326 config_data->pipe_data[tg_inst].min_refresh_in_hz = min_refresh_in_hz; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 327 config_data->pipe_data[tg_inst].max_ramp_step = ramp_up_num_steps; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 328 config_data->pipe_data[tg_inst].pipes = dc_dmub_srv_get_pipes_for_stream(dc, stream); 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 329 } 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 330 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 331 cmd.fw_assisted_mclk_switch.header.payload_bytes = 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 332 sizeof(cmd.fw_assisted_mclk_switch) - sizeof(cmd.fw_assisted_mclk_switch.header); 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 333 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 334 // Send the command to the DMCUB. 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 335 dc_dmub_srv_cmd_queue(dc->ctx->dmub_srv, &cmd); 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 336 dc_dmub_srv_cmd_execute(dc->ctx->dmub_srv); 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 337 dc_dmub_srv_wait_idle(dc->ctx->dmub_srv); 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 338 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 339 return true; 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 340 } 00fa7f031dd4b88 Rodrigo Siqueira 2022-06-16 341 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
