summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-12 15:00:30 +0100
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-15 14:14:41 +0100
commit61140c9a88ce1f1dee4e98a0c442f9a84b4c5e6b (patch)
tree7ae0b9b79ef5eac7fb875e67577bba740978d13f
parentOMAP: DSS2: DSI: add helpers for DCS read/write (diff)
downloadlinux-61140c9a88ce1f1dee4e98a0c442f9a84b4c5e6b.tar.xz
linux-61140c9a88ce1f1dee4e98a0c442f9a84b4c5e6b.zip
OMAP: DSS2: DSI: export dsi_vc_enable_hs()
Rename and export dsi_vc_enable_hs() so that the display drivers can control the mode of the DSI link. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-rw-r--r--arch/arm/plat-omap/include/plat/display.h2
-rw-r--r--drivers/video/omap2/dss/dsi.c13
2 files changed, 10 insertions, 5 deletions
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h
index 47df5f6fbf89..8c3688b45f3d 100644
--- a/arch/arm/plat-omap/include/plat/display.h
+++ b/arch/arm/plat-omap/include/plat/display.h
@@ -575,4 +575,6 @@ int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
#define to_dss_driver(x) container_of((x), struct omap_dss_driver, driver)
#define to_dss_device(x) container_of((x), struct omap_dss_device, dev)
+void omapdss_dsi_vc_enable_hs(int channel, bool enable);
+
#endif
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index e49f063fb615..e003fe9ee9c4 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -1864,10 +1864,12 @@ static void dsi_vc_config_vp(int channel)
}
-static void dsi_vc_enable_hs(int channel, bool enable)
+void omapdss_dsi_vc_enable_hs(int channel, bool enable)
{
DSSDBG("dsi_vc_enable_hs(%d, %d)\n", channel, enable);
+ WARN_ON(!dsi_bus_is_locked());
+
dsi_vc_enable(channel, 0);
dsi_if_enable(0);
@@ -1878,6 +1880,7 @@ static void dsi_vc_enable_hs(int channel, bool enable)
dsi_force_tx_stop_mode_io();
}
+EXPORT_SYMBOL(omapdss_dsi_vc_enable_hs);
static void dsi_vc_flush_long_data(int channel)
{
@@ -3275,7 +3278,7 @@ static int dsi_display_init_dsi(struct omap_dss_device *dssdev)
}
/* enable high-speed after initial config */
- dsi_vc_enable_hs(0, 1);
+ omapdss_dsi_vc_enable_hs(0, 1);
return 0;
err4:
@@ -3688,7 +3691,7 @@ static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num)
dsi_bus_lock();
/* run test first in low speed mode */
- dsi_vc_enable_hs(0, 0);
+ omapdss_dsi_vc_enable_hs(0, 0);
if (dssdev->driver->run_test) {
r = dssdev->driver->run_test(dssdev, test_num);
@@ -3697,7 +3700,7 @@ static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num)
}
/* then in high speed */
- dsi_vc_enable_hs(0, 1);
+ omapdss_dsi_vc_enable_hs(0, 1);
if (dssdev->driver->run_test) {
r = dssdev->driver->run_test(dssdev, test_num);
@@ -3706,7 +3709,7 @@ static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num)
}
end:
- dsi_vc_enable_hs(0, 1);
+ omapdss_dsi_vc_enable_hs(0, 1);
dsi_bus_unlock();