disp: msm: sde: expose api to control encoder irq
Expose an API in encoder to control display irq's when the VM enters and exits TUI use case. Change-Id: Ic2386dcebfd8a9dd2ce06f068c6daf066a3e885f Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
c3389d315c
commit
53db678726
@@ -1341,7 +1341,7 @@ static int _sde_encoder_update_rsc_client(
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void _sde_encoder_irq_control(struct drm_encoder *drm_enc, bool enable)
|
||||
void sde_encoder_irq_control(struct drm_encoder *drm_enc, bool enable)
|
||||
{
|
||||
struct sde_encoder_virt *sde_enc;
|
||||
int i;
|
||||
@@ -1451,7 +1451,7 @@ static int _sde_encoder_resource_control_helper(struct drm_encoder *drm_enc,
|
||||
}
|
||||
|
||||
/* enable all the irq */
|
||||
_sde_encoder_irq_control(drm_enc, true);
|
||||
sde_encoder_irq_control(drm_enc, true);
|
||||
|
||||
_sde_encoder_pm_qos_add_request(drm_enc);
|
||||
|
||||
@@ -1459,7 +1459,7 @@ static int _sde_encoder_resource_control_helper(struct drm_encoder *drm_enc,
|
||||
_sde_encoder_pm_qos_remove_request(drm_enc);
|
||||
|
||||
/* disable all the irq */
|
||||
_sde_encoder_irq_control(drm_enc, false);
|
||||
sde_encoder_irq_control(drm_enc, false);
|
||||
|
||||
/* disable DSI clks */
|
||||
sde_connector_clk_ctrl(sde_enc->cur_master->connector, false);
|
||||
@@ -1626,7 +1626,7 @@ static int _sde_encoder_rc_kickoff(struct drm_encoder *drm_enc,
|
||||
}
|
||||
|
||||
if (is_vid_mode && sde_enc->rc_state == SDE_ENC_RC_STATE_IDLE) {
|
||||
_sde_encoder_irq_control(drm_enc, true);
|
||||
sde_encoder_irq_control(drm_enc, true);
|
||||
} else {
|
||||
/* enable all the clks and resources */
|
||||
ret = _sde_encoder_resource_control_helper(drm_enc,
|
||||
@@ -1663,7 +1663,7 @@ static int _sde_encoder_rc_pre_stop(struct drm_encoder *drm_enc,
|
||||
|
||||
if (is_vid_mode &&
|
||||
sde_enc->rc_state == SDE_ENC_RC_STATE_IDLE) {
|
||||
_sde_encoder_irq_control(drm_enc, true);
|
||||
sde_encoder_irq_control(drm_enc, true);
|
||||
}
|
||||
/* skip if is already OFF or IDLE, resources are off already */
|
||||
else if (sde_enc->rc_state == SDE_ENC_RC_STATE_OFF ||
|
||||
@@ -1780,7 +1780,7 @@ static int _sde_encoder_rc_pre_modeset(struct drm_encoder *drm_enc,
|
||||
goto end;
|
||||
}
|
||||
|
||||
_sde_encoder_irq_control(drm_enc, false);
|
||||
sde_encoder_irq_control(drm_enc, false);
|
||||
_sde_encoder_modeset_helper_locked(drm_enc, sw_event);
|
||||
|
||||
SDE_EVT32(DRMID(drm_enc), sw_event, sde_enc->rc_state,
|
||||
@@ -1818,7 +1818,7 @@ static int _sde_encoder_rc_post_modeset(struct drm_encoder *drm_enc,
|
||||
}
|
||||
|
||||
_sde_encoder_modeset_helper_locked(drm_enc, sw_event);
|
||||
_sde_encoder_irq_control(drm_enc, true);
|
||||
sde_encoder_irq_control(drm_enc, true);
|
||||
|
||||
_sde_encoder_update_rsc_client(drm_enc, true);
|
||||
|
||||
@@ -1862,7 +1862,7 @@ static int _sde_encoder_rc_idle(struct drm_encoder *drm_enc,
|
||||
}
|
||||
|
||||
if (is_vid_mode) {
|
||||
_sde_encoder_irq_control(drm_enc, false);
|
||||
sde_encoder_irq_control(drm_enc, false);
|
||||
} else {
|
||||
/* disable all the clks and resources */
|
||||
_sde_encoder_update_rsc_client(drm_enc, false);
|
||||
|
Reference in New Issue
Block a user