diff options
author | Sumit Semwal <sumit.semwal@ti.com> | 2010-12-02 06:27:10 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2011-01-10 04:35:59 -0500 |
commit | 64ba4f748a005a44c03c98e082d8ee157f4ee66f (patch) | |
tree | e06800604171e7067c197514cbdec323bccbbae8 /drivers/video/omap2/dss/rfbi.c | |
parent | 8613b0005d315582a988bbeb2249d69df343eb3a (diff) |
OMAP: DSS2: Introduce omap_channel argument to DISPC functions used by interface drivers
The interface drivers (dsi.c, sdi.c etc) need to call dispc functions with
dssdev->manager->id as a parameter to specify the DISPC channel which they want
to configure/use, this is required as the same functions are now used to configure
dispc registers of different channels.
The following dispc functions are changed to incorporate channel as an argument:
-dispc_enable_fifohandcheck()
-dispc_set_lcd_size()
-dispc_set_parallel_interface_mode()
-dispc_set_tft_data_lines()
-dispc_set_lcd_display_type()
-dispc_set_lcd_timings()
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Mukund Mittal <mmittal@ti.com>
Signed-off-by: Samreen <samreen@ti.com>
Signed-off-by: Archit Taneja <archit@ti.com>
[tomi.valkeinen@nokia.com: fixed trivial compile error]
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2/dss/rfbi.c')
-rw-r--r-- | drivers/video/omap2/dss/rfbi.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c index bbe62464e92d..10a2ffe02882 100644 --- a/drivers/video/omap2/dss/rfbi.c +++ b/drivers/video/omap2/dss/rfbi.c | |||
@@ -301,8 +301,8 @@ void omap_rfbi_write_pixels(const void __iomem *buf, int scr_width, | |||
301 | } | 301 | } |
302 | EXPORT_SYMBOL(omap_rfbi_write_pixels); | 302 | EXPORT_SYMBOL(omap_rfbi_write_pixels); |
303 | 303 | ||
304 | void rfbi_transfer_area(u16 width, u16 height, | 304 | void rfbi_transfer_area(struct omap_dss_device *dssdev, u16 width, |
305 | void (callback)(void *data), void *data) | 305 | u16 height, void (*callback)(void *data), void *data) |
306 | { | 306 | { |
307 | u32 l; | 307 | u32 l; |
308 | 308 | ||
@@ -311,9 +311,9 @@ void rfbi_transfer_area(u16 width, u16 height, | |||
311 | 311 | ||
312 | DSSDBG("rfbi_transfer_area %dx%d\n", width, height); | 312 | DSSDBG("rfbi_transfer_area %dx%d\n", width, height); |
313 | 313 | ||
314 | dispc_set_lcd_size(width, height); | 314 | dispc_set_lcd_size(dssdev->manager->id, width, height); |
315 | 315 | ||
316 | dispc_enable_channel(OMAP_DSS_CHANNEL_LCD, true); | 316 | dispc_enable_channel(dssdev->manager->id, true); |
317 | 317 | ||
318 | rfbi.framedone_callback = callback; | 318 | rfbi.framedone_callback = callback; |
319 | rfbi.framedone_callback_data = data; | 319 | rfbi.framedone_callback_data = data; |
@@ -887,7 +887,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev, | |||
887 | 887 | ||
888 | if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) { | 888 | if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) { |
889 | dss_setup_partial_planes(dssdev, x, y, w, h, true); | 889 | dss_setup_partial_planes(dssdev, x, y, w, h, true); |
890 | dispc_set_lcd_size(*w, *h); | 890 | dispc_set_lcd_size(dssdev->manager->id, *w, *h); |
891 | } | 891 | } |
892 | 892 | ||
893 | return 0; | 893 | return 0; |
@@ -899,7 +899,7 @@ int omap_rfbi_update(struct omap_dss_device *dssdev, | |||
899 | void (*callback)(void *), void *data) | 899 | void (*callback)(void *), void *data) |
900 | { | 900 | { |
901 | if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) { | 901 | if (dssdev->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) { |
902 | rfbi_transfer_area(w, h, callback, data); | 902 | rfbi_transfer_area(dssdev, w, h, callback, data); |
903 | } else { | 903 | } else { |
904 | struct omap_overlay *ovl; | 904 | struct omap_overlay *ovl; |
905 | void __iomem *addr; | 905 | void __iomem *addr; |
@@ -1018,11 +1018,13 @@ int omapdss_rfbi_display_enable(struct omap_dss_device *dssdev) | |||
1018 | goto err1; | 1018 | goto err1; |
1019 | } | 1019 | } |
1020 | 1020 | ||
1021 | dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT); | 1021 | dispc_set_lcd_display_type(dssdev->manager->id, |
1022 | OMAP_DSS_LCD_DISPLAY_TFT); | ||
1022 | 1023 | ||
1023 | dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_RFBI); | 1024 | dispc_set_parallel_interface_mode(dssdev->manager->id, |
1025 | OMAP_DSS_PARALLELMODE_RFBI); | ||
1024 | 1026 | ||
1025 | dispc_set_tft_data_lines(dssdev->ctrl.pixel_size); | 1027 | dispc_set_tft_data_lines(dssdev->manager->id, dssdev->ctrl.pixel_size); |
1026 | 1028 | ||
1027 | rfbi_configure(dssdev->phy.rfbi.channel, | 1029 | rfbi_configure(dssdev->phy.rfbi.channel, |
1028 | dssdev->ctrl.pixel_size, | 1030 | dssdev->ctrl.pixel_size, |