aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/displays/panel-taal.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/omap2/displays/panel-taal.c')
-rw-r--r--drivers/video/omap2/displays/panel-taal.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index 3f766035f885..e725a8d125b4 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -1018,6 +1018,15 @@ static void taal_power_off(struct omap_dss_device *dssdev)
1018 td->enabled = 0; 1018 td->enabled = 0;
1019} 1019}
1020 1020
1021static int taal_panel_reset(struct omap_dss_device *dssdev)
1022{
1023 dev_err(&dssdev->dev, "performing LCD reset\n");
1024
1025 taal_power_off(dssdev);
1026 taal_hw_reset(dssdev);
1027 return taal_power_on(dssdev);
1028}
1029
1021static int taal_enable(struct omap_dss_device *dssdev) 1030static int taal_enable(struct omap_dss_device *dssdev)
1022{ 1031{
1023 struct taal_data *td = dev_get_drvdata(&dssdev->dev); 1032 struct taal_data *td = dev_get_drvdata(&dssdev->dev);
@@ -1582,9 +1591,7 @@ static void taal_esd_work(struct work_struct *work)
1582err: 1591err:
1583 dev_err(&dssdev->dev, "performing LCD reset\n"); 1592 dev_err(&dssdev->dev, "performing LCD reset\n");
1584 1593
1585 taal_power_off(dssdev); 1594 taal_panel_reset(dssdev);
1586 taal_hw_reset(dssdev);
1587 taal_power_on(dssdev);
1588 1595
1589 dsi_bus_unlock(); 1596 dsi_bus_unlock();
1590 1597