disp: msm: add support for display early wakeup
Display clocks and IRQs are disabled during idle state on command mode for power saving, and will be enabled when a new frame commits to display driver. But enable display clocks and IRQs will cause some latency. So add a new SDE custom IOCTL for user-space to early wake up display before first frame commits to kernel. Change-Id: I6ca0188d321c4964f29c46e588b64d06b9634c59 Signed-off-by: Lei Chen <chenlei@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

vanhempi
2bcfcab1cb
commit
eb679f5289
@@ -167,6 +167,7 @@ struct sde_encoder_ops {
|
||||
* @rc_state: resource controller state
|
||||
* @delayed_off_work: delayed worker to schedule disabling of
|
||||
* clks and resources after IDLE_TIMEOUT time.
|
||||
* @early_wakeup_work: worker to handle early wakeup event
|
||||
* @input_event_work: worker to handle input device touch events
|
||||
* @esd_trigger_work: worker to handle esd trigger events
|
||||
* @input_handler: handler for input device events
|
||||
@@ -232,6 +233,7 @@ struct sde_encoder_virt {
|
||||
struct mutex rc_lock;
|
||||
enum sde_enc_rc_states rc_state;
|
||||
struct kthread_delayed_work delayed_off_work;
|
||||
struct kthread_work early_wakeup_work;
|
||||
struct kthread_work input_event_work;
|
||||
struct kthread_work esd_trigger_work;
|
||||
struct input_handler *input_handler;
|
||||
@@ -265,6 +267,12 @@ void sde_encoder_get_hw_resources(struct drm_encoder *encoder,
|
||||
struct sde_encoder_hw_resources *hw_res,
|
||||
struct drm_connector_state *conn_state);
|
||||
|
||||
/**
|
||||
* sde_encoder_early_wakeup - early wake up display
|
||||
* @encoder: encoder pointer
|
||||
*/
|
||||
void sde_encoder_early_wakeup(struct drm_encoder *drm_enc);
|
||||
|
||||
/**
|
||||
* sde_encoder_register_vblank_callback - provide callback to encoder that
|
||||
* will be called on the next vblank.
|
||||
|
Viittaa uudesa ongelmassa
Block a user