Commit 21df20fc authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAP: DSS2: Taal: Fix TE when resuming

TE was not initialized properly on power on, which broke TE when resuming
from suspend.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
parent 1189b7ff
...@@ -63,6 +63,8 @@ ...@@ -63,6 +63,8 @@
/* #define TAAL_USE_ESD_CHECK */ /* #define TAAL_USE_ESD_CHECK */
#define TAAL_ESD_CHECK_PERIOD msecs_to_jiffies(5000) #define TAAL_ESD_CHECK_PERIOD msecs_to_jiffies(5000)
static int _taal_enable_te(struct omap_dss_device *dssdev, bool enable);
struct taal_data { struct taal_data {
struct backlight_device *bldev; struct backlight_device *bldev;
...@@ -666,6 +668,10 @@ static int taal_power_on(struct omap_dss_device *dssdev) ...@@ -666,6 +668,10 @@ static int taal_power_on(struct omap_dss_device *dssdev)
taal_dcs_write_0(DCS_DISPLAY_ON); taal_dcs_write_0(DCS_DISPLAY_ON);
r = _taal_enable_te(dssdev, td->te_enabled);
if (r)
goto err;
#ifdef TAAL_USE_ESD_CHECK #ifdef TAAL_USE_ESD_CHECK
queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD); queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD);
#endif #endif
...@@ -828,13 +834,11 @@ static int taal_sync(struct omap_dss_device *dssdev) ...@@ -828,13 +834,11 @@ static int taal_sync(struct omap_dss_device *dssdev)
return 0; return 0;
} }
static int taal_enable_te(struct omap_dss_device *dssdev, bool enable) static int _taal_enable_te(struct omap_dss_device *dssdev, bool enable)
{ {
struct taal_data *td = dev_get_drvdata(&dssdev->dev); struct taal_data *td = dev_get_drvdata(&dssdev->dev);
int r; int r;
dsi_bus_lock();
td->te_enabled = enable; td->te_enabled = enable;
if (enable) if (enable)
...@@ -848,6 +852,17 @@ static int taal_enable_te(struct omap_dss_device *dssdev, bool enable) ...@@ -848,6 +852,17 @@ static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
* Panel bug? Needs more studying */ * Panel bug? Needs more studying */
msleep(100); msleep(100);
return r;
}
static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
{
int r;
dsi_bus_lock();
r = _taal_enable_te(dssdev, enable);
dsi_bus_unlock(); dsi_bus_unlock();
return r; return r;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment