diff options
author | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-01-11 08:11:01 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-02-24 07:31:27 -0500 |
commit | 225b650d41e7cdbf5cd322a461b04493caabed09 (patch) | |
tree | dcd6b3f83036eeb13777f018aca4cf8273d087c5 /drivers/video/omap2/displays/panel-taal.c | |
parent | a269950405ab17ce3a604ddcd939709a4a7a747c (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/panel-taal.c')
-rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 18 |
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 e00502ea46e5..af4b0b03b745 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 | ||
759 | static 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 | |||
749 | static int taal_wait_te(struct omap_dss_device *dssdev) | 765 | static 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, |