aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/displays
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-11 08:11:01 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-24 07:31:27 -0500
commit225b650d41e7cdbf5cd322a461b04493caabed09 (patch)
treedcd6b3f83036eeb13777f018aca4cf8273d087c5 /drivers/video/omap2/displays
parenta269950405ab17ce3a604ddcd939709a4a7a747c (diff)
OMAP: DSS2: move enable/get_te()
Move enable/get_te() from omap_dss_device to omap_dss_driver. This is part of a larger patch-set, which moves the control from omapdss driver to the display driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2/displays')
-rw-r--r--drivers/video/omap2/displays/panel-taal.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index e00502ea46e..af4b0b03b74 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -736,6 +736,8 @@ static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
736 struct taal_data *td = dev_get_drvdata(&dssdev->dev); 736 struct taal_data *td = dev_get_drvdata(&dssdev->dev);
737 int r; 737 int r;
738 738
739 dsi_bus_lock();
740
739 td->te_enabled = enable; 741 td->te_enabled = enable;
740 742
741 if (enable) 743 if (enable)
@@ -743,9 +745,23 @@ static int taal_enable_te(struct omap_dss_device *dssdev, bool enable)
743 else 745 else
744 r = taal_dcs_write_0(DCS_TEAR_OFF); 746 r = taal_dcs_write_0(DCS_TEAR_OFF);
745 747
748 omapdss_dsi_enable_te(dssdev, enable);
749
750 /* XXX for some reason, DSI TE breaks if we don't wait here.
751 * Panel bug? Needs more studying */
752 msleep(100);
753
754 dsi_bus_unlock();
755
746 return r; 756 return r;
747} 757}
748 758
759static int taal_get_te(struct omap_dss_device *dssdev)
760{
761 struct taal_data *td = dev_get_drvdata(&dssdev->dev);
762 return td->te_enabled;
763}
764
749static int taal_wait_te(struct omap_dss_device *dssdev) 765static int taal_wait_te(struct omap_dss_device *dssdev)
750{ 766{
751 struct taal_data *td = dev_get_drvdata(&dssdev->dev); 767 struct taal_data *td = dev_get_drvdata(&dssdev->dev);
@@ -993,7 +1009,9 @@ static struct omap_dss_driver taal_driver = {
993 .get_recommended_bpp = omapdss_default_get_recommended_bpp, 1009 .get_recommended_bpp = omapdss_default_get_recommended_bpp,
994 1010
995 .enable_te = taal_enable_te, 1011 .enable_te = taal_enable_te,
1012 .get_te = taal_get_te,
996 .wait_for_te = taal_wait_te, 1013 .wait_for_te = taal_wait_te,
1014
997 .set_rotate = taal_rotate, 1015 .set_rotate = taal_rotate,
998 .get_rotate = taal_get_rotate, 1016 .get_rotate = taal_get_rotate,
999 .set_mirror = taal_mirror, 1017 .set_mirror = taal_mirror,