Commit 14f293e0 authored by Alex Hung's avatar Alex Hung Committed by Alex Deucher

drm/amd/display: Remove redundant null checks

The null checks are redundant as they were already dereferenced
previously, as reported by Coverity; therefore the null checks
are removed.

This fixes 7 REVERSE_INULL issues reported by Coverity.
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Acked-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9e6da7b7
...@@ -553,7 +553,7 @@ static void dcn32_auto_dpm_test_log( ...@@ -553,7 +553,7 @@ static void dcn32_auto_dpm_test_log(
// //
// AutoDPMTest: clk1:%d - clk2:%d - clk3:%d - clk4:%d\n" // AutoDPMTest: clk1:%d - clk2:%d - clk3:%d - clk4:%d\n"
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
if (new_clocks && active_pipe_count > 0 && if (active_pipe_count > 0 &&
new_clocks->dramclk_khz > 0 && new_clocks->dramclk_khz > 0 &&
new_clocks->fclk_khz > 0 && new_clocks->fclk_khz > 0 &&
new_clocks->dcfclk_khz > 0 && new_clocks->dcfclk_khz > 0 &&
......
...@@ -2640,7 +2640,7 @@ static enum surface_update_type det_surface_update(const struct dc *dc, ...@@ -2640,7 +2640,7 @@ static enum surface_update_type det_surface_update(const struct dc *dc,
if (u->plane_info) if (u->plane_info)
format = u->plane_info->format; format = u->plane_info->format;
else if (u->surface) else
format = u->surface->format; format = u->surface->format;
if (dce_use_lut(format)) if (dce_use_lut(format))
...@@ -2741,7 +2741,7 @@ static enum surface_update_type check_update_surfaces_for_stream( ...@@ -2741,7 +2741,7 @@ static enum surface_update_type check_update_surfaces_for_stream(
if (stream_update->mst_bw_update) if (stream_update->mst_bw_update)
su_flags->bits.mst_bw = 1; su_flags->bits.mst_bw = 1;
if (stream_update->stream && stream_update->stream->freesync_on_desktop && if (stream_update->stream->freesync_on_desktop &&
(stream_update->vrr_infopacket || stream_update->allow_freesync || (stream_update->vrr_infopacket || stream_update->allow_freesync ||
stream_update->vrr_active_variable || stream_update->vrr_active_fixed)) stream_update->vrr_active_variable || stream_update->vrr_active_fixed))
su_flags->bits.fams_changed = 1; su_flags->bits.fams_changed = 1;
......
...@@ -2099,7 +2099,7 @@ int resource_get_odm_slice_dst_width(struct pipe_ctx *otg_master, ...@@ -2099,7 +2099,7 @@ int resource_get_odm_slice_dst_width(struct pipe_ctx *otg_master,
timing->h_border_right; timing->h_border_right;
width = h_active / count; width = h_active / count;
if (otg_master->stream_res.tg && otg_master->stream) if (otg_master->stream_res.tg)
two_pixel_alignment_required = two_pixel_alignment_required =
otg_master->stream_res.tg->funcs->is_two_pixels_per_container(timing) || otg_master->stream_res.tg->funcs->is_two_pixels_per_container(timing) ||
/* /*
......
...@@ -102,9 +102,7 @@ void dml21_apply_soc_bb_overrides(struct dml2_initialize_instance_in_out *dml_in ...@@ -102,9 +102,7 @@ void dml21_apply_soc_bb_overrides(struct dml2_initialize_instance_in_out *dml_in
struct dml2_soc_state_table *dml_clk_table = &dml_soc_bb->clk_table; struct dml2_soc_state_table *dml_clk_table = &dml_soc_bb->clk_table;
/* override clocks if smu is present */ /* override clocks if smu is present */
if (in_dc->clk_mgr && if (in_dc->clk_mgr->funcs->is_smu_present && in_dc->clk_mgr->funcs->is_smu_present(in_dc->clk_mgr)) {
in_dc->clk_mgr->funcs->is_smu_present &&
in_dc->clk_mgr->funcs->is_smu_present(in_dc->clk_mgr)) {
/* dcfclk */ /* dcfclk */
if (dc_clk_table->num_entries_per_clk.num_dcfclk_levels) { if (dc_clk_table->num_entries_per_clk.num_dcfclk_levels) {
dml_clk_table->dcfclk.num_clk_values = dc_clk_table->num_entries_per_clk.num_dcfclk_levels; dml_clk_table->dcfclk.num_clk_values = dc_clk_table->num_entries_per_clk.num_dcfclk_levels;
......
...@@ -742,12 +742,10 @@ void dce110_edp_wait_for_hpd_ready( ...@@ -742,12 +742,10 @@ void dce110_edp_wait_for_hpd_ready(
return; return;
} }
if (link != NULL) { if (link->panel_config.pps.extra_t3_ms > 0) {
if (link->panel_config.pps.extra_t3_ms > 0) { int extra_t3_in_ms = link->panel_config.pps.extra_t3_ms;
int extra_t3_in_ms = link->panel_config.pps.extra_t3_ms;
msleep(extra_t3_in_ms); msleep(extra_t3_in_ms);
}
} }
dal_gpio_open(hpd, GPIO_MODE_INTERRUPT); dal_gpio_open(hpd, GPIO_MODE_INTERRUPT);
......
...@@ -271,58 +271,55 @@ bool dcn32_apply_idle_power_optimizations(struct dc *dc, bool enable) ...@@ -271,58 +271,55 @@ bool dcn32_apply_idle_power_optimizations(struct dc *dc, bool enable)
} }
if (enable) { if (enable) {
if (dc->current_state) { /* 1. Check no memory request case for CAB.
* If no memory request case, send CAB_ACTION NO_DF_REQ DMUB message
*/
if (dcn32_check_no_memory_request_for_cab(dc)) {
/* Enable no-memory-requests case */
memset(&cmd, 0, sizeof(cmd));
cmd.cab.header.type = DMUB_CMD__CAB_FOR_SS;
cmd.cab.header.sub_type = DMUB_CMD__CAB_NO_DCN_REQ;
cmd.cab.header.payload_bytes = sizeof(cmd.cab) - sizeof(cmd.cab.header);
/* 1. Check no memory request case for CAB. dc_wake_and_execute_dmub_cmd(dc->ctx, &cmd, DM_DMUB_WAIT_TYPE_NO_WAIT);
* If no memory request case, send CAB_ACTION NO_DF_REQ DMUB message
*/
if (dcn32_check_no_memory_request_for_cab(dc)) {
/* Enable no-memory-requests case */
memset(&cmd, 0, sizeof(cmd));
cmd.cab.header.type = DMUB_CMD__CAB_FOR_SS;
cmd.cab.header.sub_type = DMUB_CMD__CAB_NO_DCN_REQ;
cmd.cab.header.payload_bytes = sizeof(cmd.cab) - sizeof(cmd.cab.header);
dc_wake_and_execute_dmub_cmd(dc->ctx, &cmd, DM_DMUB_WAIT_TYPE_NO_WAIT); return true;
}
return true; /* 2. Check if all surfaces can fit in CAB.
} * If surfaces can fit into CAB, send CAB_ACTION_ALLOW DMUB message
* and configure HUBP's to fetch from MALL
*/
ways = dcn32_calculate_cab_allocation(dc, dc->current_state);
/* 2. Check if all surfaces can fit in CAB. /* MALL not supported with Stereo3D or TMZ surface. If any plane is using stereo,
* If surfaces can fit into CAB, send CAB_ACTION_ALLOW DMUB message * or TMZ surface, don't try to enter MALL.
* and configure HUBP's to fetch from MALL */
*/ for (i = 0; i < dc->current_state->stream_count; i++) {
ways = dcn32_calculate_cab_allocation(dc, dc->current_state); for (j = 0; j < dc->current_state->stream_status[i].plane_count; j++) {
plane = dc->current_state->stream_status[i].plane_states[j];
/* MALL not supported with Stereo3D or TMZ surface. If any plane is using stereo, if (plane->address.type == PLN_ADDR_TYPE_GRPH_STEREO ||
* or TMZ surface, don't try to enter MALL. plane->address.tmz_surface) {
*/ mall_ss_unsupported = true;
for (i = 0; i < dc->current_state->stream_count; i++) {
for (j = 0; j < dc->current_state->stream_status[i].plane_count; j++) {
plane = dc->current_state->stream_status[i].plane_states[j];
if (plane->address.type == PLN_ADDR_TYPE_GRPH_STEREO ||
plane->address.tmz_surface) {
mall_ss_unsupported = true;
break;
}
}
if (mall_ss_unsupported)
break; break;
}
} }
if (ways <= dc->caps.cache_num_ways && !mall_ss_unsupported) { if (mall_ss_unsupported)
memset(&cmd, 0, sizeof(cmd)); break;
cmd.cab.header.type = DMUB_CMD__CAB_FOR_SS; }
cmd.cab.header.sub_type = DMUB_CMD__CAB_DCN_SS_FIT_IN_CAB; if (ways <= dc->caps.cache_num_ways && !mall_ss_unsupported) {
cmd.cab.header.payload_bytes = sizeof(cmd.cab) - sizeof(cmd.cab.header); memset(&cmd, 0, sizeof(cmd));
cmd.cab.cab_alloc_ways = (uint8_t)ways; cmd.cab.header.type = DMUB_CMD__CAB_FOR_SS;
cmd.cab.header.sub_type = DMUB_CMD__CAB_DCN_SS_FIT_IN_CAB;
dc_wake_and_execute_dmub_cmd(dc->ctx, &cmd, DM_DMUB_WAIT_TYPE_NO_WAIT); cmd.cab.header.payload_bytes = sizeof(cmd.cab) - sizeof(cmd.cab.header);
cmd.cab.cab_alloc_ways = (uint8_t)ways;
return true; dc_wake_and_execute_dmub_cmd(dc->ctx, &cmd, DM_DMUB_WAIT_TYPE_NO_WAIT);
}
return true;
} }
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment