Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32a5a1fa authored by Jayaprakash's avatar Jayaprakash
Browse files

disp: msm: sde: add changes to wait for only one WB_DONE irq



With WB encoder added in the drm encoder_list before primary
encoder introduced as part of commit d28ebf05 ("disp:
msm: sde: populate WB display encoder list before dsi"),
sde_kms_wait_for_commit_done during CWB usecase is causing
crtc_commit thread to wait for two WB frame done irqs causing
janks on primary. Add changes to unblock crtc_commit thread and wait
for only one WB frame done irq.

Change-Id: Ie298302fea9df8ba5a1c2fa04f5f585ae455e0c9
Signed-off-by: default avatarJayaprakash <jmadiset@codeaurora.org>
parent f4e8bb8e
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
 */

#define pr_fmt(fmt)	"[drm:%s:%d] " fmt, __func__, __LINE__
@@ -1328,6 +1328,9 @@ static int _sde_encoder_phys_wb_wait_for_commit_done(
		_sde_encoder_phys_wb_frame_done_helper(wb_enc, false);
	}

	if (atomic_read(&phys_enc->pending_retire_fence_cnt) > 1)
		wait_info.count_check = 1;

	wait_info.wq = &phys_enc->pending_kickoff_wq;
	wait_info.atomic_cnt = &phys_enc->pending_retire_fence_cnt;
	wait_info.timeout_ms = max_t(u32, wb_enc->wbdone_timeout,