Patch "drm/amd/display: do not wait for mpc idle if tg is disabled" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amd/display: do not wait for mpc idle if tg is disabled

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amd-display-do-not-wait-for-mpc-idle-if-tg-is-di.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit f18de9e64ac55a84210ee6563e2bf27f9fe31412
Author: Josip Pavic <Josip.Pavic@xxxxxxx>
Date:   Thu Mar 24 12:08:43 2022 -0400

    drm/amd/display: do not wait for mpc idle if tg is disabled
    
    [ Upstream commit 2513ed4f937999c0446fd824f7564f76b697d722 ]
    
    [Why]
    When booting, the driver waits for the MPC idle bit to be set as part of
    pipe initialization. However, on some systems this occurs before OTG is
    enabled, and since the MPC idle bit won't be set until the vupdate
    signal occurs (which requires OTG to be enabled), this never happens and
    the wait times out. This can add hundreds of milliseconds to the boot
    time.
    
    [How]
    Do not wait for mpc idle if tg is disabled
    
    Reviewed-by: Jun Lei <Jun.Lei@xxxxxxx>
    Acked-by: Pavle Kotarac <Pavle.Kotarac@xxxxxxx>
    Signed-off-by: Josip Pavic <Josip.Pavic@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Stable-dep-of: 5a25cefc0920 ("drm/amd/display: check TG is non-null before checking if enabled")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
index fa3acf60e7bd2..16b87af6f6628 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
@@ -2902,7 +2902,8 @@ static void dcn10_wait_for_mpcc_disconnect(
 		if (pipe_ctx->stream_res.opp->mpcc_disconnect_pending[mpcc_inst]) {
 			struct hubp *hubp = get_hubp_by_inst(res_pool, mpcc_inst);
 
-			res_pool->mpc->funcs->wait_for_idle(res_pool->mpc, mpcc_inst);
+			if (pipe_ctx->stream_res.tg->funcs->is_tg_enabled(pipe_ctx->stream_res.tg))
+				res_pool->mpc->funcs->wait_for_idle(res_pool->mpc, mpcc_inst);
 			pipe_ctx->stream_res.opp->mpcc_disconnect_pending[mpcc_inst] = false;
 			hubp->funcs->set_blank(hubp, true);
 		}



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux