OMAP: DSS2: DSI: export dsi_vc_enable_hs()
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Tue, 12 Jan 2010 14:00:30 +0000 (16:00 +0200)
committerTomi Valkeinen <tomi.valkeinen@nokia.com>
Mon, 15 Feb 2010 13:14:41 +0000 (15:14 +0200)
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>
arch/arm/plat-omap/include/plat/display.h
drivers/video/omap2/dss/dsi.c

index 47df5f6fbf899bd6ed6fdf8e83d7c830275fefce..8c3688b45f3de852aee7a9342623b40c3ff6594a 100644 (file)
@@ -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
index e49f063fb61523bc586e7fd74f5cdc35136d2f5d..e003fe9ee9c41bb29e73025caf3dc2e590512105 100644 (file)
@@ -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();