disp: msm: sde: accept and reclaim resources on user prompt

Currently, trusted VM accepts and releases the resources
on RM notifications.

In cases, where TUI fails to submit the first frame on the trusted
vm, display cannot rely on the teardown commit IOCTL to release the
resources back to primary VM.

To handle scenarios where RM notification drops, the VM's should be
able to ACCEPT/RECLAIM resources without relying on the RM.

To address above scenarios, this change moves the resource handling
calls from notification handlers to user prompt. With this change,
trusted VM will ACCEPT the resource only on the first frame commit and
primary VM can RECLAIM the resources back if the TUI use case fails
or any of the RM notifications fail to deliver.

Change-Id: Iebb1724a7558e52567f8af1a49e38f8adbec88a0
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
This commit is contained in:
Jeykumar Sankaran
2020-08-11 09:58:04 -07:00
committed by Gerrit - the friendly Code Review server
parent de8c973a73
commit 9de6eee40e
5 changed files with 364 additions and 251 deletions

View File

@@ -104,9 +104,22 @@ struct sde_vm_ops {
*/
int (*vm_client_post_acquire)(struct sde_kms *kms);
/**
* vm_request_valid - hook to validate the RM_REQ state change
* @sde_kms - handle to sde_kms
* @old_state - current vm_req state
* @new_state - new vm_req state
*/
int (*vm_request_valid)(struct sde_kms *sde_kms,
enum sde_crtc_vm_req old_state,
enum sde_crtc_vm_req new_state);
/**
* vm_acquire_fail_handler - hook to the handler when resource
* accept/reclaim fails.
* @sde_kms - handle to sde_kms
*/
int (*vm_acquire_fail_handler)(struct sde_kms *sde_kms);
};
/**