diff options
author | Ricardo Perez Olivares <x0081762@ti.com> | 2010-02-22 16:44:25 -0600 |
---|---|---|
committer | Ricardo Perez Olivares <x0081762@ti.com> | 2010-02-22 16:44:25 -0600 |
commit | 59907e088f4deec7ef2d651d884a4608e8db110e (patch) | |
tree | e652c235cb4c2cffc9885c92253e437205f18cc3 | |
parent | 5afd1c5179a4f9e6e54527d2d52c250e30dc398d (diff) | |
parent | 394f9168b509198235fe0cd019b3c1470cdd3648 (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-x | arch/arm/plat-omap/include/plat/display.h | 8 | ||||
-rw-r--r-- | drivers/media/video/omap/omap_vout.c | 59 | ||||
-rwxr-xr-x | drivers/video/omap2/dss/dispc.c | 4 | ||||
-rwxr-xr-x | drivers/video/omap2/dss/dsi.c | 2 |
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; |