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.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index 2b577762177..fcd6a61a91e 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -63,6 +63,8 @@
63/* #define TAAL_USE_ESD_CHECK */ 63/* #define TAAL_USE_ESD_CHECK */
64#define TAAL_ESD_CHECK_PERIOD msecs_to_jiffies(5000) 64#define TAAL_ESD_CHECK_PERIOD msecs_to_jiffies(5000)
65 65
66static int _taal_enable_te(struct omap_dss_device *dssdev, bool enable);
67
66struct taal_data { 68struct taal_data {
67 struct backlight_device *bldev; 69 struct backlight_device *bldev;
68 70
@@ -666,6 +668,10 @@ static int taal_power_on(struct omap_dss_device *dssdev)
666 668
667 taal_dcs_write_0(DCS_DISPLAY_ON); 669 taal_dcs_write_0(DCS_DISPLAY_ON);
668 670
671 r = _taal_enable_te(dssdev, td->te_enabled);
672 if (r)
673 goto err;
674
669#ifdef TAAL_USE_ESD_CHECK 675#ifdef TAAL_USE_ESD_CHECK
670 queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD); 676 queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD);
671#endif 677#endif
@@ -828,13 +834,11 @@ static int taal_sync(struct omap_dss_device *dssdev)
828 return 0; 834 return 0;
829} 835}
830 836
831static int taal_enable_te(struct omap_dss_device *dssdev, bool enable) 837static int _taal_enable_te(struct omap_dss_device *dssdev, bool enable)
832{ 838{
833 struct taal_data *td = dev_get_drvdata(&dssdev->dev); 839 struct taal_data *td = dev_get_drvdata(&dssdev->dev);
834 int r; 840 int r;
835 841
836 dsi_bus_lock();
837
838 td->te_enabled = enable; 842 td->te_enabled = enable;
839 843
840 if (enable) 844 if (enable)
@@ -848,6 +852,17 @@ static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
848 * Panel bug? Needs more studying */ 852 * Panel bug? Needs more studying */
849 msleep(100); 853 msleep(100);
850 854
855 return r;
856}
857
858static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
859{
860 int r;
861
862 dsi_bus_lock();
863
864 r = _taal_enable_te(dssdev, enable);
865
851 dsi_bus_unlock(); 866 dsi_bus_unlock();
852 867
853 return r; 868 return r;