]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/video/omap2/dss/rfbi.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / video / omap2 / dss / rfbi.c
index bbe62464e92df533309f20ea59f4e2dbbe6c6d3e..10a2ffe02882e929f6c64250ba2ba9d87242ccaf 100644 (file)
@@ -301,8 +301,8 @@ void omap_rfbi_write_pixels(const void __iomem *buf, int scr_width,
 }
 EXPORT_SYMBOL(omap_rfbi_write_pixels);
 
-void rfbi_transfer_area(u16 width, u16 height,
-                            void (callback)(void *data), void *data)
+void rfbi_transfer_area(struct omap_dss_device *dssdev, u16 width,
+               u16 height, void (*callback)(void *data), void *data)
 {
        u32 l;
 
@@ -311,9 +311,9 @@ void rfbi_transfer_area(u16 width, u16 height,
 
        DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
 
-       dispc_set_lcd_size(width, height);
+       dispc_set_lcd_size(dssdev->manager->id, width, height);
 
-       dispc_enable_channel(OMAP_DSS_CHANNEL_LCD, true);
+       dispc_enable_channel(dssdev->manager->id, true);
 
        rfbi.framedone_callback = callback;
        rfbi.framedone_callback_data = data;
@@ -887,7 +887,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev,
 
        if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
                dss_setup_partial_planes(dssdev, x, y, w, h, true);
-               dispc_set_lcd_size(*w, *h);
+               dispc_set_lcd_size(dssdev->manager->id, *w, *h);
        }
 
        return 0;
@@ -899,7 +899,7 @@ int omap_rfbi_update(struct omap_dss_device *dssdev,
                void (*callback)(void *), void *data)
 {
        if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
-               rfbi_transfer_area(w, h, callback, data);
+               rfbi_transfer_area(dssdev, w, h, callback, data);
        } else {
                struct omap_overlay *ovl;
                void __iomem *addr;
@@ -1018,11 +1018,13 @@ int omapdss_rfbi_display_enable(struct omap_dss_device *dssdev)
                goto err1;
        }
 
-       dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
+       dispc_set_lcd_display_type(dssdev->manager->id,
+                       OMAP_DSS_LCD_DISPLAY_TFT);
 
-       dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_RFBI);
+       dispc_set_parallel_interface_mode(dssdev->manager->id,
+                       OMAP_DSS_PARALLELMODE_RFBI);
 
-       dispc_set_tft_data_lines(dssdev->ctrl.pixel_size);
+       dispc_set_tft_data_lines(dssdev->manager->id, dssdev->ctrl.pixel_size);
 
        rfbi_configure(dssdev->phy.rfbi.channel,
                               dssdev->ctrl.pixel_size,