diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-01 13:45:12 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-01 13:45:12 -0400 |
| commit | d4fdc32517efaab0493c134d5cc070c252d51275 (patch) | |
| tree | 7b70d93a65fa1b74f84af835cd941c3f2c55019a /include | |
| parent | 9a51cf28a3377689edfe190b9590da7d46e8f3fb (diff) | |
| parent | a0239073fd75489d25575cf3aaf71ab55b416020 (diff) | |
Merge tag 'fbdev-updates-for-3.6' of git://github.com/schandinat/linux-2.6
Pull fbdev updates from Florian Tobias Schandinat:
- large updates for OMAP
- support for LCD3 overlay manager (omap5)
- omapdss output cleanup
- removal of passive matrix LCD support as there are no drivers for
such panels for DSS or DSS2 and nobody complained (cleanup)
- large updates for SH Mobile
- overlay support
- separating MERAM (cache) from framebuffer driver
- some updates for Exynos and da8xx-fb
- various other small patches
* tag 'fbdev-updates-for-3.6' of git://github.com/schandinat/linux-2.6: (78 commits)
da8xx-fb: fix compile issue due to missing include
fbdev: Make pixel_to_pat() failure mode more friendly
da8xx-fb: do not turn ON LCD backlight unless LCDC is enabled
fbdev: sh_mobile_lcdc: Fix vertical panning step
video: exynos mipi dsi: Fix mipi dsi regulators handling issue
video: da8xx-fb: do clock reset of revision 2 LCDC before enabling
arm: da850: configure LCDC fifo threshold
video: da8xx-fb: configure FIFO threshold to reduce underflow errors
video: da8xx-fb: fix flicker due to 1 frame delay in updated frame
video: da8xx-fb rev2: fix disabling of palette completion interrupt
da8xx-fb: add missing FB_BLANK operations
video: exynos_dp: use usleep_range instead of delay
video: exynos_dp: check the only INTERLANE_ALIGN_DONE bit during Link Training
fb: epson1355fb: Fix section mismatch
video: exynos_dp: fix wrong DPCD address during Link Training
video/smscufx: fix line counting in fb_write
aty128fb: Fix coding style issues
fbdev: sh_mobile_lcdc: Fix pan offset computation in YUV mode
fbdev: sh_mobile_lcdc: Fix overlay registers update during pan operation
fbdev: sh_mobile_lcdc: Support horizontal panning
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/video/da8xx-fb.h | 3 | ||||
| -rw-r--r-- | include/video/omapdss.h | 51 | ||||
| -rw-r--r-- | include/video/sh_mobile_lcdc.h | 7 | ||||
| -rw-r--r-- | include/video/sh_mobile_meram.h | 71 |
4 files changed, 87 insertions, 45 deletions
diff --git a/include/video/da8xx-fb.h b/include/video/da8xx-fb.h index 89d43b3d4cb9..5a0e4f9efb53 100644 --- a/include/video/da8xx-fb.h +++ b/include/video/da8xx-fb.h | |||
| @@ -82,6 +82,9 @@ struct lcd_ctrl_config { | |||
| 82 | 82 | ||
| 83 | /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */ | 83 | /* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */ |
| 84 | unsigned char raster_order; | 84 | unsigned char raster_order; |
| 85 | |||
| 86 | /* DMA FIFO threshold */ | ||
| 87 | int fifo_th; | ||
| 85 | }; | 88 | }; |
| 86 | 89 | ||
| 87 | struct lcd_sync_arg { | 90 | struct lcd_sync_arg { |
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index c8e59b4a3364..a6267a2d292b 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
| @@ -48,6 +48,10 @@ | |||
| 48 | #define DISPC_IRQ_FRAMEDONEWB (1 << 23) | 48 | #define DISPC_IRQ_FRAMEDONEWB (1 << 23) |
| 49 | #define DISPC_IRQ_FRAMEDONETV (1 << 24) | 49 | #define DISPC_IRQ_FRAMEDONETV (1 << 24) |
| 50 | #define DISPC_IRQ_WBBUFFEROVERFLOW (1 << 25) | 50 | #define DISPC_IRQ_WBBUFFEROVERFLOW (1 << 25) |
| 51 | #define DISPC_IRQ_FRAMEDONE3 (1 << 26) | ||
| 52 | #define DISPC_IRQ_VSYNC3 (1 << 27) | ||
| 53 | #define DISPC_IRQ_ACBIAS_COUNT_STAT3 (1 << 28) | ||
| 54 | #define DISPC_IRQ_SYNC_LOST3 (1 << 29) | ||
| 51 | 55 | ||
| 52 | struct omap_dss_device; | 56 | struct omap_dss_device; |
| 53 | struct omap_overlay_manager; | 57 | struct omap_overlay_manager; |
| @@ -75,6 +79,7 @@ enum omap_channel { | |||
| 75 | OMAP_DSS_CHANNEL_LCD = 0, | 79 | OMAP_DSS_CHANNEL_LCD = 0, |
| 76 | OMAP_DSS_CHANNEL_DIGIT = 1, | 80 | OMAP_DSS_CHANNEL_DIGIT = 1, |
| 77 | OMAP_DSS_CHANNEL_LCD2 = 2, | 81 | OMAP_DSS_CHANNEL_LCD2 = 2, |
| 82 | OMAP_DSS_CHANNEL_LCD3 = 3, | ||
| 78 | }; | 83 | }; |
| 79 | 84 | ||
| 80 | enum omap_color_mode { | 85 | enum omap_color_mode { |
| @@ -99,11 +104,6 @@ enum omap_color_mode { | |||
| 99 | OMAP_DSS_COLOR_XRGB16_1555 = 1 << 18, /* xRGB16 - 1555 */ | 104 | OMAP_DSS_COLOR_XRGB16_1555 = 1 << 18, /* xRGB16 - 1555 */ |
| 100 | }; | 105 | }; |
| 101 | 106 | ||
| 102 | enum omap_lcd_display_type { | ||
| 103 | OMAP_DSS_LCD_DISPLAY_STN, | ||
| 104 | OMAP_DSS_LCD_DISPLAY_TFT, | ||
| 105 | }; | ||
| 106 | |||
| 107 | enum omap_dss_load_mode { | 107 | enum omap_dss_load_mode { |
| 108 | OMAP_DSS_LOAD_CLUT_AND_FRAME = 0, | 108 | OMAP_DSS_LOAD_CLUT_AND_FRAME = 0, |
| 109 | OMAP_DSS_LOAD_CLUT_ONLY = 1, | 109 | OMAP_DSS_LOAD_CLUT_ONLY = 1, |
| @@ -121,15 +121,15 @@ enum omap_rfbi_te_mode { | |||
| 121 | OMAP_DSS_RFBI_TE_MODE_2 = 2, | 121 | OMAP_DSS_RFBI_TE_MODE_2 = 2, |
| 122 | }; | 122 | }; |
| 123 | 123 | ||
| 124 | enum omap_panel_config { | 124 | enum omap_dss_signal_level { |
| 125 | OMAP_DSS_LCD_IVS = 1<<0, | 125 | OMAPDSS_SIG_ACTIVE_HIGH = 0, |
| 126 | OMAP_DSS_LCD_IHS = 1<<1, | 126 | OMAPDSS_SIG_ACTIVE_LOW = 1, |
| 127 | OMAP_DSS_LCD_IPC = 1<<2, | 127 | }; |
| 128 | OMAP_DSS_LCD_IEO = 1<<3, | ||
| 129 | OMAP_DSS_LCD_RF = 1<<4, | ||
| 130 | OMAP_DSS_LCD_ONOFF = 1<<5, | ||
| 131 | 128 | ||
| 132 | OMAP_DSS_LCD_TFT = 1<<20, | 129 | enum omap_dss_signal_edge { |
| 130 | OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES, | ||
| 131 | OMAPDSS_DRIVE_SIG_RISING_EDGE, | ||
| 132 | OMAPDSS_DRIVE_SIG_FALLING_EDGE, | ||
| 133 | }; | 133 | }; |
| 134 | 134 | ||
| 135 | enum omap_dss_venc_type { | 135 | enum omap_dss_venc_type { |
| @@ -167,13 +167,6 @@ enum omap_dss_audio_state { | |||
| 167 | OMAP_DSS_AUDIO_PLAYING, | 167 | OMAP_DSS_AUDIO_PLAYING, |
| 168 | }; | 168 | }; |
| 169 | 169 | ||
| 170 | /* XXX perhaps this should be removed */ | ||
| 171 | enum omap_dss_overlay_managers { | ||
| 172 | OMAP_DSS_OVL_MGR_LCD, | ||
| 173 | OMAP_DSS_OVL_MGR_TV, | ||
| 174 | OMAP_DSS_OVL_MGR_LCD2, | ||
| 175 | }; | ||
| 176 | |||
| 177 | enum omap_dss_rotation_type { | 170 | enum omap_dss_rotation_type { |
| 178 | OMAP_DSS_ROT_DMA = 1 << 0, | 171 | OMAP_DSS_ROT_DMA = 1 << 0, |
| 179 | OMAP_DSS_ROT_VRFB = 1 << 1, | 172 | OMAP_DSS_ROT_VRFB = 1 << 1, |
| @@ -268,9 +261,6 @@ struct omap_dss_dsi_videomode_data { | |||
| 268 | int hfp_blanking_mode; | 261 | int hfp_blanking_mode; |
| 269 | 262 | ||
| 270 | /* Video port sync events */ | 263 | /* Video port sync events */ |
| 271 | int vp_de_pol; | ||
| 272 | int vp_hsync_pol; | ||
| 273 | int vp_vsync_pol; | ||
| 274 | bool vp_vsync_end; | 264 | bool vp_vsync_end; |
| 275 | bool vp_hsync_end; | 265 | bool vp_hsync_end; |
| 276 | 266 | ||
| @@ -346,6 +336,19 @@ struct omap_video_timings { | |||
| 346 | u16 vfp; /* Vertical front porch */ | 336 | u16 vfp; /* Vertical front porch */ |
| 347 | /* Unit: line clocks */ | 337 | /* Unit: line clocks */ |
| 348 | u16 vbp; /* Vertical back porch */ | 338 | u16 vbp; /* Vertical back porch */ |
| 339 | |||
| 340 | /* Vsync logic level */ | ||
| 341 | enum omap_dss_signal_level vsync_level; | ||
| 342 | /* Hsync logic level */ | ||
| 343 | enum omap_dss_signal_level hsync_level; | ||
| 344 | /* Interlaced or Progressive timings */ | ||
| 345 | bool interlace; | ||
| 346 | /* Pixel clock edge to drive LCD data */ | ||
| 347 | enum omap_dss_signal_edge data_pclk_edge; | ||
| 348 | /* Data enable logic level */ | ||
| 349 | enum omap_dss_signal_level de_level; | ||
| 350 | /* Pixel clock edges to drive HSYNC and VSYNC signals */ | ||
| 351 | enum omap_dss_signal_edge sync_pclk_edge; | ||
| 349 | }; | 352 | }; |
| 350 | 353 | ||
| 351 | #ifdef CONFIG_OMAP2_DSS_VENC | 354 | #ifdef CONFIG_OMAP2_DSS_VENC |
| @@ -559,8 +562,6 @@ struct omap_dss_device { | |||
| 559 | /* Unit: line clocks */ | 562 | /* Unit: line clocks */ |
| 560 | int acb; /* ac-bias pin frequency */ | 563 | int acb; /* ac-bias pin frequency */ |
| 561 | 564 | ||
| 562 | enum omap_panel_config config; | ||
| 563 | |||
| 564 | enum omap_dss_dsi_pixel_format dsi_pix_fmt; | 565 | enum omap_dss_dsi_pixel_format dsi_pix_fmt; |
| 565 | enum omap_dss_dsi_mode dsi_mode; | 566 | enum omap_dss_dsi_mode dsi_mode; |
| 566 | struct omap_dss_dsi_videomode_data dsi_vm_data; | 567 | struct omap_dss_dsi_videomode_data dsi_vm_data; |
diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h index 7571b27a0ba1..ff43ffc1aab2 100644 --- a/include/video/sh_mobile_lcdc.h +++ b/include/video/sh_mobile_lcdc.h | |||
| @@ -166,6 +166,12 @@ struct sh_mobile_lcdc_bl_info { | |||
| 166 | int (*get_brightness)(void); | 166 | int (*get_brightness)(void); |
| 167 | }; | 167 | }; |
| 168 | 168 | ||
| 169 | struct sh_mobile_lcdc_overlay_cfg { | ||
| 170 | int fourcc; | ||
| 171 | unsigned int max_xres; | ||
| 172 | unsigned int max_yres; | ||
| 173 | }; | ||
| 174 | |||
| 169 | struct sh_mobile_lcdc_chan_cfg { | 175 | struct sh_mobile_lcdc_chan_cfg { |
| 170 | int chan; | 176 | int chan; |
| 171 | int fourcc; | 177 | int fourcc; |
| @@ -186,6 +192,7 @@ struct sh_mobile_lcdc_chan_cfg { | |||
| 186 | struct sh_mobile_lcdc_info { | 192 | struct sh_mobile_lcdc_info { |
| 187 | int clock_source; | 193 | int clock_source; |
| 188 | struct sh_mobile_lcdc_chan_cfg ch[2]; | 194 | struct sh_mobile_lcdc_chan_cfg ch[2]; |
| 195 | struct sh_mobile_lcdc_overlay_cfg overlays[4]; | ||
| 189 | struct sh_mobile_meram_info *meram_dev; | 196 | struct sh_mobile_meram_info *meram_dev; |
| 190 | }; | 197 | }; |
| 191 | 198 | ||
diff --git a/include/video/sh_mobile_meram.h b/include/video/sh_mobile_meram.h index 29b2fd3b147e..062e6e7f955c 100644 --- a/include/video/sh_mobile_meram.h +++ b/include/video/sh_mobile_meram.h | |||
| @@ -15,7 +15,6 @@ enum { | |||
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | struct sh_mobile_meram_priv; | 17 | struct sh_mobile_meram_priv; |
| 18 | struct sh_mobile_meram_ops; | ||
| 19 | 18 | ||
| 20 | /* | 19 | /* |
| 21 | * struct sh_mobile_meram_info - MERAM platform data | 20 | * struct sh_mobile_meram_info - MERAM platform data |
| @@ -24,7 +23,6 @@ struct sh_mobile_meram_ops; | |||
| 24 | struct sh_mobile_meram_info { | 23 | struct sh_mobile_meram_info { |
| 25 | int addr_mode; | 24 | int addr_mode; |
