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

Commit c5bb0bd8 authored by Nirmal Abraham's avatar Nirmal Abraham
Browse files

fbdev: msm: Signal fences in legacy display commit path



For targets where the display ATOMIC_COMMIT ioctl is not used,
the commit_cnt was not getting incremented during display
commits. Due to this, release/retire fences were not signalled
resulting in UI freeze. Fix this by incrementing commit_cnt in
pan_display_ex path and use 'timeline_retire' for retire fences.

Change-Id: Ief016d949a4aa9f6b7d4fa11d1031e693a463621
Signed-off-by: default avatarNirmal Abraham <nabrah@codeaurora.org>
parent 0ca7a05c
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
 * Core MDSS framebuffer driver.
 *
 * Copyright (C) 2007 Google Incorporated
 * Copyright (c) 2008-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2008-2020, The Linux Foundation. All rights reserved.
 *
 * This software is licensed under the terms of the GNU General Public
 * License version 2, as published by the Free Software Foundation, and
@@ -3326,6 +3326,7 @@ static int mdss_fb_pan_display_ex(struct fb_info *info,
	mfd->msm_fb_backup.info = *info;
	mfd->msm_fb_backup.disp_commit = *disp_commit;

	atomic_inc(&mfd->mdp_sync_pt_data.commit_cnt);
	atomic_inc(&mfd->commits_pending);
	atomic_inc(&mfd->kickoff_pending);
	wake_up_all(&mfd->commit_wait_q);
@@ -4429,7 +4430,7 @@ static int mdss_fb_handle_buf_sync_ioctl(struct msm_sync_pt_data *sync_pt_data,
	if (IS_ERR_OR_NULL(retire_fence)) {
		val += sync_pt_data->retire_threshold;
		retire_fence = mdss_fb_sync_get_fence(
			sync_pt_data->timeline, "mdp-retire", val);
			sync_pt_data->timeline_retire, "mdp-retire", val);
	}

	if (IS_ERR_OR_NULL(retire_fence)) {