Browse Source

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>
Tomi Valkeinen 15 years ago
parent
commit
61140c9a88
2 changed files with 10 additions and 5 deletions
  1. 2 0
      arch/arm/plat-omap/include/plat/display.h
  2. 8 5
      drivers/video/omap2/dss/dsi.c

+ 2 - 0
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_driver(x) container_of((x), struct omap_dss_driver, driver)
 #define to_dss_device(x) container_of((x), struct omap_dss_device, dev)
 #define to_dss_device(x) container_of((x), struct omap_dss_device, dev)
 
 
+void omapdss_dsi_vc_enable_hs(int channel, bool enable);
+
 #endif
 #endif

+ 8 - 5
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);
 	DSSDBG("dsi_vc_enable_hs(%d, %d)\n", channel, enable);
 
 
+	WARN_ON(!dsi_bus_is_locked());
+
 	dsi_vc_enable(channel, 0);
 	dsi_vc_enable(channel, 0);
 	dsi_if_enable(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();
 	dsi_force_tx_stop_mode_io();
 }
 }
+EXPORT_SYMBOL(omapdss_dsi_vc_enable_hs);
 
 
 static void dsi_vc_flush_long_data(int channel)
 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 */
 	/* enable high-speed after initial config */
-	dsi_vc_enable_hs(0, 1);
+	omapdss_dsi_vc_enable_hs(0, 1);
 
 
 	return 0;
 	return 0;
 err4:
 err4:
@@ -3688,7 +3691,7 @@ static int dsi_display_run_test(struct omap_dss_device *dssdev, int test_num)
 	dsi_bus_lock();
 	dsi_bus_lock();
 
 
 	/* run test first in low speed mode */
 	/* 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) {
 	if (dssdev->driver->run_test) {
 		r = dssdev->driver->run_test(dssdev, test_num);
 		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 */
 	/* then in high speed */
-	dsi_vc_enable_hs(0, 1);
+	omapdss_dsi_vc_enable_hs(0, 1);
 
 
 	if (dssdev->driver->run_test) {
 	if (dssdev->driver->run_test) {
 		r = dssdev->driver->run_test(dssdev, test_num);
 		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:
 end:
-	dsi_vc_enable_hs(0, 1);
+	omapdss_dsi_vc_enable_hs(0, 1);
 
 
 	dsi_bus_unlock();
 	dsi_bus_unlock();