OSDN Git Service

drm/amd/display: Fix null-derefs on non-dcn builds
authorRoman Li <Roman.Li@amd.com>
Fri, 29 Dec 2017 22:45:03 +0000 (17:45 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Feb 2018 19:17:33 +0000 (14:17 -0500)
Fixing regression introduced by
'Use real BE and FE index to program regs.'

Signed-off-by: Roman Li <Roman.Li@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c

index ba88284..a215c5b 100644 (file)
@@ -1407,7 +1407,8 @@ static int acquire_first_free_pipe(
                        pipe_ctx->plane_res.xfm = pool->transforms[i];
                        pipe_ctx->plane_res.dpp = pool->dpps[i];
                        pipe_ctx->stream_res.opp = pool->opps[i];
-                       pipe_ctx->plane_res.mpcc_inst = pool->dpps[i]->inst;
+                       if (pool->dpps[i])
+                               pipe_ctx->plane_res.mpcc_inst = pool->dpps[i]->inst;
                        pipe_ctx->pipe_idx = i;
 
 
index 58823ba..d036d1d 100644 (file)
@@ -2819,7 +2819,8 @@ static void dce110_apply_ctx_for_surface(
 
 static void dce110_power_down_fe(struct dc *dc, struct pipe_ctx *pipe_ctx)
 {
-       int fe_idx = pipe_ctx->plane_res.mi->inst;
+       int fe_idx = pipe_ctx->plane_res.mi ?
+               pipe_ctx->plane_res.mi->inst : pipe_ctx->pipe_idx;
 
        /* Do not power down fe when stream is active on dce*/
        if (dc->current_state->res_ctx.pipe_ctx[fe_idx].stream)