diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-30 18:30:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-30 18:30:01 -0400 |
commit | acff987d94cbdb4049f3706bed1f1792f8ef6837 (patch) | |
tree | 36bded977aab5d80cf9aeb5467f83dd554a25d01 /drivers/video/atmel_lcdfb.c | |
parent | ce949717b559709423c1ef716a9db16d1dcadaed (diff) | |
parent | b57287ba497b63a0d87a058631bbddfed9392e9f (diff) |
Merge branch 'fbdev-next' of git://github.com/schandinat/linux-2.6
* 'fbdev-next' of git://github.com/schandinat/linux-2.6: (270 commits)
video: platinumfb: Add __devexit_p at necessary place
drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data
drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data
drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
drivers/video: fsl-diu-fb: remove unused panel operating mode support
drivers/video: fsl-diu-fb: use an enum for the AOI index
drivers/video: fsl-diu-fb: add several new video modes
drivers/video: fsl-diu-fb: remove broken screen blanking support
drivers/video: fsl-diu-fb: move some definitions out of the header file
drivers/video: fsl-diu-fb: fix some ioctls
video: da8xx-fb: Increased resolution configuration of revised LCDC IP
OMAPDSS: picodlp: add missing #include <linux/module.h>
fb: fix au1100fb bitrot.
mx3fb: fix NULL pointer dereference in screen blanking.
video: irq: Remove IRQF_DISABLED
smscufx: change edid data to u8 instead of char
OMAPDSS: DISPC: zorder support for DSS overlays
OMAPDSS: DISPC: VIDEO3 pipeline support
OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting
video/omap: fix build dependencies
...
Fix up conflicts in:
- drivers/staging/xgifb/XGI_main_26.c
Changes to XGIfb_pan_var()
- drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}
Removed (or in the case of apollon.c, merged into the generic
DSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)
Diffstat (limited to 'drivers/video/atmel_lcdfb.c')
-rw-r--r-- | drivers/video/atmel_lcdfb.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index dda920623c6a..4ac48d9ee665 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c | |||
@@ -39,7 +39,8 @@ | |||
39 | | FBINFO_HWACCEL_YPAN) | 39 | | FBINFO_HWACCEL_YPAN) |
40 | 40 | ||
41 | static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, | 41 | static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, |
42 | struct fb_var_screeninfo *var) | 42 | struct fb_var_screeninfo *var, |
43 | struct fb_info *info) | ||
43 | { | 44 | { |
44 | 45 | ||
45 | } | 46 | } |
@@ -50,14 +51,16 @@ static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, | |||
50 | | FBINFO_HWACCEL_YPAN) | 51 | | FBINFO_HWACCEL_YPAN) |
51 | 52 | ||
52 | static void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, | 53 | static void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, |
53 | struct fb_var_screeninfo *var) | 54 | struct fb_var_screeninfo *var, |
55 | struct fb_info *info) | ||
54 | { | 56 | { |
55 | u32 dma2dcfg; | 57 | u32 dma2dcfg; |
56 | u32 pixeloff; | 58 | u32 pixeloff; |
57 | 59 | ||
58 | pixeloff = (var->xoffset * var->bits_per_pixel) & 0x1f; | 60 | pixeloff = (var->xoffset * info->var.bits_per_pixel) & 0x1f; |
59 | 61 | ||
60 | dma2dcfg = ((var->xres_virtual - var->xres) * var->bits_per_pixel) / 8; | 62 | dma2dcfg = (info->var.xres_virtual - info->var.xres) |
63 | * info->var.bits_per_pixel / 8; | ||
61 | dma2dcfg |= pixeloff << ATMEL_LCDC_PIXELOFF_OFFSET; | 64 | dma2dcfg |= pixeloff << ATMEL_LCDC_PIXELOFF_OFFSET; |
62 | lcdc_writel(sinfo, ATMEL_LCDC_DMA2DCFG, dma2dcfg); | 65 | lcdc_writel(sinfo, ATMEL_LCDC_DMA2DCFG, dma2dcfg); |
63 | 66 | ||
@@ -249,14 +252,14 @@ static void atmel_lcdfb_update_dma(struct fb_info *info, | |||
249 | unsigned long dma_addr; | 252 | unsigned long dma_addr; |
250 | 253 | ||
251 | dma_addr = (fix->smem_start + var->yoffset * fix->line_length | 254 | dma_addr = (fix->smem_start + var->yoffset * fix->line_length |
252 | + var->xoffset * var->bits_per_pixel / 8); | 255 | + var->xoffset * info->var.bits_per_pixel / 8); |
253 | 256 | ||
254 | dma_addr &= ~3UL; | 257 | dma_addr &= ~3UL; |
255 | 258 | ||
256 | /* Set framebuffer DMA base address and pixel offset */ | 259 | /* Set framebuffer DMA base address and pixel offset */ |
257 | lcdc_writel(sinfo, ATMEL_LCDC_DMABADDR1, dma_addr); | 260 | lcdc_writel(sinfo, ATMEL_LCDC_DMABADDR1, dma_addr); |
258 | 261 | ||
259 | atmel_lcdfb_update_dma2d(sinfo, var); | 262 | atmel_lcdfb_update_dma2d(sinfo, var, info); |
260 | } | 263 | } |
261 | 264 | ||
262 | static inline void atmel_lcdfb_free_video_memory(struct atmel_lcdfb_info *sinfo) | 265 | static inline void atmel_lcdfb_free_video_memory(struct atmel_lcdfb_info *sinfo) |