drm/amd/display: Don't optimize bandwidth before disabling planes
authorAric Cyr <aric.cyr@amd.com>
Fri, 12 Feb 2021 23:13:59 +0000 (18:13 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 May 2021 12:47:23 +0000 (14:47 +0200)
[ Upstream commit 6ad98e8aeb0106f453bb154933e8355849244990 ]

[Why]
There is a window of time where we optimize bandwidth due to no streams
enabled will enable PSTATE changing but HUBPs are not disabled yet.
This results in underflow counter increasing in some hotplug scenarios.

[How]
Set the optimize-bandwidth flag for later processing once all the HUBPs
are properly disabled.

Signed-off-by: Aric Cyr <aric.cyr@amd.com>
Acked-by: Bindu Ramamurthy <bindu.r@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/core/dc.c

index ffb21196bf5992a122cae78b6689aec3443ba248..921c4ca6e902ad1793491e16652db4dacb408aa2 100644 (file)
@@ -2345,7 +2345,8 @@ static void commit_planes_do_stream_update(struct dc *dc,
                                        if (pipe_ctx->stream_res.audio && !dc->debug.az_endpoint_mute_only)
                                                pipe_ctx->stream_res.audio->funcs->az_disable(pipe_ctx->stream_res.audio);
 
-                                       dc->hwss.optimize_bandwidth(dc, dc->current_state);
+                                       dc->optimized_required = true;
+
                                } else {
                                        if (dc->optimize_seamless_boot_streams == 0)
                                                dc->hwss.prepare_bandwidth(dc, dc->current_state);