mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
drm/amd/display: Check pipe->stream before passing it to a function
[WHAT & HOW] dp_is_128b_132b_signal dereferences pipe->stream so it is necessary to check it in advance. Also fix erroneous spaces and move a variable declaration to top. Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
84ff589539
commit
082ec59662
|
|
@ -204,6 +204,8 @@ static void dcn35_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *
|
|||
struct link_encoder *new_pipe_link_enc = new_pipe->link_res.dio_link_enc;
|
||||
struct link_encoder *pipe_link_enc = pipe->link_res.dio_link_enc;
|
||||
bool stream_changed_otg_dig_on = false;
|
||||
bool has_active_hpo = false;
|
||||
|
||||
if (pipe->top_pipe || pipe->prev_odm_pipe)
|
||||
continue;
|
||||
|
||||
|
|
@ -225,20 +227,15 @@ static void dcn35_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *
|
|||
new_pipe->stream_res.stream_enc->funcs->is_fifo_enabled &&
|
||||
new_pipe->stream_res.stream_enc->funcs->is_fifo_enabled(new_pipe->stream_res.stream_enc);
|
||||
|
||||
bool has_active_hpo = false;
|
||||
|
||||
if (old_pipe->stream && new_pipe->stream && old_pipe->stream == new_pipe->stream) {
|
||||
has_active_hpo = dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(old_pipe) &&
|
||||
dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(new_pipe);
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (!has_active_hpo && !dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(pipe) &&
|
||||
(pipe->stream && (pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal) ||
|
||||
!pipe_link_enc) && !stream_changed_otg_dig_on)) {
|
||||
|
||||
}
|
||||
|
||||
if (!has_active_hpo && !stream_changed_otg_dig_on && pipe->stream &&
|
||||
(pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal) || !pipe_link_enc) &&
|
||||
!dccg->ctx->dc->link_srv->dp_is_128b_132b_signal(pipe)) {
|
||||
/* This w/a should not trigger when we have a dig active */
|
||||
if (disable) {
|
||||
if (pipe->stream_res.tg && pipe->stream_res.tg->funcs->immediate_disable_crtc)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user