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

Commit 8b032e5e authored by Jeykumar Sankaran's avatar Jeykumar Sankaran
Browse files

disp: sde: add CRTC property for VM requests



Add a CRTC property to request the VM to acquire/release
HW resources.

Display driver in trusted VM boots up without HW ownership. Set
the default value of the property as RELEASED to handle resource
assignments.

Change-Id: Iea651a2fea902d95d4b954052af4ef016af15a91
Signed-off-by: default avatarJeykumar Sankaran <jsanka@codeaurora.org>
parent 98a6a113
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@ enum msm_mdp_crtc_property {

	CRTC_PROP_IDLE_PC_STATE,
	CRTC_PROP_CACHE_STATE,
	CRTC_PROP_VM_REQ_STATE,

	/* total # of properties */
	CRTC_PROP_COUNT
+15 −0
Original line number Diff line number Diff line
@@ -5236,6 +5236,12 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
		{CACHE_STATE_ENABLED, "cache_state_enabled"},
	};

	static const struct drm_prop_enum_list e_vm_req_state[] = {
		{VM_REQ_NONE, "vm_req_none"},
		{VM_REQ_RELEASE, "vm_req_release"},
		{VM_REQ_ACQUIRE, "vm_req_acquire"},
	};

	SDE_DEBUG("\n");

	if (!crtc || !catalog) {
@@ -5274,6 +5280,15 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
		"idle_time", 0, 0, U64_MAX, 0,
		CRTC_PROP_IDLE_TIMEOUT);

	if (catalog->has_trusted_vm_support) {
		int init_idx = sde_in_trusted_vm(sde_kms) ? 1 : 0;

		msm_property_install_enum(&sde_crtc->property_info,
			"vm_request_state", 0x0, 0, e_vm_req_state,
			ARRAY_SIZE(e_vm_req_state), init_idx,
			CRTC_PROP_VM_REQ_STATE);
	}

	if (catalog->has_idle_pc)
		msm_property_install_enum(&sde_crtc->property_info,
			"idle_pc_state", 0x0, 0, e_idle_pc_state,
+12 −0
Original line number Diff line number Diff line
@@ -88,6 +88,18 @@ enum sde_crtc_cache_state {
	CACHE_STATE_FRAME_READ
};

/**
 * enum sde_crtc_vm_req: request for VM operations
 * @VM_REQ_NONE: no request. Normal VM operations.
 * @VM_REQ_RELEASE: request to release the HW resources from the current VM
 * @VM_REQ_ACQUIRE: request to acquire the HW resources in the current VM
 */
enum sde_crtc_vm_req {
	VM_REQ_NONE,
	VM_REQ_RELEASE,
	VM_REQ_ACQUIRE,
};

/**
 * @connectors    : Currently associated drm connectors for retire event
 * @num_connectors: Number of associated drm connectors for retire event