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

Commit ee9b8ca5 authored by Jayaprakash Madisetty's avatar Jayaprakash Madisetty
Browse files

disp: msm: sde: skip RM reserve for primary in cwb on/off usecase



Add changes to skip RM allocation during atomic_check for dsi connectors
which can have a seamless transition during CWB usecase. When CWB gets
enabled in alternate commits N, N+2 on dsi connectors there is back to
back connectors_changed modeset and poll gets enabled for the consecutive
commit N+1, N+3 on rsvp_nxt to get cleared. This rsvp_nxt will be cleared
on drm_atomic_state_put of commit N, N+2, hence atomic_check of commit N+1,
N+3 is blocked until this time causing commit failures.

Change-Id: I06f7a8d9dadb42b6d69201afeff099d554edd98e
Signed-off-by: default avatarJayaprakash Madisetty <jmadiset@codeaurora.org>
parent ad61b3f2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -917,6 +917,12 @@ static int _sde_encoder_atomic_check_reserve(struct drm_encoder *drm_enc,
			return ret;
		}

		/* Skip RM allocation for Primary during CWB usecase */
		if (!crtc_state->mode_changed && !crtc_state->active_changed &&
			crtc_state->connectors_changed && (conn_state->crtc ==
			conn_state->connector->state->crtc))
			goto skip_reserve;

		/* Reserve dynamic resources, indicating atomic_check phase */
		ret = sde_rm_reserve(&sde_kms->rm, drm_enc, crtc_state,
			conn_state, true);
@@ -927,6 +933,7 @@ static int _sde_encoder_atomic_check_reserve(struct drm_encoder *drm_enc,
			return ret;
		}

skip_reserve:
		/**
		 * Update connector state with the topology selected for the
		 * resource set validated. Reset the topology if we are