disp: msm: sde: send event on trusted vm transition
This change sends a notification to user mode after msm_drm driver releases the mmio and irq resources on trusted vm transition request. This is required as user mode has no other way to know when the resources where actually released. User mode driver earlier relied on retire fence signaling but retire fences are send before releasing the hw. Change-Id: Ia218cfcbf398b2de1ad9578fb9baedf348b067df Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This commit is contained in:
@@ -70,6 +70,9 @@ static int sde_crtc_pm_event_handler(struct drm_crtc *crtc, bool en,
|
||||
static int _sde_crtc_set_noise_layer(struct sde_crtc *sde_crtc,
|
||||
struct sde_crtc_state *cstate,
|
||||
void __user *usr_ptr);
|
||||
static int sde_crtc_vm_release_handler(struct drm_crtc *crtc_drm,
|
||||
bool en, struct sde_irq_callback *irq);
|
||||
|
||||
|
||||
static struct sde_crtc_custom_events custom_events[] = {
|
||||
{DRM_EVENT_AD_BACKLIGHT, sde_cp_ad_interrupt},
|
||||
@@ -81,6 +84,7 @@ static struct sde_crtc_custom_events custom_events[] = {
|
||||
{DRM_EVENT_LTM_WB_PB, sde_cp_ltm_wb_pb_interrupt},
|
||||
{DRM_EVENT_LTM_OFF, sde_cp_ltm_off_event_handler},
|
||||
{DRM_EVENT_MMRM_CB, sde_crtc_mmrm_interrupt_handler},
|
||||
{DRM_EVENT_VM_RELEASE, sde_crtc_vm_release_handler},
|
||||
};
|
||||
|
||||
/* default input fence timeout, in ms */
|
||||
@@ -7506,6 +7510,11 @@ static int sde_crtc_mmrm_interrupt_handler(struct drm_crtc *crtc_drm,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sde_crtc_vm_release_handler(struct drm_crtc *crtc_drm,
|
||||
bool en, struct sde_irq_callback *irq)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
/**
|
||||
* sde_crtc_update_cont_splash_settings - update mixer settings
|
||||
* and initial clk during device bootup for cont_splash use case
|
||||
@@ -7662,3 +7671,8 @@ void sde_crtc_disable_cp_features(struct drm_crtc *crtc)
|
||||
{
|
||||
sde_cp_disable_features(crtc);
|
||||
}
|
||||
|
||||
void _sde_crtc_vm_release_notify(struct drm_crtc *crtc)
|
||||
{
|
||||
sde_crtc_event_notify(crtc, DRM_EVENT_VM_RELEASE, sizeof(uint32_t), 1);
|
||||
}
|
||||
|
مرجع در شماره جدید
Block a user