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

Commit 6777b231 authored by Divya Sharma's avatar Divya Sharma
Browse files

Revert "drm/msm/sde: update secure_level after sec to non-sec transition"



This reverts commit e3e04f26.

Change-Id: I6e336b2f2afb64431c7c3889347078df4393190f
Signed-off-by: default avatarDivya Sharma <divyash@codeaurora.org>
parent 4cb9d841
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1989,17 +1989,20 @@ int sde_crtc_get_secure_transition_ops(struct drm_crtc *crtc,
				  || (smmu_state->state == DETACH_SEC_REQ)))) {
			smmu_state->state = catalog->sui_ns_allowed ?
						ATTACH_SEC_REQ : ATTACH_ALL_REQ;
			smmu_state->secure_level = secure_level;
			smmu_state->transition_type = post_commit ?
						POST_COMMIT : PRE_COMMIT;
			ops |= SDE_KMS_OPS_SECURE_STATE_CHANGE;
			if (old_valid_fb)
				ops |= SDE_KMS_OPS_WAIT_FOR_TX_DONE;
				ops |= (SDE_KMS_OPS_WAIT_FOR_TX_DONE |
						SDE_KMS_OPS_CLEANUP_PLANE_FB);
			if (catalog->sui_misr_supported)
				smmu_state->sui_misr_state =
						SUI_MISR_DISABLE_REQ;
		} else if ((smmu_state->state == DETACHED_SEC)
				|| (smmu_state->state == DETACH_SEC_REQ)) {
			smmu_state->state = ATTACH_SEC_REQ;
			smmu_state->secure_level = secure_level;
			smmu_state->transition_type = post_commit ?
						POST_COMMIT : PRE_COMMIT;
			ops |= SDE_KMS_OPS_SECURE_STATE_CHANGE;
@@ -2016,9 +2019,9 @@ int sde_crtc_get_secure_transition_ops(struct drm_crtc *crtc,

	/* log only during actual transition times */
	if (ops) {
		SDE_DEBUG("crtc%d: state%d sec%d sec_lvl%d type%d ops%x\n",
		SDE_DEBUG("crtc%d: state %d, secure_level %d, type %d ops %x\n",
			DRMID(crtc), smmu_state->state,
			secure_level, smmu_state->secure_level,
			smmu_state->secure_level,
			smmu_state->transition_type, ops);
		SDE_EVT32(DRMID(crtc), secure_level, translation_mode,
				smmu_state->state, smmu_state->transition_type,
+4 −9
Original line number Diff line number Diff line
@@ -658,10 +658,8 @@ static int _sde_kms_secure_ctrl(struct sde_kms *sde_kms, struct drm_crtc *crtc,

	case ATTACH_ALL_REQ:
		ret = _sde_kms_attach_all_cb(sde_kms, VMID_CP_PIXEL);
		if (!ret) {
		if (!ret)
			smmu_state->state = ATTACHED;
			smmu_state->secure_level = SDE_DRM_SEC_NON_SEC;
		}
		break;

	case DETACH_SEC_REQ:
@@ -675,10 +673,8 @@ static int _sde_kms_secure_ctrl(struct sde_kms *sde_kms, struct drm_crtc *crtc,

	case ATTACH_SEC_REQ:
		ret = _sde_kms_attach_sec_cb(sde_kms, VMID_CP_PIXEL);
		if (!ret) {
		if (!ret)
			smmu_state->state = ATTACHED;
			smmu_state->secure_level = SDE_DRM_SEC_NON_SEC;
		}
		break;

	default:
@@ -702,9 +698,8 @@ static int _sde_kms_secure_ctrl(struct sde_kms *sde_kms, struct drm_crtc *crtc,
	smmu_state->transition_type = NONE;
	smmu_state->transition_error = ret ? true : false;

	SDE_DEBUG("crtc %d: old_state %d, new_state %d, sec_lvl %d, ret %d\n",
			DRMID(crtc), old_smmu_state, smmu_state->state,
			smmu_state->secure_level, ret);
	SDE_DEBUG("crtc %d: old_state %d, new_state %d, ret %d\n",
			DRMID(crtc), old_smmu_state, smmu_state->state, ret);
	SDE_EVT32(DRMID(crtc), smmu_state->state, smmu_state->transition_type,
			smmu_state->transition_error, smmu_state->secure_level,
			smmu_state->sui_misr_state, ret, SDE_EVTLOG_FUNC_EXIT);
+3 −6
Original line number Diff line number Diff line
@@ -351,14 +351,11 @@ static inline bool sde_kms_is_secure_session_inprogress(struct sde_kms *sde_kms)
		return false;

	mutex_lock(&sde_kms->secure_transition_lock);
	if (((sde_kms->catalog->sui_ns_allowed) &&
		(sde_kms->smmu_state.secure_level == SDE_DRM_SEC_ONLY) &&
	if (((sde_kms->smmu_state.secure_level == SDE_DRM_SEC_ONLY) &&
			((sde_kms->smmu_state.state == DETACHED_SEC) ||
				(sde_kms->smmu_state.state == DETACH_SEC_REQ) ||
				(sde_kms->smmu_state.state == ATTACH_SEC_REQ)))
				(sde_kms->smmu_state.state == DETACH_SEC_REQ)))
		|| (((sde_kms->smmu_state.state == DETACHED) ||
			(sde_kms->smmu_state.state == DETACH_ALL_REQ) ||
			(sde_kms->smmu_state.state == ATTACH_ALL_REQ))))
			(sde_kms->smmu_state.state == DETACH_ALL_REQ))))
		ret = true;
	mutex_unlock(&sde_kms->secure_transition_lock);