summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Perez Olivares <x0081762@ti.com>2010-02-22 16:44:25 -0600
committerRicardo Perez Olivares <x0081762@ti.com>2010-02-22 16:44:25 -0600
commit59907e088f4deec7ef2d651d884a4608e8db110e (patch)
treee652c235cb4c2cffc9885c92253e437205f18cc3
parent5afd1c5179a4f9e6e54527d2d52c250e30dc398d (diff)
parent394f9168b509198235fe0cd019b3c1470cdd3648 (diff)
Merge tag 'L24.4-p1' of git://dev.omapzoom.org/pub/scm/axelcx/kernel-display into richo
Conflicts: drivers/media/video/omap/omap_vout.c
-rwxr-xr-xarch/arm/plat-omap/include/plat/display.h8
-rw-r--r--drivers/media/video/omap/omap_vout.c59
-rwxr-xr-xdrivers/video/omap2/dss/dispc.c4
-rwxr-xr-xdrivers/video/omap2/dss/dsi.c2
4 files changed, 40 insertions, 33 deletions
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h
index 72187378132e..70e326aae1a1 100755
--- a/arch/arm/plat-omap/include/plat/display.h
+++ b/arch/arm/plat-omap/include/plat/display.h
@@ -140,9 +140,11 @@ enum omap_color_mode {
OMAP_DSS_COLOR_XRGB12 | OMAP_DSS_COLOR_ARGB16_1555 |
OMAP_DSS_COLOR_RGBX24_32_ALGN | OMAP_DSS_COLOR_XRGB15 |
#endif
- OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_RGB16 |
- OMAP_DSS_COLOR_RGB24U | OMAP_DSS_COLOR_RGB24P |
- OMAP_DSS_COLOR_YUV2 | OMAP_DSS_COLOR_UYVY,
+ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
+ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
+ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_YUV2 |
+ OMAP_DSS_COLOR_UYVY | OMAP_DSS_COLOR_ARGB32 |
+ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32,
OMAP_DSS_COLOR_VID2_OMAP3 =
#ifdef CONFIG_ARCH_OMAP4
diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
index 9834747a1c9e..9cb880da7a83 100644
--- a/drivers/media/video/omap/omap_vout.c
+++ b/drivers/media/video/omap/omap_vout.c
@@ -583,7 +583,7 @@ static int omap_vout_tiler_buffer_setup(struct omap_vout_device *vout,
? VIDEO_MAX_FRAME - start : *count;
int bpp = omap_vout_try_format(pix);
- printk(KERN_INFO VOUT_NAME "tiler buffer alloc:\n"
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev, "tiler buffer alloc:\n"
"count - %d, start -%d :\n", *count, startindex);
/* special allocation scheme for NV12 format */
@@ -610,7 +610,9 @@ static int omap_vout_tiler_buffer_setup(struct omap_vout_device *vout,
aligned);
}
- printk(KERN_INFO VOUT_NAME "allocated %d buffers\n", n_alloc);
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev,
+ "allocated %d buffers\n", n_alloc);
+
if (n_alloc < *count) {
if (n_alloc && (startindex == -1 ||
V4L2_MEMORY_MMAP != vout->memory)) {
@@ -622,11 +624,12 @@ static int omap_vout_tiler_buffer_setup(struct omap_vout_device *vout,
}
for (i = start; i < start + n_alloc; i++) {
- printk(KERN_INFO "y=%08lx (%d) uv=%08lx (%d)\n",
- vout->buf_phy_addr[i],
- vout->buf_phy_addr_alloced[i] ? 1 : 0,
- vout->buf_phy_uv_addr[i],
- vout->buf_phy_uv_addr_alloced[i] ? 1 : 0);
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev,
+ "y=%08lx (%d) uv=%08lx (%d)\n",
+ vout->buf_phy_addr[i],
+ vout->buf_phy_addr_alloced[i] ? 1 : 0,
+ vout->buf_phy_uv_addr[i],
+ vout->buf_phy_uv_addr_alloced[i] ? 1 : 0);
}
*count = n_alloc;
@@ -1154,8 +1157,9 @@ static int omap_vout_buffer_setup(struct videobuf_queue *q, unsigned int *count,
else
*size = vout->buffer_size = (vout->pix.height * i);
- printk(KERN_INFO "\nheight=%d, size = %d, vout->buffer_sz=%d\n",
- vout->pix.height, *size, vout->buffer_size);
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev,
+ "\nheight=%d, size = %d, vout->buffer_sz=%d\n",
+ vout->pix.height, *size, vout->buffer_size);
if (omap_vout_tiler_buffer_setup(vout, count, 0, &vout->pix))
return -ENOMEM;
#endif /* TILER_ALLOCATE_V4L2 */
@@ -2073,8 +2077,7 @@ static int vidioc_reqbufs(struct file *file, void *fh,
int ret = 0;
struct videobuf_dmabuf *dmabuf = NULL;
- printk(KERN_INFO VOUT_NAME
- "entered REQbuf: \n");
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev, "entered REQbuf: \n");
if ((req->type != V4L2_BUF_TYPE_VIDEO_OUTPUT) || (req->count < 0))
return -EINVAL;
@@ -2185,7 +2188,7 @@ static int vidioc_qbuf(struct file *file, void *fh,
struct videobuf_queue *q = &vout->vbq;
int ret = 0;
- printk(KERN_INFO VOUT_NAME
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev,
"entered qbuf: buffer address: %x \n", (unsigned int) buffer);
if ((V4L2_BUF_TYPE_VIDEO_OUTPUT != buffer->type) ||
@@ -2220,7 +2223,7 @@ static int vidioc_dqbuf(struct file *file, void *fh,
struct videobuf_queue *q = &vout->vbq;
int ret = 0;
- printk(KERN_INFO VOUT_NAME
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev,
"entered DQbuf: buffer address: %x \n", (unsigned int) b);
if (!vout->streaming)
@@ -2608,7 +2611,9 @@ static int __init omap_vout_setup_video_bufs(struct platform_device *pdev,
vout->buffer_size = (vid_num == 0) ? video1_bufsize
: video2_bufsize;
}
- printk(KERN_INFO VOUT_NAME "Buffer Size = %d\n", vout->buffer_size);
+ v4l2_dbg(1, debug, &vout->vid_dev->v4l2_dev, "Buffer Size = %d\n",
+ vout->buffer_size);
+
for (i = 0; i < numbuffers; i++) {
vout->buf_virt_addr[i] =
omap_vout_alloc_buffer(vout->buffer_size,
@@ -2938,7 +2943,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
struct timeval timevalue = {0};
struct omap_vout_device *vout =
(struct omap_vout_device *) arg;
- u32 addr, uv_addr;
+ u32 addr, uv_addr, flags;
#if !(CONFIG_OMAP2_DSS_HDMI)
u32 fid;
@@ -2964,21 +2969,21 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
else if (cur_display->channel == OMAP_DSS_CHANNEL_LCD2)
irq = DISPC_IRQ_FRAMEDONE2;
#endif
- spin_lock(&vout->vbq_lock);
+ spin_lock_irqsave(&vout->vbq_lock, flags);
do_gettimeofday(&timevalue);
switch (cur_display->type) {
case OMAP_DISPLAY_TYPE_DSI:
if (!(irqstatus & irq)) {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
break;
case OMAP_DISPLAY_TYPE_DPI:
if (!(irqstatus & DISPC_IRQ_VSYNC)) {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
break;
@@ -2987,7 +2992,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
case OMAP_DISPLAY_TYPE_HDMI:
if (!(irqstatus & DISPC_IRQ_EVSYNC_EVEN)) {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
break;
@@ -2995,7 +3000,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
case OMAP_DISPLAY_TYPE_VENC:
if (vout->first_int) {
vout->first_int = 0;
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
if (irqstatus & DISPC_IRQ_EVSYNC_ODD) {
@@ -3003,7 +3008,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
} else if (irqstatus & DISPC_IRQ_EVSYNC_EVEN) {
fid = 0;
} else {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
fid = 1;
@@ -3012,12 +3017,12 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
if (0 == fid)
vout->field_id = fid;
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
if (0 == fid) {
if (vout->cur_frm == vout->next_frm) {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
vout->cur_frm->ts = timevalue;
@@ -3028,7 +3033,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
} else if (1 == fid) {
if (list_empty(&vout->dma_queue) ||
(vout->cur_frm != vout->next_frm)) {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
goto venc;
@@ -3036,7 +3041,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
#endif
default:
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
@@ -3049,7 +3054,7 @@ void omap_vout_isr(void *arg, unsigned int irqstatus)
vout->first_int = 0;
if (list_empty(&vout->dma_queue)) {
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
return;
}
@@ -3084,7 +3089,7 @@ venc:
end:
#endif
- spin_unlock(&vout->vbq_lock);
+ spin_unlock_irqrestore(&vout->vbq_lock, flags);
}
static void omap_vout_cleanup_device(struct omap_vout_device *vout)
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 1beff6434935..a9a982167a5a 100755
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -1964,7 +1964,7 @@ static void calc_tiler_row_rotation(u8 rotation,
return;
}
- printk(KERN_INFO
+ DSSDBG(
" colormode: %d, rotation: %d, ps: %d, width: %d,"
" height: %d, row_inc:%d\n",
color_mode, rotation, ps, width, height, *row_inc);
@@ -2494,7 +2494,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
puv_addr = tiler_reorient_topleft(
tiler_get_natural_addr(puv_addr),
orient, tiler_width/2, tiler_height/2);
- printk(KERN_INFO
+ DSSDBG(
"rotated addresses: 0x%0x, 0x%0x\n",
paddr, puv_addr);
/* set BURSTTYPE if rotation is non-zero */
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index ee65382b8bec..1e1e9e92ff20 100755
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -3695,7 +3695,7 @@ static int dsi_configure_dsi_clocks(struct omap_dss_device *dssdev)
if (cpu_is_omap44xx()) {/*TODO: shouldn't be needed once we have corrected dsi_configure_dsi_clocks ? */
cinfo.regn = 19;
- cinfo.regm = 102;
+ cinfo.regm = 150;
cinfo.regm3 = 4;
cinfo.regm4 = 4;
cinfo.use_dss2_fck = true;