Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@
/* #define TAAL_USE_ESD_CHECK */
#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 backlight_device *bldev;

@@ -666,6 +668,10 @@ static int taal_power_on(struct omap_dss_device *dssdev)

	taal_dcs_write_0(DCS_DISPLAY_ON);

	r = _taal_enable_te(dssdev, td->te_enabled);
	if (r)
		goto err;

#ifdef TAAL_USE_ESD_CHECK
	queue_delayed_work(td->esd_wq, &td->esd_work, TAAL_ESD_CHECK_PERIOD);
#endif
@@ -828,13 +834,11 @@ static int taal_sync(struct omap_dss_device *dssdev)
	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);
	int r;

	dsi_bus_lock();

	td->te_enabled = enable;

	if (enable)
@@ -848,6 +852,17 @@ static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
	 * Panel bug? Needs more studying */
	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();

	return r;