disp: msm: sde: add trusted UI support for SDE

Extends atomic check to validate TUI transition request aginst
SDE and non-SDE client states. Triggers HW assignment after
making sure current frame is  completely flushed out of HW
pipeline. Initiate the acquire after TUI end after restoring
the software states.

Change-Id: I6ceccd44c18526ff818723b5631b66af3ff083c1
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Šī revīzija ir iekļauta:
Jeykumar Sankaran
2020-06-01 21:19:02 -07:00
vecāks c249858e2b
revīzija ce532fb486
7 mainīti faili ar 502 papildinājumiem un 49 dzēšanām

Parādīt failu

@@ -40,7 +40,6 @@
#include "sde_power_handle.h"
#include "sde_irq.h"
#include "sde_core_perf.h"
#include "sde_vm.h"
#define DRMID(x) ((x) ? (x)->base.id : -1)
@@ -312,7 +311,6 @@ struct sde_kms {
struct dev_pm_qos_request pm_qos_irq_req[NR_CPUS];
struct irq_affinity_notify affinity_notify;
struct sde_vm_ops vm_ops;
struct sde_vm *vm;
};
@@ -703,4 +701,42 @@ void sde_kms_irq_enable_notify(struct sde_kms *sde_kms, bool enable);
*/
int sde_kms_get_io_resources(struct sde_kms *kms, struct msm_io_res *io_res);
/**
* sde_kms_vm_trusted_post_commit - function to prepare the VM after the
* last commit before releasing the HW
* resources from trusted VM
* @sde_kms: pointer to sde_kms
* @state: current frames atomic commit state
*/
int sde_kms_vm_trusted_post_commit(struct sde_kms *sde_kms,
struct drm_atomic_state *state);
/**
* sde_kms_vm_primary_post_commit - function to prepare the VM after the
* last commit before assign the HW
* resources from primary VM
* @sde_kms: pointer to sde_kms
* @state: current frames atomic commit state
*/
int sde_kms_vm_primary_post_commit(struct sde_kms *sde_kms,
struct drm_atomic_state *state);
/**
* sde_kms_vm_trusted_prepare_commit - function to prepare the VM before the
* the first commit after the accepting
* the HW resources in trusted VM.
* @sde_kms: pointer to sde_kms
* @state: current frame's atomic commit state
*/
int sde_kms_vm_trusted_prepare_commit(struct sde_kms *sde_kms,
struct drm_atomic_state *state);
/**
* sde_kms_vm_primary_prepare_commit - function to prepare the VM before the
* the first commit after the reclaming
* the HW resources in trusted VM.
* @sde_kms: pointer to sde_kms
* @state: current frame's atomic commit state
*/
int sde_kms_vm_primary_prepare_commit(struct sde_kms *sde_kms,
struct drm_atomic_state *state);
#endif /* __sde_kms_H__ */