summaryrefslogtreecommitdiff
path: root/drivers/video/omap2/dss/manager.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-05-25 19:42:37 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-25 19:42:37 +0400
commit0f1493a60167cf6333626456d3fc8aff4e6fa237 (patch)
tree3b46a263bbab4fd396f01f35f0ceca7f3b063163 /drivers/video/omap2/dss/manager.c
parent023bc8e75f8cf9e4da8411154be22a4f809d3314 (diff)
parent087faf77a57b06f9a8ce37781c68e3f02468322b (diff)
downloadlinux-0f1493a60167cf6333626456d3fc8aff4e6fa237.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (126 commits) sh_mobile_meram: Safely disable MERAM operation when not initialized video: mb862xxfb: add support for L1 displaying video: mb862xx: add support for controller's I2C bus adapter video: mb862xxfb: relocate register space to get contiguous vram video: mb862xxfb: use pre-initialized configuration for PCI GDCs video: mb862xxfb: correct fix.smem_len field initialization video: s3c-fb: correct transparency checking in 32bpp video: s3c-fb: add gpio setup function to resume function fbdev/amifb: Remove superfluous alignment of frame buffer memory fbdev/amifb: Do not call panic() if there's not enough Chip RAM fbdev/amifb: Correct check for video memory size video: mb862xxfb: Require either FB_MB862XX_PCI_GDC or FB_MB862XX_LIME video: s3c-fb: add window variant information for S5P video: s3c-fb: add additional validate bpps video: s3c-fb: correct window osd size offset values udlfb: include prefetch.h explicitly drivers/video/s3c2410fb.c: Convert release_resource to release_mem_region drivers/video/sm501fb.c: Convert release_resource to release_mem_region drivers/video: Convert release_resource to release_mem_region video, udlfb: Fix two build warnings about 'ignoring return value' ...
Diffstat (limited to 'drivers/video/omap2/dss/manager.c')
-rw-r--r--drivers/video/omap2/dss/manager.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index bcd37ec86952..9aeea50e33ff 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -29,7 +29,7 @@
#include <linux/spinlock.h>
#include <linux/jiffies.h>
-#include <plat/display.h>
+#include <video/omapdss.h>
#include <plat/cpu.h>
#include "dss.h"
@@ -393,6 +393,7 @@ struct overlay_cache_data {
u32 paddr;
void __iomem *vaddr;
+ u32 p_uv_addr; /* relevant for NV12 format only */
u16 screen_width;
u16 width;
u16 height;
@@ -775,10 +776,17 @@ static int configure_overlay(enum omap_plane plane)
}
switch (c->color_mode) {
+ case OMAP_DSS_COLOR_NV12:
+ bpp = 8;
+ break;
case OMAP_DSS_COLOR_RGB16:
case OMAP_DSS_COLOR_ARGB16:
case OMAP_DSS_COLOR_YUV2:
case OMAP_DSS_COLOR_UYVY:
+ case OMAP_DSS_COLOR_RGBA16:
+ case OMAP_DSS_COLOR_RGBX16:
+ case OMAP_DSS_COLOR_ARGB16_1555:
+ case OMAP_DSS_COLOR_XRGB16_1555:
bpp = 16;
break;
@@ -854,7 +862,8 @@ static int configure_overlay(enum omap_plane plane)
c->mirror,
c->global_alpha,
c->pre_mult_alpha,
- c->channel);
+ c->channel,
+ c->p_uv_addr);
if (r) {
/* this shouldn't happen */
@@ -1269,6 +1278,7 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
oc->paddr = ovl->info.paddr;
oc->vaddr = ovl->info.vaddr;
+ oc->p_uv_addr = ovl->info.p_uv_addr;
oc->screen_width = ovl->info.screen_width;
oc->width = ovl->info.width;
oc->height = ovl->info.height;