drm/amd/display: fix plane update prior to stream enablement
authorTony Cheng <tony.cheng@amd.com>
Wed, 8 Nov 2017 04:37:49 +0000 (23:37 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 6 Dec 2017 17:47:42 +0000 (12:47 -0500)
plane update prior to stream enablement is there to recombine pipe
in case we need free pipe for new display.  need to pass in new state
or we will just re-applyingwhat we already have

Signed-off-by: Tony Cheng <tony.cheng@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.c

index 34e678f30328fc79b188c638e64a60636e5c16ec..03d8cea7400ae9ba9531c6a466ac171f3e22a034 100644 (file)
@@ -887,12 +887,14 @@ static enum dc_status dc_commit_state_no_check(struct dc *dc, struct dc_state *c
        if (!dcb->funcs->is_accelerated_mode(dcb))
                dc->hwss.enable_accelerated_mode(dc);
 
-       /* Combine planes if required, in case of pipe split disable */
+       /* re-program planes for existing stream, in case we need to
+        * free up plane resource for later use
+        */
        for (i = 0; i < dc->current_state->stream_count; i++) {
                dc->hwss.apply_ctx_for_surface(
                        dc, dc->current_state->streams[i],
                        dc->current_state->stream_status[i].plane_count,
-                       dc->current_state);
+                       context); /* use new pipe config in new context */
        }
 
        /* Program hardware */