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

Commit f353c2f5 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "disp: msm: sde: avoid secure display to secure camera transition"

parents 515f8a2b f2222517
Loading
Loading
Loading
Loading
+22 −5
Original line number Diff line number Diff line
@@ -4303,6 +4303,20 @@ static int _sde_crtc_check_secure_state_smmu_translation(struct drm_crtc *crtc,
						MSM_DISPLAY_VIDEO_MODE);
	}

	/*
	 * Secure display to secure camera needs without direct
	 * transition is currently not allowed
	 */
	if (fb_sec_dir && secure == SDE_DRM_SEC_NON_SEC &&
		smmu_state->state != ATTACHED &&
		smmu_state->secure_level == SDE_DRM_SEC_ONLY) {

		SDE_EVT32(DRMID(crtc), fb_ns, fb_sec_dir,
			smmu_state->state, smmu_state->secure_level,
			secure);
		goto sec_err;
	}

	/*
	 * In video mode check for null commit before transition
	 * from secure to non secure and vice versa
@@ -4320,6 +4334,12 @@ static int _sde_crtc_check_secure_state_smmu_translation(struct drm_crtc *crtc,
		SDE_EVT32(DRMID(crtc), fb_ns, fb_sec_dir,
			smmu_state->state, smmu_state->secure_level,
			secure, crtc->state->plane_mask, state->plane_mask);
		goto sec_err;
	}

	return 0;

sec_err:
	SDE_ERROR(
	 "crtc%d Invalid transition;sec%d state%d slvl%d ns%d sdir%d\n",
		DRMID(crtc), secure, smmu_state->state,
@@ -4327,9 +4347,6 @@ static int _sde_crtc_check_secure_state_smmu_translation(struct drm_crtc *crtc,
	return -EINVAL;
}

	return 0;
}

static int _sde_crtc_check_secure_conn(struct drm_crtc *crtc,
		struct drm_crtc_state *state, uint32_t fb_sec)
{