disp: msm: sde: do on demand registering for te irq
Register and unregister te irq only during a ping pong timeout to check the health of panel. Change-Id: I38d7f178b55d252840aad6fae08b5f34296d75ab Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Este cometimento está contido em:

ascendente
de7a10fd68
cometimento
b8223cc869
@@ -869,6 +869,15 @@ static int dsi_display_status_bta_request(struct dsi_display *display)
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void dsi_display_release_te_irq(struct dsi_display *display)
|
||||
{
|
||||
int te_irq = 0;
|
||||
|
||||
te_irq = gpio_to_irq(display->disp_te_gpio);
|
||||
if (te_irq)
|
||||
free_irq(te_irq, display);
|
||||
}
|
||||
|
||||
static int dsi_display_status_check_te(struct dsi_display *display,
|
||||
int rechecks)
|
||||
{
|
||||
@@ -878,6 +887,9 @@ static int dsi_display_status_check_te(struct dsi_display *display,
|
||||
if (!rechecks)
|
||||
return rc;
|
||||
|
||||
/* register te irq handler */
|
||||
dsi_display_register_te_irq(display);
|
||||
|
||||
dsi_display_change_te_irq_status(display, true);
|
||||
|
||||
for (i = 0; i < rechecks; i++) {
|
||||
@@ -891,6 +903,7 @@ static int dsi_display_status_check_te(struct dsi_display *display,
|
||||
}
|
||||
|
||||
dsi_display_change_te_irq_status(display, false);
|
||||
dsi_display_release_te_irq(display);
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -5558,8 +5571,6 @@ static int dsi_display_bind(struct device *dev,
|
||||
}
|
||||
}
|
||||
|
||||
/* register te irq handler */
|
||||
dsi_display_register_te_irq(display);
|
||||
|
||||
msm_register_vm_event(master, dev, &vm_event_ops, (void *)display);
|
||||
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador