[git:media_tree/master] [media] exynos4-is: Ensure fimc-is clocks are not enabled until properly configured
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Ensure fimc-is clocks are not enabled until properly configured Author: Sylwester Nawrocki s.nawro...@samsung.com Date:Fri May 31 08:40:36 2013 -0300 Use clk_prepare_enable/clk_unprepare_disable instead of preparing the clocks during the driver initalization and then using just clk_disable/ clk_enable. The clock framework doesn't guarantee a clock will not get enabled during e.g. clk_set_parent if clk_prepare has been called on it. So we ensure clk_prepare() is called only when it is safe to enable the clocks, i.e. the parent clocks and the clocks' frequencies are set. It must be ensured the FIMC-IS clocks have proper frequencies before they are enabled, otherwise the whole system will hang. Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Kyunmin Park kyungmin.p...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/exynos4-is/fimc-is.c | 13 +++-- 1 files changed, 3 insertions(+), 10 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=b4155d7d5b2c4e82238d629c451f7c27c9f37d9c diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index 1adf6df..89f28fe 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -71,7 +71,6 @@ static void fimc_is_put_clocks(struct fimc_is *is) for (i = 0; i ISS_CLKS_MAX; i++) { if (IS_ERR(is-clocks[i])) continue; - clk_unprepare(is-clocks[i]); clk_put(is-clocks[i]); is-clocks[i] = ERR_PTR(-EINVAL); } @@ -90,12 +89,6 @@ static int fimc_is_get_clocks(struct fimc_is *is) ret = PTR_ERR(is-clocks[i]); goto err; } - ret = clk_prepare(is-clocks[i]); - if (ret 0) { - clk_put(is-clocks[i]); - is-clocks[i] = ERR_PTR(-EINVAL); - goto err; - } } return 0; @@ -103,7 +96,7 @@ err: fimc_is_put_clocks(is); dev_err(is-pdev-dev, failed to get clock: %s\n, fimc_is_clocks[i]); - return -ENXIO; + return ret; } static int fimc_is_setup_clocks(struct fimc_is *is) @@ -144,7 +137,7 @@ int fimc_is_enable_clocks(struct fimc_is *is) for (i = 0; i ISS_GATE_CLKS_MAX; i++) { if (IS_ERR(is-clocks[i])) continue; - ret = clk_enable(is-clocks[i]); + ret = clk_prepare_enable(is-clocks[i]); if (ret 0) { dev_err(is-pdev-dev, clock %s enable failed\n, fimc_is_clocks[i]); @@ -163,7 +156,7 @@ void fimc_is_disable_clocks(struct fimc_is *is) for (i = 0; i ISS_GATE_CLKS_MAX; i++) { if (!IS_ERR(is-clocks[i])) { - clk_disable(is-clocks[i]); + clk_disable_unprepare(is-clocks[i]); pr_debug(disabled clock: %s\n, fimc_is_clocks[i]); } } ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] sh_veu: invoke v4l2_m2m_job_finish() even if a job has been aborted
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] sh_veu: invoke v4l2_m2m_job_finish() even if a job has been aborted Author: Katsuya Matsubara ma...@igel.co.jp Date:Tue Apr 23 07:51:35 2013 -0300 v4l2_m2m_job_finish() should be invoked even if the current ongoing job has been aborted since v4l2_m2m_ctx_release() which has issued the job abort may wait until the finish function is invoked. Signed-off-by: Katsuya Matsubara ma...@igel.co.jp Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/sh_veu.c |5 + 1 files changed, 1 insertions(+), 4 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=9166e1aae3c90720fc389815909cb0bb815d9bca diff --git a/drivers/media/platform/sh_veu.c b/drivers/media/platform/sh_veu.c index 0b32cc3..6fecf9f 100644 --- a/drivers/media/platform/sh_veu.c +++ b/drivers/media/platform/sh_veu.c @@ -1138,10 +1138,7 @@ static irqreturn_t sh_veu_isr(int irq, void *dev_id) veu-xaction++; - if (!veu-aborting) - return IRQ_WAKE_THREAD; - - return IRQ_HANDLED; + return IRQ_WAKE_THREAD; } static int sh_veu_probe(struct platform_device *pdev) ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5p-mfc: separate encoder parameters for h264 and mpeg4
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: separate encoder parameters for h264 and mpeg4 Author: Andrzej Hajda a.ha...@samsung.com Date:Tue May 28 03:26:14 2013 -0300 This patch fixes a bug which caused overwriting h264 codec parameters by mpeg4 parameters during V4L2 control setting. Signed-off-by: Andrzej Hajda a.ha...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc_common.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=ac5f867fbfbd1ff5a43e796ed470deff42b630d2 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h index 4e81ab8..ef4074c 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h @@ -438,7 +438,7 @@ struct s5p_mfc_enc_params { u32 rc_framerate_num; u32 rc_framerate_denom; - union { + struct { struct s5p_mfc_h264_enc_params h264; struct s5p_mfc_mpeg4_enc_params mpeg4; } codec; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] sh_veu: keep power supply until the m2m context is released
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] sh_veu: keep power supply until the m2m context is released Author: Katsuya Matsubara ma...@igel.co.jp Date:Tue Apr 23 07:51:36 2013 -0300 In the sh_veu driver, only the interrupt handler 'sh_veu_bh' can invoke the v4l2_m2m_job_finish() function. So the hardware must be alive for handling interrupts until returning from v4l2_m2m_ctx_release(). Signed-off-by: Katsuya Matsubara ma...@igel.co.jp Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/sh_veu.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=6abb3cf2c34554590791b7486e0e32b291feacc4 diff --git a/drivers/media/platform/sh_veu.c b/drivers/media/platform/sh_veu.c index 6fecf9f..ebf90bf 100644 --- a/drivers/media/platform/sh_veu.c +++ b/drivers/media/platform/sh_veu.c @@ -1033,8 +1033,6 @@ static int sh_veu_release(struct file *file) dev_dbg(veu-dev, Releasing instance %p\n, veu_file); - pm_runtime_put(veu-dev); - if (veu_file == veu-capture) { veu-capture = NULL; vb2_queue_release(v4l2_m2m_get_vq(veu-m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE)); @@ -1050,6 +1048,8 @@ static int sh_veu_release(struct file *file) veu-m2m_ctx = NULL; } + pm_runtime_put(veu-dev); + kfree(veu_file); return 0; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] DocBook/media/v4l: update version number
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] DocBook/media/v4l: update version number Author: Hans Verkuil hans.verk...@cisco.com Date:Wed May 29 05:03:32 2013 -0300 The version number was still 3.9: update to 3.10. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com Documentation/DocBook/media/v4l/v4l2.xml |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=dfd50fc9030a62521838eecbe488e1962edcba80 diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml index bfc93cd..bfe823d 100644 --- a/Documentation/DocBook/media/v4l/v4l2.xml +++ b/Documentation/DocBook/media/v4l/v4l2.xml @@ -493,7 +493,7 @@ and discussions on the V4L mailing list./revremark /partinfo titleVideo for Linux Two API Specification/title - subtitleRevision 3.9/subtitle + subtitleRevision 3.10/subtitle chapter id=common sub-common; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] v4l2-ioctl: don't print the clips list
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] v4l2-ioctl: don't print the clips list Author: Hans Verkuil hans.verk...@cisco.com Date:Mon Jun 3 04:35:22 2013 -0300 The clips pointer is a userspace pointer, not a kernelspace pointer, so you can't dereference the clips pointer. Also add a few missing commas and newlines. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/v4l2-core/v4l2-ioctl.c | 47 +++-- 1 files changed, 21 insertions(+), 26 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=560dde24adfdc9dbcd141c75faecc5e0402fe531 diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index f81bda1..7658586 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -243,7 +243,6 @@ static void v4l_print_format(const void *arg, bool write_only) const struct v4l2_vbi_format *vbi; const struct v4l2_sliced_vbi_format *sliced; const struct v4l2_window *win; - const struct v4l2_clip *clip; unsigned i; pr_cont(type=%s, prt_names(p-type, v4l2_type_names)); @@ -253,7 +252,7 @@ static void v4l_print_format(const void *arg, bool write_only) pix = p-fmt.pix; pr_cont(, width=%u, height=%u, pixelformat=%c%c%c%c, field=%s, - bytesperline=%u sizeimage=%u, colorspace=%d\n, + bytesperline=%u, sizeimage=%u, colorspace=%d\n, pix-width, pix-height, (pix-pixelformat 0xff), (pix-pixelformat 8) 0xff, @@ -284,20 +283,14 @@ static void v4l_print_format(const void *arg, bool write_only) case V4L2_BUF_TYPE_VIDEO_OVERLAY: case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: win = p-fmt.win; - pr_cont(, wxh=%dx%d, x,y=%d,%d, field=%s, - chromakey=0x%08x, bitmap=%p, - global_alpha=0x%02x\n, - win-w.width, win-w.height, - win-w.left, win-w.top, + /* Note: we can't print the clip list here since the clips +* pointer is a userspace pointer, not a kernelspace +* pointer. */ + pr_cont(, wxh=%dx%d, x,y=%d,%d, field=%s, chromakey=0x%08x, clipcount=%u, clips=%p, bitmap=%p, global_alpha=0x%02x\n, + win-w.width, win-w.height, win-w.left, win-w.top, prt_names(win-field, v4l2_field_names), - win-chromakey, win-bitmap, win-global_alpha); - clip = win-clips; - for (i = 0; i win-clipcount; i++) { - printk(KERN_DEBUG clip %u: wxh=%dx%d, x,y=%d,%d\n, - i, clip-c.width, clip-c.height, - clip-c.left, clip-c.top); - clip = clip-next; - } + win-chromakey, win-clipcount, win-clips, + win-bitmap, win-global_alpha); break; case V4L2_BUF_TYPE_VBI_CAPTURE: case V4L2_BUF_TYPE_VBI_OUTPUT: @@ -332,7 +325,7 @@ static void v4l_print_framebuffer(const void *arg, bool write_only) pr_cont(capability=0x%x, flags=0x%x, base=0x%p, width=%u, height=%u, pixelformat=%c%c%c%c, - bytesperline=%u sizeimage=%u, colorspace=%d\n, + bytesperline=%u, sizeimage=%u, colorspace=%d\n, p-capability, p-flags, p-base, p-fmt.width, p-fmt.height, (p-fmt.pixelformat 0xff), @@ -353,7 +346,7 @@ static void v4l_print_modulator(const void *arg, bool write_only) const struct v4l2_modulator *p = arg; if (write_only) - pr_cont(index=%u, txsubchans=0x%x, p-index, p-txsubchans); + pr_cont(index=%u, txsubchans=0x%x\n, p-index, p-txsubchans); else pr_cont(index=%u, name=%.*s, capability=0x%x, rangelow=%u, rangehigh=%u, txsubchans=0x%x\n, @@ -445,13 +438,13 @@ static void v4l_print_buffer(const void *arg, bool write_only) for (i = 0; i p-length; ++i) { plane = p-m.planes[i]; printk(KERN_DEBUG - plane %d: bytesused=%d, data_offset=0x%08x + plane %d: bytesused=%d, data_offset=0x%08x, offset/userptr=0x%lx, length=%d\n, i, plane-bytesused, plane-data_offset, plane-m.userptr, plane-length); } } else { -
[git:media_tree/master] [media] s5p-mfc: v4l2 controls setup routine moved to initialization code
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: v4l2 controls setup routine moved to initialization code Author: Andrzej Hajda a.ha...@samsung.com Date:Tue May 28 03:26:15 2013 -0300 Callback .start_streaming is called once for every queue, so v4l2_ctrl_handler_setup was called twice during stream start. Moving v4l2_ctrl_handler_setup to context initialization reduces numbers of calls and seems to be more consistent with API. Signed-off-by: Andrzej Hajda a.ha...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc_enc.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=69c9fe6f4afae54cad12635bdb8e90e7d832e240 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c index 5e019aa..5d97a98 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c @@ -1789,7 +1789,6 @@ static int s5p_mfc_start_streaming(struct vb2_queue *q, unsigned int count) } } - v4l2_ctrl_handler_setup(ctx-ctrl_handler); /* If context is ready then dev = work-data;schedule it to run */ if (s5p_mfc_ctx_ready(ctx)) set_work_bit_irqsave(ctx); @@ -1950,6 +1949,7 @@ int s5p_mfc_enc_ctrls_setup(struct s5p_mfc_ctx *ctx) if (controls[i].is_volatile ctx-ctrls[i]) ctx-ctrls[i]-flags |= V4L2_CTRL_FLAG_VOLATILE; } + v4l2_ctrl_handler_setup(ctx-ctrl_handler); return 0; } ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] sh_veu: fix the buffer size calculation
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] sh_veu: fix the buffer size calculation Author: Katsuya Matsubara ma...@igel.co.jp Date:Tue Apr 23 07:51:37 2013 -0300 The 'bytesperline' value only indicates the stride of the Y plane if the color format is planar, such as NV12. When calculating the total plane size, the size of CbCr plane must also be considered. Signed-off-by: Katsuya Matsubara ma...@igel.co.jp Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/sh_veu.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=697a6d2387692c7f9c94f3bfb3dac474aa840f02 diff --git a/drivers/media/platform/sh_veu.c b/drivers/media/platform/sh_veu.c index ebf90bf..59a9dee 100644 --- a/drivers/media/platform/sh_veu.c +++ b/drivers/media/platform/sh_veu.c @@ -905,11 +905,11 @@ static int sh_veu_queue_setup(struct vb2_queue *vq, if (ftmp.fmt.pix.width != pix-width || ftmp.fmt.pix.height != pix-height) return -EINVAL; - size = pix-bytesperline ? pix-bytesperline * pix-height : - pix-width * pix-height * fmt-depth 3; + size = pix-bytesperline ? pix-bytesperline * pix-height * fmt-depth / fmt-ydepth : + pix-width * pix-height * fmt-depth / fmt-ydepth; } else { vfmt = sh_veu_get_vfmt(veu, vq-type); - size = vfmt-bytesperline * vfmt-frame.height; + size = vfmt-bytesperline * vfmt-frame.height * vfmt-fmt-depth / vfmt-fmt-ydepth; } if (count 2) ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] exynos4-is: Fix reported colorspace at FIMC-IS-ISP subdev
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Fix reported colorspace at FIMC-IS-ISP subdev Author: Sylwester Nawrocki s.nawro...@samsung.com Date:Fri May 31 08:40:37 2013 -0300 The FIMC-IS-ISP handles only Bayer formats thus V4L2_COLORSPACE_SRGB should be used. This change applies to the code first added in v3.10. Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/exynos4-is/fimc-isp.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=ac2a4a86643aa74236508f0a8c0e34b0622b0b46 diff --git a/drivers/media/platform/exynos4-is/fimc-isp.c b/drivers/media/platform/exynos4-is/fimc-isp.c index d63947f..7ede30b 100644 --- a/drivers/media/platform/exynos4-is/fimc-isp.c +++ b/drivers/media/platform/exynos4-is/fimc-isp.c @@ -138,7 +138,7 @@ static int fimc_isp_subdev_get_fmt(struct v4l2_subdev *sd, return 0; } - mf-colorspace = V4L2_COLORSPACE_JPEG; + mf-colorspace = V4L2_COLORSPACE_SRGB; mutex_lock(isp-subdev_lock); __is_get_frame_size(is, cur_fmt); @@ -194,7 +194,7 @@ static int fimc_isp_subdev_set_fmt(struct v4l2_subdev *sd, v4l2_dbg(1, debug, sd, %s: pad%d: code: 0x%x, %dx%d\n, __func__, fmt-pad, mf-code, mf-width, mf-height); - mf-colorspace = V4L2_COLORSPACE_JPEG; + mf-colorspace = V4L2_COLORSPACE_SRGB; mutex_lock(isp-subdev_lock); __isp_subdev_try_format(isp, fmt); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] exynos4-is: Remove sysreg clock handling
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Remove sysreg clock handling Author: Sylwester Nawrocki s.nawro...@samsung.com Date:Fri May 10 12:46:35 2013 -0300 The sysreg clock is required by multiple subsystems and none of the other drivers handles this clock explicitly. It is currently assumed that this clock is always on, left in its default state after system reset. Remove handling of this clock from the FIMC-IS driver to avoid breaking other subsystems. Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/exynos4-is/fimc-is.c |1 - drivers/media/platform/exynos4-is/fimc-is.h |1 - 2 files changed, 0 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=6301b13213d55e51b7255b1098618ba99d2945cd diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index 89f28fe..520e439 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -48,7 +48,6 @@ static char *fimc_is_clocks[ISS_CLKS_MAX] = { [ISS_CLK_LITE0] = lite0, [ISS_CLK_LITE1] = lite1, [ISS_CLK_MPLL] = mpll, - [ISS_CLK_SYSREG]= sysreg, [ISS_CLK_ISP] = isp, [ISS_CLK_DRC] = drc, [ISS_CLK_FD]= fd, diff --git a/drivers/media/platform/exynos4-is/fimc-is.h b/drivers/media/platform/exynos4-is/fimc-is.h index f5275a5..606a7c9 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.h +++ b/drivers/media/platform/exynos4-is/fimc-is.h @@ -73,7 +73,6 @@ enum { ISS_CLK_LITE0, ISS_CLK_LITE1, ISS_CLK_MPLL, - ISS_CLK_SYSREG, ISS_CLK_ISP, ISS_CLK_DRC, ISS_CLK_FD, ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] cx88: fix NULL pointer dereference
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] cx88: fix NULL pointer dereference Author: Hans Verkuil hverk...@xs4all.nl Date:Wed May 29 10:44:22 2013 -0300 This fixes a NULL pointer deference when loading the cx88_dvb module for a Hauppauge HVR4000. The bugzilla bug report is here: https://bugzilla.kernel.org/show_bug.cgi?id=56271 The cause is that the wm8775 is optional, so even though the board info says there is one, it doesn't have to be there. Checking whether the module was actually loaded is much safer. Note that this driver is quite buggy when it comes to unloading and reloading modules. Unloading cx8800 and reloading it again will still cause a crash, most likely because either the i2c bus isn't unloaded at the right time and/or the v4l2_device_unregister isn't called at the right time. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Reported-by: Sebastian Frei sebast...@familie-frei.net Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/pci/cx88/cx88-alsa.c |7 +++ drivers/media/pci/cx88/cx88-video.c |8 +++- 2 files changed, 6 insertions(+), 9 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=609c4c12af79b1ba5fd2d31727a95dd3a319c0ae diff --git a/drivers/media/pci/cx88/cx88-alsa.c b/drivers/media/pci/cx88/cx88-alsa.c index 27d6262..aba5b1c 100644 --- a/drivers/media/pci/cx88/cx88-alsa.c +++ b/drivers/media/pci/cx88/cx88-alsa.c @@ -615,7 +615,7 @@ static int snd_cx88_volume_put(struct snd_kcontrol *kcontrol, int changed = 0; u32 old; - if (core-board.audio_chip == V4L2_IDENT_WM8775) + if (core-sd_wm8775) snd_cx88_wm8775_volume_put(kcontrol, value); left = value-value.integer.value[0] 0x3f; @@ -682,8 +682,7 @@ static int snd_cx88_switch_put(struct snd_kcontrol *kcontrol, vol ^= bit; cx_swrite(SHADOW_AUD_VOL_CTL, AUD_VOL_CTL, vol); /* Pass mute onto any WM8775 */ - if ((core-board.audio_chip == V4L2_IDENT_WM8775) - ((16) == bit)) + if (core-sd_wm8775 ((16) == bit)) wm8775_s_ctrl(core, V4L2_CID_AUDIO_MUTE, 0 != (vol bit)); ret = 1; } @@ -903,7 +902,7 @@ static int cx88_audio_initdev(struct pci_dev *pci, goto error; /* If there's a wm8775 then add a Line-In ALC switch */ - if (core-board.audio_chip == V4L2_IDENT_WM8775) + if (core-sd_wm8775) snd_ctl_add(card, snd_ctl_new1(snd_cx88_alc_switch, chip)); strcpy (card-driver, CX88x); diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/cx88-video.c index 1b00615..c7a9be1 100644 --- a/drivers/media/pci/cx88/cx88-video.c +++ b/drivers/media/pci/cx88/cx88-video.c @@ -385,8 +385,7 @@ int cx88_video_mux(struct cx88_core *core, unsigned int input) /* The wm8775 module has the 2 route hardwired into the initialization. Some boards may use different routes for different inputs. HVR-1300 surely does */ - if (core-board.audio_chip - core-board.audio_chip == V4L2_IDENT_WM8775) { + if (core-sd_wm8775) { call_all(core, audio, s_routing, INPUT(input).audioroute, 0, 0); } @@ -771,8 +770,7 @@ static int video_open(struct file *file) cx_write(MO_GP1_IO, core-board.radio.gpio1); cx_write(MO_GP2_IO, core-board.radio.gpio2); if (core-board.radio.audioroute) { - if(core-board.audio_chip - core-board.audio_chip == V4L2_IDENT_WM8775) { + if (core-sd_wm8775) { call_all(core, audio, s_routing, core-board.radio.audioroute, 0, 0); } @@ -959,7 +957,7 @@ static int cx8800_s_aud_ctrl(struct v4l2_ctrl *ctrl) u32 value,mask; /* Pass changes onto any WM8775 */ - if (core-board.audio_chip == V4L2_IDENT_WM8775) { + if (core-sd_wm8775) { switch (ctrl-id) { case V4L2_CID_AUDIO_MUTE: wm8775_s_ctrl(core, ctrl-id, ctrl-val); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] Merge branch 'linus' into patchwork
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: Merge branch 'linus' into patchwork Author: Mauro Carvalho Chehab mche...@redhat.com Date:Thu Jun 20 05:19:09 2013 -0300 * linus: (1465 commits) ARM: tegra30: clocks: Fix pciex clock registration lseek(fd, n, SEEK_END) does *not* go to eof - n Linux 3.10-rc6 smp.h: Use local_irq_{save,restore}() in !SMP version of on_each_cpu(). powerpc: Fix missing/delayed calls to irq_work powerpc: Fix emulation of illegal instructions on PowerNV platform powerpc: Fix stack overflow crash in resume_kernel when ftracing snd_pcm_link(): fix a leak... use can_lookup() instead of direct checks of -i_op-lookup move exit_task_namespaces() outside of exit_notify() fput: task_work_add() can fail if the caller has passed exit_task_work() xfs: don't shutdown log recovery on validation errors xfs: ensure btree root split sets blkno correctly xfs: fix implicit padding in directory and attr CRC formats xfs: don't emit v5 superblock warnings on write mei: me: clear interrupts on the resume path mei: nfc: fix nfc device freeing mei: init: Flush scheduled work before resetting the device sctp: fully initialize sctp_outq in sctp_outq_init netiucv: Hold rtnl between name allocation and device registration. ... --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=37c1d2e4098e48d9107858246027510efcfd7774 diff --cc drivers/media/platform/coda.c index c4566c4,9d1481a..df4ada88 --- a/drivers/media/platform/coda.c +++ b/drivers/media/platform/coda.c @@@ -650,8 -617,8 +658,9 @@@ static const struct v4l2_ioctl_ops coda .vidioc_querybuf= vidioc_querybuf, .vidioc_qbuf= vidioc_qbuf, + .vidioc_expbuf = vidioc_expbuf, .vidioc_dqbuf = vidioc_dqbuf, + .vidioc_create_bufs = vidioc_create_bufs, .vidioc_streamon= vidioc_streamon, .vidioc_streamoff = vidioc_streamoff, diff --cc drivers/media/platform/exynos4-is/fimc-isp.c index e6b0a4b,7ede30b..ecb82a9 --- a/drivers/media/platform/exynos4-is/fimc-isp.c +++ b/drivers/media/platform/exynos4-is/fimc-isp.c @@@ -191,10 -191,10 +191,10 @@@ static int fimc_isp_subdev_set_fmt(stru struct v4l2_mbus_framefmt *mf = fmt-format; int ret = 0; - v4l2_dbg(1, debug, sd, %s: pad%d: code: 0x%x, %dx%d\n, + isp_dbg(1, sd, %s: pad%d: code: 0x%x, %dx%d\n, __func__, fmt-pad, mf-code, mf-width, mf-height); - mf-colorspace = V4L2_COLORSPACE_JPEG; + mf-colorspace = V4L2_COLORSPACE_SRGB; mutex_lock(isp-subdev_lock); __isp_subdev_try_format(isp, fmt); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5p-mfc: added missing end-of-lines in debug messages
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: added missing end-of-lines in debug messages Author: Andrzej Hajda a.ha...@samsung.com Date:Tue May 28 03:26:16 2013 -0300 Many debug messages missed end-of-line. Signed-off-by: Andrzej Hajda a.ha...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc.c|2 +- drivers/media/platform/s5p-mfc/s5p_mfc_debug.h |4 ++-- drivers/media/platform/s5p-mfc/s5p_mfc_enc.c| 16 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c |4 ++-- drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c | 16 drivers/media/platform/s5p-mfc/s5p_mfc_pm.c |4 ++-- 6 files changed, 23 insertions(+), 23 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=4130eabc55f4d4d1510d2e1c556fe3e0237c5ba5 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index 78280eb..d12faa6 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@ -562,7 +562,7 @@ static void s5p_mfc_handle_stream_complete(struct s5p_mfc_ctx *ctx, struct s5p_mfc_dev *dev = ctx-dev; struct s5p_mfc_buf *mb_entry; - mfc_debug(2, Stream completed); + mfc_debug(2, Stream completed\n); s5p_mfc_clear_int_flags(dev); ctx-int_type = reason; diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_debug.h b/drivers/media/platform/s5p-mfc/s5p_mfc_debug.h index bd5cd4a..8e608f5 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_debug.h +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_debug.h @@ -30,8 +30,8 @@ extern int debug; #define mfc_debug(level, fmt, args...) #endif -#define mfc_debug_enter() mfc_debug(5, enter) -#define mfc_debug_leave() mfc_debug(5, leave) +#define mfc_debug_enter() mfc_debug(5, enter\n) +#define mfc_debug_leave() mfc_debug(5, leave\n) #define mfc_err(fmt, args...) \ do {\ diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c index 5d97a98..2549967 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c @@ -719,9 +719,9 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx) slice_type = s5p_mfc_hw_call(dev-mfc_ops, get_enc_slice_type, dev); strm_size = s5p_mfc_hw_call(dev-mfc_ops, get_enc_strm_size, dev); - mfc_debug(2, Encoded slice type: %d, slice_type); - mfc_debug(2, Encoded stream size: %d, strm_size); - mfc_debug(2, Display order: %d, + mfc_debug(2, Encoded slice type: %d\n, slice_type); + mfc_debug(2, Encoded stream size: %d\n, strm_size); + mfc_debug(2, Display order: %d\n, mfc_read(dev, S5P_FIMV_ENC_SI_PIC_CNT)); spin_lock_irqsave(dev-irqlock, flags); if (slice_type = 0) { @@ -1546,14 +1546,14 @@ int vidioc_encoder_cmd(struct file *file, void *priv, spin_lock_irqsave(dev-irqlock, flags); if (list_empty(ctx-src_queue)) { - mfc_debug(2, EOS: empty src queue, entering finishing state); + mfc_debug(2, EOS: empty src queue, entering finishing state\n); ctx-state = MFCINST_FINISHING; if (s5p_mfc_ctx_ready(ctx)) set_work_bit_irqsave(ctx); spin_unlock_irqrestore(dev-irqlock, flags); s5p_mfc_hw_call(dev-mfc_ops, try_run, dev); } else { - mfc_debug(2, EOS: marking last buffer of stream); + mfc_debug(2, EOS: marking last buffer of stream\n); buf = list_entry(ctx-src_queue.prev, struct s5p_mfc_buf, list); if (buf-flags MFC_BUF_FLAG_USED) @@ -1622,9 +1622,9 @@ static int check_vb_with_fmt(struct s5p_mfc_fmt *fmt, struct vb2_buffer *vb) mfc_err(failed to get plane cookie\n); return -EINVAL; } - mfc_debug(2, index: %d, plane[%d] cookie: 0x%08zx, - vb-v4l2_buf.index, i, - vb2_dma_contig_plane_dma_addr(vb, i)); + mfc_debug(2, index: %d, plane[%d] cookie: 0x%08zx\n, + vb-v4l2_buf.index, i, + vb2_dma_contig_plane_dma_addr(vb, i)); } return 0; } diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c b/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c index 0af05a2..368582b
[git:media_tree/master] [media] soc_camera: error dev remove and v4l2 call
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] soc_camera: error dev remove and v4l2 call Author: Wenbing Wang wan...@marvell.com Date:Wed Jun 5 06:37:14 2013 -0300 in soc_camera_close(), if ici-ops-remove() removes device firstly, and then call __soc_camera_power_off(), it has logic error. Since if remove device, it should disable subdev clk. but in __soc_camera_ power_off(), it will callback v4l2 s_power function which will read/write subdev registers to control power by i2c. and then i2c read/write will fail because of clk disable. So suggest to re-sequence two functions call. Change-Id: Iee7a6d4fc7c7c1addb5d342621eb8dcd00fa2745 Signed-off-by: Wenbing Wang wan...@marvell.com Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/soc_camera/soc_camera.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=af44ad5edd1eb6ca92ed5be48e0004e1f04bf219 diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c index eea832c..3a4efbd 100644 --- a/drivers/media/platform/soc_camera/soc_camera.c +++ b/drivers/media/platform/soc_camera/soc_camera.c @@ -643,9 +643,9 @@ static int soc_camera_close(struct file *file) if (ici-ops-init_videobuf2) vb2_queue_release(icd-vb2_vidq); - ici-ops-remove(icd); - __soc_camera_power_off(icd); + + ici-ops-remove(icd); } if (icd-streamer == file) ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] v4l2-ctrls: V4L2_CTRL_CLASS_FM_RX controls are also valid radio controls
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] v4l2-ctrls: V4L2_CTRL_CLASS_FM_RX controls are also valid radio controls Author: Hans Verkuil hans.verk...@cisco.com Date:Sun Jun 2 07:55:59 2013 -0300 The radio filter function that filters controls that are valid for a radio device should also accept V4L2_CTRL_CLASS_FM_RX controls. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/v4l2-core/v4l2-ctrls.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=3963d4fb869de1144aebe6eef074995f086961c4 diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c index ebb8e48..fccd08b 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls.c +++ b/drivers/media/v4l2-core/v4l2-ctrls.c @@ -1835,6 +1835,8 @@ bool v4l2_ctrl_radio_filter(const struct v4l2_ctrl *ctrl) { if (V4L2_CTRL_ID2CLASS(ctrl-id) == V4L2_CTRL_CLASS_FM_TX) return true; + if (V4L2_CTRL_ID2CLASS(ctrl-id) == V4L2_CTRL_CLASS_FM_RX) + return true; switch (ctrl-id) { case V4L2_CID_AUDIO_MUTE: case V4L2_CID_AUDIO_VOLUME: ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] exynos4-is: Fix off-by-one valid range checking for is-config_index
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Fix off-by-one valid range checking for is-config_index Author: Axel Lin axel@ingics.com Date:Tue Apr 30 10:18:23 2013 -0300 Current code uses is-config_index as array subscript, thus the valid value range is 0 ... ARRAY_SIZE(cmd) - 1. Signed-off-by: Axel Lin axel@ingics.com Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/exynos4-is/fimc-is-regs.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=7accedd2fa059961629fd47212dd7096370c64fb diff --git a/drivers/media/platform/exynos4-is/fimc-is-regs.c b/drivers/media/platform/exynos4-is/fimc-is-regs.c index b0ff67b..d05eaa2 100644 --- a/drivers/media/platform/exynos4-is/fimc-is-regs.c +++ b/drivers/media/platform/exynos4-is/fimc-is-regs.c @@ -174,7 +174,7 @@ int fimc_is_hw_change_mode(struct fimc_is *is) HIC_CAPTURE_STILL, HIC_CAPTURE_VIDEO, }; - if (WARN_ON(is-config_index ARRAY_SIZE(cmd))) + if (WARN_ON(is-config_index = ARRAY_SIZE(cmd))) return -EINVAL; mcuctl_write(cmd[is-config_index], is, MCUCTL_REG_ISSR(0)); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] exynos4-is: Correct fimc-lite compatible property description
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Correct fimc-lite compatible property description Author: Sylwester Nawrocki s.nawro...@samsung.com Date:Thu May 9 08:43:34 2013 -0300 Ensure the compatible property for FIMC-LITE IP blocks is properly documented, a cutpaste error fix. Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com .../devicetree/bindings/media/exynos-fimc-lite.txt |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=c79b069d72f54ff0589e7615160420553aa4f04e diff --git a/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt b/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt index 3f62adf..de9f6b7 100644 --- a/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt +++ b/Documentation/devicetree/bindings/media/exynos-fimc-lite.txt @@ -2,7 +2,7 @@ Exynos4x12/Exynos5 SoC series camera host interface (FIMC-LITE) Required properties: -- compatible : should be samsung,exynos4212-fimc for Exynos4212 and +- compatible : should be samsung,exynos4212-fimc-lite for Exynos4212 and Exynos4412 SoCs; - reg : physical base address and size of the device memory mapped registers; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] staging/solo6x10: select the desired font
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] staging/solo6x10: select the desired font Author: Xiong Zhou jencce.ker...@gmail.com Date:Fri May 17 07:24:05 2013 -0300 Make sure FONT_8x16 can be found by find_font(). Signed-off-by: Xiong Zhou jencce.ker...@gmail.com Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/staging/media/solo6x10/Kconfig |1 + 1 files changed, 1 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=6719a4974600fdaa4a3ac2ea2aed819a35d06605 diff --git a/drivers/staging/media/solo6x10/Kconfig b/drivers/staging/media/solo6x10/Kconfig index ec32776..0bc743b 100644 --- a/drivers/staging/media/solo6x10/Kconfig +++ b/drivers/staging/media/solo6x10/Kconfig @@ -4,6 +4,7 @@ config SOLO6X10 select VIDEOBUF2_DMA_SG select VIDEOBUF2_DMA_CONTIG select SND_PCM + select FONT_8x16 ---help--- This driver supports the Softlogic based MPEG-4 and h.264 codec cards. ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] exynos4-is: Fix potential null pointer dereference in mipi-csis.c
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Fix potential null pointer dereference in mipi-csis.c Author: Sachin Kamat sachin.ka...@linaro.org Date:Fri Apr 26 04:52:57 2013 -0300 When 'node' is NULL, the print statement tries to dereference it. Hence replace the variable with the one that is accessible. Signed-off-by: Sachin Kamat sachin.ka...@linaro.org Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/exynos4-is/mipi-csis.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=2031941502339d548cd51bf34e6ebb8bc3bb2d89 diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c b/drivers/media/platform/exynos4-is/mipi-csis.c index a2eda9d..254d70f 100644 --- a/drivers/media/platform/exynos4-is/mipi-csis.c +++ b/drivers/media/platform/exynos4-is/mipi-csis.c @@ -746,7 +746,7 @@ static int s5pcsis_parse_dt(struct platform_device *pdev, node = v4l2_of_get_next_endpoint(node, NULL); if (!node) { dev_err(pdev-dev, No port node at %s\n, - node-full_name); + pdev-dev.of_node-full_name); return -EINVAL; } /* Get port node and validate MIPI-CSI channel id. */ ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] exynos4-is: Prevent NULL pointer dereference when firmware isn't loaded
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] exynos4-is: Prevent NULL pointer dereference when firmware isn't loaded Author: Sylwester Nawrocki s.nawro...@samsung.com Date:Fri May 31 08:40:35 2013 -0300 Ensure the firmware isn't accessed in the driver when the firmware loading routine has not completed. This fixes a potential kernel crash: [ 96.51] Unable to handle kernel NULL pointer dereference at virtual address [ 96.52] pgd = ee604000 [ 96.52] [] *pgd=6e947831, *pte=, *ppte= [ 96.53] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 96.53] Modules linked in: [ 96.53] CPU: 2 PID: 2787 Comm: camera_test Not tainted 3.10.0-rc1-00269-gcdbde37-dirty #2158 [ 96.545000] task: ee42e400 ti: edfcc000 task.ti: edfcc000 [ 96.545000] PC is at fimc_is_start_firmware+0x14/0x94 [ 96.545000] LR is at fimc_isp_subdev_s_power+0x13c/0x1f8 ... [ 96.745000] [c03e0354] (fimc_is_start_firmware+0x14/0x94) from [c03e1cc4] (fimc_isp_subdev_s_power+0x13c/0x1f8) [ 96.745000] [c03e1cc4] (fimc_isp_subdev_s_power+0x13c/0x1f8) from [c03ed088] (__subdev_set_power+0x70/0x84) [ 96.745000] [c03ed088] (__subdev_set_power+0x70/0x84) from [c03ed164] (fimc_pipeline_s_power+0xc8/0x164) [ 96.745000] [c03ed164] (fimc_pipeline_s_power+0xc8/0x164) from [c03ee2b8] (__fimc_pipeline_open+0x90/0x268) [ 96.745000] [c03ee2b8] (__fimc_pipeline_open+0x90/0x268) from [c03ec5f0] (fimc_capture_open+0xe4/0x1ec) [ 96.745000] [c03ec5f0] (fimc_capture_open+0xe4/0x1ec) from [c03c5560] (v4l2_open+0xa8/0xe4) [ 96.745000] [c03c5560] (v4l2_open+0xa8/0xe4) from [c0112900] (chrdev_open+0x9c/0x158) [ 96.745000] [c0112900] (chrdev_open+0x9c/0x158) from [c010d3e0] (do_dentry_open+0x1f4/0x27c) [ 96.745000] [c010d3e0] (do_dentry_open+0x1f4/0x27c) from [c010d558] (finish_open+0x34/0x50) [ 96.745000] [c010d558] (finish_open+0x34/0x50) from [c011bea0] (do_last+0x59c/0xbcc) [ 96.745000] [c011bea0] (do_last+0x59c/0xbcc) from [c011c580] (path_openat+0xb0/0x484) [ 96.745000] [c011c580] (path_openat+0xb0/0x484) from [c011ca58] (do_filp_open+0x30/0x84) [ 96.745000] [c011ca58] (do_filp_open+0x30/0x84) from [c010d060] (do_sys_open+0xe8/0x170) [ 96.745000] [c010d060] (do_sys_open+0xe8/0x170) from [c000f040] (ret_fast_syscall+0x0/0x30) Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/exynos4-is/fimc-is.c |8 +++- 1 files changed, 7 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=3cf138a6393d4ae2aeabce4c4b776d7d15cce69b diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index 47c6363..1adf6df 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -326,6 +326,11 @@ int fimc_is_start_firmware(struct fimc_is *is) struct device *dev = is-pdev-dev; int ret; + if (is-fw.f_w == NULL) { + dev_err(dev, firmware is not loaded\n); + return -EINVAL; + } + memcpy(is-memory.vaddr, is-fw.f_w-data, is-fw.f_w-size); wmb(); @@ -941,7 +946,8 @@ static int fimc_is_remove(struct platform_device *pdev) vb2_dma_contig_cleanup_ctx(is-alloc_ctx); fimc_is_put_clocks(is); fimc_is_debugfs_remove(is); - release_firmware(is-fw.f_w); + if (is-fw.f_w) + release_firmware(is-fw.f_w); fimc_is_free_cpu_memory(is); return 0; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] v4l2-mem2mem: add v4l2_m2m_create_bufs helper
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] v4l2-mem2mem: add v4l2_m2m_create_bufs helper Author: Philipp Zabel p.za...@pengutronix.de Date:Tue May 21 04:16:28 2013 -0300 Signed-off-by: Philipp Zabel p.za...@pengutronix.de Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/v4l2-core/v4l2-mem2mem.c | 14 ++ include/media/v4l2-mem2mem.h |2 ++ 2 files changed, 16 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=8b94ca61d7065fa7fa7bdb08ce31a9385be5205b diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c index 9ac39b5..a756170 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -372,6 +372,20 @@ int v4l2_m2m_dqbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, EXPORT_SYMBOL_GPL(v4l2_m2m_dqbuf); /** + * v4l2_m2m_create_bufs() - create a source or destination buffer, depending + * on the type + */ +int v4l2_m2m_create_bufs(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, +struct v4l2_create_buffers *create) +{ + struct vb2_queue *vq; + + vq = v4l2_m2m_get_vq(m2m_ctx, create-format.type); + return vb2_create_bufs(vq, create); +} +EXPORT_SYMBOL_GPL(v4l2_m2m_create_bufs); + +/** * v4l2_m2m_expbuf() - export a source or destination buffer, depending on * the type */ diff --git a/include/media/v4l2-mem2mem.h b/include/media/v4l2-mem2mem.h index d3eef01..0f4555b 100644 --- a/include/media/v4l2-mem2mem.h +++ b/include/media/v4l2-mem2mem.h @@ -110,6 +110,8 @@ int v4l2_m2m_qbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, struct v4l2_buffer *buf); int v4l2_m2m_dqbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, struct v4l2_buffer *buf); +int v4l2_m2m_create_bufs(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, +struct v4l2_create_buffers *create); int v4l2_m2m_expbuf(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, struct v4l2_exportbuffer *eb); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] DocBook: media: update codec section, drop obsolete 'suspended' state
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] DocBook: media: update codec section, drop obsolete 'suspended' state Author: Hans Verkuil hverk...@xs4all.nl Date:Tue May 7 08:06:11 2013 -0300 The Codec section in the V4L2 specification was marked as 'suspended', even though codec support has been around for quite some time. Update this section, explaining a bit about memory-to-memory devices and pointing to the MPEG controls section. Signed-off-by: Hans Verkuil hans.verk...@cisco.com Acked-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com Documentation/DocBook/media/v4l/dev-codec.xml | 35 +++- 1 files changed, 22 insertions(+), 13 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=6e7df1cd373d688486b0b0b6626cb32f59ebdcfa diff --git a/Documentation/DocBook/media/v4l/dev-codec.xml b/Documentation/DocBook/media/v4l/dev-codec.xml index dca0ecd..ff44c16 100644 --- a/Documentation/DocBook/media/v4l/dev-codec.xml +++ b/Documentation/DocBook/media/v4l/dev-codec.xml @@ -1,18 +1,27 @@ titleCodec Interface/title - note -titleSuspended/title + paraA V4L2 codec can compress, decompress, transform, or otherwise +convert video data from one format into another format, in memory. Typically +such devices are memory-to-memory devices (i.e. devices with the +constantV4L2_CAP_VIDEO_M2M/constant or constantV4L2_CAP_VIDEO_M2M_MPLANE/constant +capability set). +/para -paraThis interface has been be suspended from the V4L2 API -implemented in Linux 2.6 until we have more experience with codec -device interfaces./para - /note + paraA memory-to-memory video node acts just like a normal video node, but it +supports both output (sending frames from memory to the codec hardware) and +capture (receiving the processed frames from the codec hardware into memory) +stream I/O. An application will have to setup the stream +I/O for both sides and finally call VIDIOC-STREAMON; for both capture and output +to start the codec./para - paraA V4L2 codec can compress, decompress, transform, or otherwise -convert video data from one format into another format, in memory. -Applications send data to be converted to the driver through a -func-write; call, and receive the converted data through a -func-read; call. For efficiency a driver may also support streaming -I/O./para + paraVideo compression codecs use the MPEG controls to setup their codec parameters +(note that the MPEG controls actually support many more codecs than just MPEG). +See xref linkend=mpeg-controls/xref./para - para[to do]/para + paraMemory-to-memory devices can often be used as a shared resource: you can +open the video node multiple times, each application setting up their own codec properties +that are local to the file handle, and each can use it independently from the others. +The driver will arbitrate access to the codec and reprogram it whenever another file +handler gets access. This is different from the usual video node behavior where the video properties +are global to the device (i.e. changing something through one file handle is visible +through another file handle)./para ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] coda: v4l2-compliance fix: add VIDIOC_CREATE_BUFS support
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] coda: v4l2-compliance fix: add VIDIOC_CREATE_BUFS support Author: Philipp Zabel p.za...@pengutronix.de Date:Tue May 21 04:16:29 2013 -0300 Signed-off-by: Philipp Zabel p.za...@pengutronix.de Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/coda.c |9 + 1 files changed, 9 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=8fdf94a254ab2f90ae79b82e56b1f8e9d7582026 diff --git a/drivers/media/platform/coda.c b/drivers/media/platform/coda.c index 5612329..f82e1c6 100644 --- a/drivers/media/platform/coda.c +++ b/drivers/media/platform/coda.c @@ -571,6 +571,14 @@ static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *buf) return v4l2_m2m_dqbuf(file, ctx-m2m_ctx, buf); } +static int vidioc_create_bufs(struct file *file, void *priv, + struct v4l2_create_buffers *create) +{ + struct coda_ctx *ctx = fh_to_ctx(priv); + + return v4l2_m2m_create_bufs(file, ctx-m2m_ctx, create); +} + static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type type) { @@ -605,6 +613,7 @@ static const struct v4l2_ioctl_ops coda_ioctl_ops = { .vidioc_qbuf= vidioc_qbuf, .vidioc_dqbuf = vidioc_dqbuf, + .vidioc_create_bufs = vidioc_create_bufs, .vidioc_streamon= vidioc_streamon, .vidioc_streamoff = vidioc_streamoff, ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5c73m3: Fix off-by-one valid range checking for fie-index
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5c73m3: Fix off-by-one valid range checking for fie-index Author: Axel Lin axel@ingics.com Date:Tue Apr 30 00:42:16 2013 -0300 Current code uses fie-index as array subscript, thus the valid value range is 0 ... ARRAY_SIZE(s5c73m3_intervals) - 1. Signed-off-by: Axel Lin axel@ingics.com Acked-by: Andrzej Hajda a.ha...@samsung.com Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/i2c/s5c73m3/s5c73m3-core.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=c6f89116c14144c18295d2a06294788c86fe9e6d diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index cb52438..9eac531 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c @@ -956,7 +956,7 @@ static int s5c73m3_oif_enum_frame_interval(struct v4l2_subdev *sd, if (fie-pad != OIF_SOURCE_PAD) return -EINVAL; - if (fie-index ARRAY_SIZE(s5c73m3_intervals)) + if (fie-index = ARRAY_SIZE(s5c73m3_intervals)) return -EINVAL; mutex_lock(state-lock); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5p-mfc: Remove unused s5p_mfc_get_decoded_status_v6() function
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: Remove unused s5p_mfc_get_decoded_status_v6() function Author: Sylwester Nawrocki sylvester.nawro...@gmail.com Date:Sat May 25 07:25:55 2013 -0300 This patch fixes following compilation warning: CC [M] drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.o drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1733:12: warning: ‘s5p_mfc_get_decoded_status_v6’ defined but not used It assigns existing but not used s5p_mfc_get_dec_status_v6() function to the get_dec_status callback. It seems the get_dec_status callback is not used anyway, as there is no corresponding s5p_mfc_hw_call(). Signed-off-by: Sylwester Nawrocki sylvester.nawro...@gmail.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c |8 +--- 1 files changed, 1 insertions(+), 7 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=644469aefbac3c007284b43ac932ba6f1794a110 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c index 383ae77..5eeaecb 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c @@ -62,12 +62,6 @@ static void s5p_mfc_release_dec_desc_buffer_v6(struct s5p_mfc_ctx *ctx) /* NOP */ } -static int s5p_mfc_get_dec_status_v6(struct s5p_mfc_dev *dev) -{ - /* NOP */ - return -1; -} - /* Allocate codec buffers */ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) { @@ -1713,7 +1707,7 @@ static int s5p_mfc_get_dspl_status_v6(struct s5p_mfc_dev *dev) return mfc_read(dev, S5P_FIMV_D_DISPLAY_STATUS_V6); } -static int s5p_mfc_get_decoded_status_v6(struct s5p_mfc_dev *dev) +static int s5p_mfc_get_dec_status_v6(struct s5p_mfc_dev *dev) { return mfc_read(dev, S5P_FIMV_D_DECODED_STATUS_V6); } ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5p-mfc: Update v6 encoder buffer alloc
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: Update v6 encoder buffer alloc Author: Arun Kumar K arun...@samsung.com Date:Wed Apr 24 09:41:53 2013 -0300 MFC v6 needs minimum number of output buffers to be queued for encoder depending on the stream type and profile. The patch modifies the driver so that encoding cannot be started with lesser number of OUTPUT buffers than required. This also fixes the crash happeninig during multi instance encoder-decoder simultaneous run due to memory allocation happening from interrupt context. Signed-off-by: Arun Kumar K arun...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc.c|4 +- drivers/media/platform/s5p-mfc/s5p_mfc_common.h |3 +- drivers/media/platform/s5p-mfc/s5p_mfc_dec.c| 20 drivers/media/platform/s5p-mfc/s5p_mfc_enc.c| 64 +-- drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c | 29 ++ 5 files changed, 67 insertions(+), 53 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=e9d98ddc0a4e4e11603c818bf234644031bff384 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index 01f9ae0..3b2345e 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@ -397,7 +397,7 @@ static void s5p_mfc_handle_frame(struct s5p_mfc_ctx *ctx, leave_handle_frame: spin_unlock_irqrestore(dev-irqlock, flags); if ((ctx-src_queue_cnt == 0 ctx-state != MFCINST_FINISHING) - || ctx-dst_queue_cnt ctx-dpb_count) + || ctx-dst_queue_cnt ctx-pb_count) clear_work_bit(ctx); s5p_mfc_hw_call(dev-mfc_ops, clear_int_flags, dev); wake_up_ctx(ctx, reason, err); @@ -473,7 +473,7 @@ static void s5p_mfc_handle_seq_done(struct s5p_mfc_ctx *ctx, s5p_mfc_hw_call(dev-mfc_ops, dec_calc_dpb_size, ctx); - ctx-dpb_count = s5p_mfc_hw_call(dev-mfc_ops, get_dpb_count, + ctx-pb_count = s5p_mfc_hw_call(dev-mfc_ops, get_dpb_count, dev); ctx-mv_count = s5p_mfc_hw_call(dev-mfc_ops, get_mv_count, dev); diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h index 202d1d7..975d1b2 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h @@ -138,6 +138,7 @@ enum s5p_mfc_inst_state { MFCINST_INIT = 100, MFCINST_GOT_INST, MFCINST_HEAD_PARSED, + MFCINST_HEAD_PRODUCED, MFCINST_BUFS_SET, MFCINST_RUNNING, MFCINST_FINISHING, @@ -602,7 +603,7 @@ struct s5p_mfc_ctx { int after_packed_pb; int sei_fp_parse; - int dpb_count; + int pb_count; int total_dpb_count; int mv_count; /* Buffers */ diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c index 4af53bd..00b0703 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c @@ -210,11 +210,11 @@ static int s5p_mfc_ctx_ready(struct s5p_mfc_ctx *ctx) /* Context is to decode a frame */ if (ctx-src_queue_cnt = 1 ctx-state == MFCINST_RUNNING - ctx-dst_queue_cnt = ctx-dpb_count) + ctx-dst_queue_cnt = ctx-pb_count) return 1; /* Context is to return last frame */ if (ctx-state == MFCINST_FINISHING - ctx-dst_queue_cnt = ctx-dpb_count) + ctx-dst_queue_cnt = ctx-pb_count) return 1; /* Context is to set buffers */ if (ctx-src_queue_cnt = 1 @@ -224,7 +224,7 @@ static int s5p_mfc_ctx_ready(struct s5p_mfc_ctx *ctx) /* Resolution change */ if ((ctx-state == MFCINST_RES_CHANGE_INIT || ctx-state == MFCINST_RES_CHANGE_FLUSH) - ctx-dst_queue_cnt = ctx-dpb_count) + ctx-dst_queue_cnt = ctx-pb_count) return 1; if (ctx-state == MFCINST_RES_CHANGE_END ctx-src_queue_cnt = 1) @@ -537,7 +537,7 @@ static int vidioc_reqbufs(struct file *file, void *priv, mfc_err(vb2_reqbufs on capture failed\n); return ret; } - if (reqbufs-count ctx-dpb_count) { + if (reqbufs-count ctx-pb_count) { mfc_err(Not enough buffers allocated\n); reqbufs-count = 0; s5p_mfc_clock_on(); @@ -751,7 +751,7 @@ static int s5p_mfc_dec_g_v_ctrl(struct v4l2_ctrl *ctrl) case
[git:media_tree/master] [media] s3c-camif: Fix incorrect variable type
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s3c-camif: Fix incorrect variable type Author: Sachin Kamat sachin.ka...@linaro.org Date:Tue Apr 30 02:16:19 2013 -0300 'rotation' was an 8 bit variable and hence could not have values greater than 255. Since we need higher values, change it to 16 bit type. Signed-off-by: Sachin Kamat sachin.ka...@linaro.org Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s3c-camif/camif-core.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=8410725333088643f49371396e727cc1e41ccfb5 diff --git a/drivers/media/platform/s3c-camif/camif-core.h b/drivers/media/platform/s3c-camif/camif-core.h index 261134b..35d2fcd 100644 --- a/drivers/media/platform/s3c-camif/camif-core.h +++ b/drivers/media/platform/s3c-camif/camif-core.h @@ -229,7 +229,7 @@ struct camif_vp { unsigned intstate; u16 fmt_flags; u8 id; - u8 rotation; + u16 rotation; u8 hflip; u8 vflip; unsigned intoffset; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] media: v4l2-mem2mem: return for polling if a buffer is available
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] media: v4l2-mem2mem: return for polling if a buffer is available Author: Seung-Woo Kim sw0312@samsung.com Date:Mon May 20 23:47:30 2013 -0300 The v4l2_m2m_poll() does not need to wait if there is already a buffer in done_list of source and destination queues, but current v4l2_m2m_poll() always waits. So done_list of each queue is checked before calling poll_wait(). Signed-off-by: Seung-Woo Kim sw0312@samsung.com Acked-by: Marek Szyprowski m.szyprow...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/v4l2-core/v4l2-mem2mem.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=57183467c09555d985ae62b79c754e64279381df diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c index 66f599f..9ac39b5 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -486,8 +486,10 @@ unsigned int v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx, if (m2m_ctx-m2m_dev-m2m_ops-unlock) m2m_ctx-m2m_dev-m2m_ops-unlock(m2m_ctx-priv); - poll_wait(file, src_q-done_wq, wait); - poll_wait(file, dst_q-done_wq, wait); + if (list_empty(src_q-done_list)) + poll_wait(file, src_q-done_wq, wait); + if (list_empty(dst_q-done_list)) + poll_wait(file, dst_q-done_wq, wait); if (m2m_ctx-m2m_dev-m2m_ops-lock) m2m_ctx-m2m_dev-m2m_ops-lock(m2m_ctx-priv); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] media: vb2: return for polling if a buffer is available
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] media: vb2: return for polling if a buffer is available Author: Seung-Woo Kim sw0312@samsung.com Date:Mon May 20 23:47:29 2013 -0300 The vb2_poll() does not need to wait next vb_buffer_done() if there is already a buffer in done_list of queue, but current vb2_poll() always waits. So done_list is checked before calling poll_wait(). Signed-off-by: Seung-Woo Kim sw0312@samsung.com Acked-by: Marek Szyprowski m.szyprow...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/v4l2-core/videobuf2-core.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=412cb87d28a1f299ee82fe1c8bfe6cbeec9a4655 diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c index 7d833ee..e3bdc3b 100644 --- a/drivers/media/v4l2-core/videobuf2-core.c +++ b/drivers/media/v4l2-core/videobuf2-core.c @@ -2014,7 +2014,8 @@ unsigned int vb2_poll(struct vb2_queue *q, struct file *file, poll_table *wait) if (list_empty(q-queued_list)) return res | POLLERR; - poll_wait(file, q-done_wq, wait); + if (list_empty(q-done_list)) + poll_wait(file, q-done_wq, wait); /* * Take first buffer available for dequeuing. ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] drivers/staging: davinci: vpfe: fix dependency for building the driver
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] drivers/staging: davinci: vpfe: fix dependency for building the driver Author: Lad, Prabhakar prabhakar.cse...@gmail.com Date:Mon May 13 06:39:07 2013 -0300 from commit 3778d05036cc7ddd983ae2451da579af00acdac2 [media: davinci: kconfig: fix incorrect selects] VIDEO_VPFE_CAPTURE was removed but there was a negative dependancy for building the DM365 VPFE MC based capture driver (VIDEO_DM365_VPFE), This patch fixes this dependency by replacing the VIDEO_VPFE_CAPTURE with VIDEO_DM365_ISIF, so as when older DM365 ISIF v4l driver is selected the newer media controller driver for DM365 isnt visible. Reported-by: Paul Bolle pebo...@tiscali.nl Signed-off-by: Lad, Prabhakar prabhakar.cse...@gmail.com Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/staging/media/davinci_vpfe/Kconfig |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=449875756055e2fff6074b4e69b35b9583f9f84d diff --git a/drivers/staging/media/davinci_vpfe/Kconfig b/drivers/staging/media/davinci_vpfe/Kconfig index 2e4a28b..12f321d 100644 --- a/drivers/staging/media/davinci_vpfe/Kconfig +++ b/drivers/staging/media/davinci_vpfe/Kconfig @@ -1,6 +1,6 @@ config VIDEO_DM365_VPFE tristate DM365 VPFE Media Controller Capture Driver - depends on VIDEO_V4L2 ARCH_DAVINCI_DM365 !VIDEO_VPFE_CAPTURE + depends on VIDEO_V4L2 ARCH_DAVINCI_DM365 !VIDEO_DM365_ISIF select VIDEOBUF2_DMA_CONTIG help Support for DM365 VPFE based Media Controller Capture driver. ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5p-mfc: Add NULL check for allocated buffer
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: Add NULL check for allocated buffer Author: Sachin Kamat sachin.ka...@linaro.org Date:Wed May 29 00:10:00 2013 -0300 In certain cases, dma_alloc_coherent returns NULL. Add check for NULL pointer. Signed-off-by: Sachin Kamat sachin.ka...@linaro.org Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=d1c1cc664342cf197afeea4b0dd8145d1edee35c diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c index 2e5f30b..dc1fc94 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c @@ -38,7 +38,7 @@ int s5p_mfc_alloc_firmware(struct s5p_mfc_dev *dev) dev-fw_virt_addr = dma_alloc_coherent(dev-mem_dev_l, dev-fw_size, dev-bank1, GFP_KERNEL); - if (IS_ERR(dev-fw_virt_addr)) { + if (IS_ERR_OR_NULL(dev-fw_virt_addr)) { dev-fw_virt_addr = NULL; mfc_err(Allocating bitprocessor buffer failed\n); return -ENOMEM; ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] v4l2: mem2mem: save irq flags correctly
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] v4l2: mem2mem: save irq flags correctly Author: John Sheu s...@google.com Date:Thu May 23 20:41:48 2013 -0300 Save flags correctly when taking spinlocks in v4l2_m2m_try_schedule. Signed-off-by: John Sheu s...@google.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/v4l2-core/v4l2-mem2mem.c | 19 +++ 1 files changed, 11 insertions(+), 8 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=b730627ad65f023dd9ce83047a3076330ebaefe5 diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c index a756170..e96497f 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -205,7 +205,7 @@ static void v4l2_m2m_try_run(struct v4l2_m2m_dev *m2m_dev) static void v4l2_m2m_try_schedule(struct v4l2_m2m_ctx *m2m_ctx) { struct v4l2_m2m_dev *m2m_dev; - unsigned long flags_job, flags; + unsigned long flags_job, flags_out, flags_cap; m2m_dev = m2m_ctx-m2m_dev; dprintk(Trying to schedule a job for m2m_ctx: %p\n, m2m_ctx); @@ -223,23 +223,26 @@ static void v4l2_m2m_try_schedule(struct v4l2_m2m_ctx *m2m_ctx) return; } - spin_lock_irqsave(m2m_ctx-out_q_ctx.rdy_spinlock, flags); + spin_lock_irqsave(m2m_ctx-out_q_ctx.rdy_spinlock, flags_out); if (list_empty(m2m_ctx-out_q_ctx.rdy_queue)) { - spin_unlock_irqrestore(m2m_ctx-out_q_ctx.rdy_spinlock, flags); + spin_unlock_irqrestore(m2m_ctx-out_q_ctx.rdy_spinlock, + flags_out); spin_unlock_irqrestore(m2m_dev-job_spinlock, flags_job); dprintk(No input buffers available\n); return; } - spin_lock_irqsave(m2m_ctx-cap_q_ctx.rdy_spinlock, flags); + spin_lock_irqsave(m2m_ctx-cap_q_ctx.rdy_spinlock, flags_cap); if (list_empty(m2m_ctx-cap_q_ctx.rdy_queue)) { - spin_unlock_irqrestore(m2m_ctx-cap_q_ctx.rdy_spinlock, flags); - spin_unlock_irqrestore(m2m_ctx-out_q_ctx.rdy_spinlock, flags); + spin_unlock_irqrestore(m2m_ctx-cap_q_ctx.rdy_spinlock, + flags_cap); + spin_unlock_irqrestore(m2m_ctx-out_q_ctx.rdy_spinlock, + flags_out); spin_unlock_irqrestore(m2m_dev-job_spinlock, flags_job); dprintk(No output buffers available\n); return; } - spin_unlock_irqrestore(m2m_ctx-cap_q_ctx.rdy_spinlock, flags); - spin_unlock_irqrestore(m2m_ctx-out_q_ctx.rdy_spinlock, flags); + spin_unlock_irqrestore(m2m_ctx-cap_q_ctx.rdy_spinlock, flags_cap); + spin_unlock_irqrestore(m2m_ctx-out_q_ctx.rdy_spinlock, flags_out); if (m2m_dev-m2m_ops-job_ready (!m2m_dev-m2m_ops-job_ready(m2m_ctx-priv))) { ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] s5p-mfc: Remove special clock usage in driver
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p-mfc: Remove special clock usage in driver Author: Arun Kumar K arun...@samsung.com Date:Mon May 27 03:39:29 2013 -0300 MFC uses two clocks - MFC gate clock and special clock which is named as sclk_mfc in exynos4 and aclk_333 in exynos5 SoC. The driver was doing just a clk_prepare on this special clock without a clk_enable call. As this sclk is the parent of gate clock, it gets prepared and enabled along with the gate clock. So there is no need for the driver to use this sclk. This patch removes the sclk usage from driver. Signed-off-by: Arun Kumar K arun...@samsung.com Signed-off-by: Kamil Debski k.deb...@samsung.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-mfc/s5p_mfc.c|2 -- drivers/media/platform/s5p-mfc/s5p_mfc_common.h |1 - drivers/media/platform/s5p-mfc/s5p_mfc_pm.c | 19 --- 3 files changed, 0 insertions(+), 22 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=fc906b6d189f26e869b11b94eaa9a733b3950740 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index 3b2345e..78280eb 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@ -1362,7 +1362,6 @@ static struct s5p_mfc_variant mfc_drvdata_v5 = { .port_num = MFC_NUM_PORTS, .buf_size = buf_size_v5, .buf_align = mfc_buf_align_v5, - .mclk_name = sclk_mfc, .fw_name= s5p-mfc.fw, }; @@ -1389,7 +1388,6 @@ static struct s5p_mfc_variant mfc_drvdata_v6 = { .port_num = MFC_NUM_PORTS_V6, .buf_size = buf_size_v6, .buf_align = mfc_buf_align_v6, - .mclk_name = aclk_333, .fw_name= s5p-mfc-v6.fw, }; diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h index 975d1b2..4e81ab8 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h @@ -232,7 +232,6 @@ struct s5p_mfc_variant { unsigned int port_num; struct s5p_mfc_buf_size *buf_size; struct s5p_mfc_buf_align *buf_align; - char*mclk_name; char*fw_name; }; diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_pm.c b/drivers/media/platform/s5p-mfc/s5p_mfc_pm.c index 6aa38a5..cab6e0b 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_pm.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_pm.c @@ -50,19 +50,6 @@ int s5p_mfc_init_pm(struct s5p_mfc_dev *dev) goto err_p_ip_clk; } - pm-clock = clk_get(dev-plat_dev-dev, dev-variant-mclk_name); - if (IS_ERR(pm-clock)) { - mfc_err(Failed to get MFC clock\n); - ret = PTR_ERR(pm-clock); - goto err_g_ip_clk_2; - } - - ret = clk_prepare(pm-clock); - if (ret) { - mfc_err(Failed to prepare MFC clock\n); - goto err_p_ip_clk_2; - } - atomic_set(pm-power, 0); #ifdef CONFIG_PM_RUNTIME pm-device = dev-plat_dev-dev; @@ -72,10 +59,6 @@ int s5p_mfc_init_pm(struct s5p_mfc_dev *dev) atomic_set(clk_ref, 0); #endif return 0; -err_p_ip_clk_2: - clk_put(pm-clock); -err_g_ip_clk_2: - clk_unprepare(pm-clock_gate); err_p_ip_clk: clk_put(pm-clock_gate); err_g_ip_clk: @@ -86,8 +69,6 @@ void s5p_mfc_final_pm(struct s5p_mfc_dev *dev) { clk_unprepare(pm-clock_gate); clk_put(pm-clock_gate); - clk_unprepare(pm-clock); - clk_put(pm-clock); #ifdef CONFIG_PM_RUNTIME pm_runtime_disable(pm-device); #endif ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] vpfe-capture.c: remove unused label probe_free_lock
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] vpfe-capture.c: remove unused label probe_free_lock Author: Hans Verkuil hans.verk...@cisco.com Date:Fri May 10 07:53:08 2013 -0300 Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/davinci/vpfe_capture.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=a2ac2d792cb6a22eb86ef4e026ba74c3ea6e67ee diff --git a/drivers/media/platform/davinci/vpfe_capture.c b/drivers/media/platform/davinci/vpfe_capture.c index 3827fe1..9360909 100644 --- a/drivers/media/platform/davinci/vpfe_capture.c +++ b/drivers/media/platform/davinci/vpfe_capture.c @@ -1991,7 +1991,6 @@ probe_out_release_irq: free_irq(vpfe_dev-ccdc_irq0, vpfe_dev); probe_free_ccdc_cfg_mem: kfree(ccdc_cfg); -probe_free_lock: mutex_unlock(ccdc_lock); probe_free_dev_mem: kfree(vpfe_dev); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] v4l2: SI476X MFD - Do not use binary constants
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] v4l2: SI476X MFD - Do not use binary constants Author: Geert Uytterhoeven ge...@linux-m68k.org Date:Wed May 8 16:23:41 2013 -0300 Gcc 4.3 doesn't understand binary constanrs (0b*): drivers/media/radio/radio-si476x.c:862:20: error: invalid suffix b1000 on integer constant Hence use a hexadecimal constant (0x*) instead. Signed-off-by: Geert Uytterhoeven ge...@linux-m68k.org Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/radio/radio-si476x.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=ab6717886b6af7c1408602948653c63408c46f5e diff --git a/drivers/media/radio/radio-si476x.c b/drivers/media/radio/radio-si476x.c index 9430c6a..9dc8baf 100644 --- a/drivers/media/radio/radio-si476x.c +++ b/drivers/media/radio/radio-si476x.c @@ -44,7 +44,7 @@ #define FREQ_MUL (1000 / 625) -#define SI476X_PHDIV_STATUS_LINK_LOCKED(status) (0b1000 (status)) +#define SI476X_PHDIV_STATUS_LINK_LOCKED(status) (0x80 (status)) #define DRIVER_NAME si476x-radio #define DRIVER_CARD SI476x AM/FM Receiver ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] radio-si476x: depend on SND_SOC
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] radio-si476x: depend on SND_SOC Author: Arnd Bergmann a...@arndb.de Date:Thu May 2 11:16:26 2013 -0300 It is not possible to select SND_SOC_SI476X if we have not also enabled SND_SOC. warning: (RADIO_SI476X) selects SND_SOC_SI476X which has unmet direct dependencies (SOUND !M68K !UML SND SND_SOC) Signed-off-by: Arnd Bergmann a...@arndb.de [hans.verk...@cisco.com: fixed wrong driver name in subject] Acked-by: Mauro Carvalho Chehab mche...@redhat.com Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/radio/Kconfig |1 + 1 files changed, 1 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=ea457ad9dbf32c8d22cc1cc39b4c1a2e06bf9b89 diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig index c0beee2..d529ba7 100644 --- a/drivers/media/radio/Kconfig +++ b/drivers/media/radio/Kconfig @@ -22,6 +22,7 @@ config RADIO_SI476X tristate Silicon Laboratories Si476x I2C FM Radio depends on I2C VIDEO_V4L2 depends on MFD_SI476X_CORE + depends on SND_SOC select SND_SOC_SI476X ---help--- Choose Y here if you have this FM radio chip. ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] davinci: vpfe: fix error return code in vpfe_probe()
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] davinci: vpfe: fix error return code in vpfe_probe() Author: Wei Yongjun yongjun_...@trendmicro.com.cn Date:Tue May 7 07:51:21 2013 -0300 Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn Acked-by: Lad, Prabhakar prabhakar.cse...@gmail.com Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com .../staging/media/davinci_vpfe/vpfe_mc_capture.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=96f83b3f270aff148a1fa55f9a464e1bbadeadd4 diff --git a/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c b/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c index b88e1dd..d8ce20d 100644 --- a/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c +++ b/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c @@ -639,7 +639,8 @@ static int vpfe_probe(struct platform_device *pdev) if (ret) goto probe_free_dev_mem; - if (vpfe_initialize_modules(vpfe_dev, pdev)) + ret = vpfe_initialize_modules(vpfe_dev, pdev); + if (ret) goto probe_disable_clock; vpfe_dev-media_dev.dev = vpfe_dev-pdev; @@ -663,7 +664,8 @@ static int vpfe_probe(struct platform_device *pdev) /* set the driver data in platform device */ platform_set_drvdata(pdev, vpfe_dev); /* register subdevs/entities */ - if (vpfe_register_entities(vpfe_dev)) + ret = vpfe_register_entities(vpfe_dev); + if (ret) goto probe_out_v4l2_unregister; ret = vpfe_attach_irq(vpfe_dev); ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] gspca-sonixb: Adjust hstart on sn9c103 + pas202
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] gspca-sonixb: Adjust hstart on sn9c103 + pas202 Author: Hans de Goede hdego...@redhat.com Date:Mon Apr 29 08:54:14 2013 -0300 For some unknown reason we need to increase hstart by 1 on when using the PAS202 on the sn9c103 (versus on the sn9c102), otherwise we get the wrong colors, due to shifting of the bayer pattern. Reported-by: Patrizio Bassi patrizio.ba...@gmail.com Tested-by: Patrizio Bassi patrizio.ba...@gmail.com Signed-off-by: Hans de Goede hdego...@redhat.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/usb/gspca/sonixb.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=0391dc17bd5d7d6b1706d0be6472c4b352b57c05 diff --git a/drivers/media/usb/gspca/sonixb.c b/drivers/media/usb/gspca/sonixb.c index 3fe207e..d7ff3b9 100644 --- a/drivers/media/usb/gspca/sonixb.c +++ b/drivers/media/usb/gspca/sonixb.c @@ -1159,6 +1159,13 @@ static int sd_start(struct gspca_dev *gspca_dev) regs[0x01] = 0x44; /* Select 24 Mhz clock */ regs[0x12] = 0x02; /* Set hstart to 2 */ } + break; + case SENSOR_PAS202: + /* For some unknown reason we need to increase hstart by 1 on + the sn9c103, otherwise we get wrong colors (bayer shift). */ + if (sd-bridge == BRIDGE_103) + regs[0x12] += 1; + break; } /* Disable compression when the raw bayer format has been selected */ if (cam-cam_mode[gspca_dev-curr_mode].priv MODE_RAW) ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] media: davinci: vpbe: fix layer availability for NV12 format
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] media: davinci: vpbe: fix layer availability for NV12 format Author: Lad, Prabhakar prabhakar.cse...@gmail.com Date:Tue May 7 01:07:25 2013 -0300 For NV12 format, even if display data is single image, both VIDWIN0 and VIDWIN1 parameters must be used. The start address of Y data plane and C data plane is configured in VIDEOWIN0ADH/L and VIDEOWIN1ADH/L respectively. cuurently only one layer was requested, which is suffice for yuv422, but for yuv420(NV12) two layers are required and fix the same by requesting for other layer if pix fmt is NV12 during set_fmt. Signed-off-by: Lad, Prabhakar prabhakar.cse...@gmail.com Signed-off-by: Hans Verkuil hans.verk...@cisco.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/davinci/vpbe_display.c | 15 +++ 1 files changed, 15 insertions(+), 0 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=bdea0d222a21f864a811cf532334e622f7c6 diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c index 1802f11..d0b375c 100644 --- a/drivers/media/platform/davinci/vpbe_display.c +++ b/drivers/media/platform/davinci/vpbe_display.c @@ -916,6 +916,21 @@ static int vpbe_display_s_fmt(struct file *file, void *priv, other video window */ layer-pix_fmt = *pixfmt; + if (pixfmt-pixelformat == V4L2_PIX_FMT_NV12) { + struct vpbe_layer *otherlayer; + + otherlayer = _vpbe_display_get_other_win_layer(disp_dev, layer); + /* if other layer is available, only +* claim it, do not configure it +*/ + ret = osd_device-ops.request_layer(osd_device, + otherlayer-layer_info.id); + if (ret 0) { + v4l2_err(vpbe_dev-v4l2_dev, +Display Manager failed to allocate layer\n); + return -EBUSY; + } + } /* Get osd layer config */ osd_device-ops.get_layer_config(osd_device, ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/master] [media] pwc: Fix comment wrt lock ordering
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] pwc: Fix comment wrt lock ordering Author: Hans de Goede hdego...@redhat.com Date:Mon Apr 1 18:04:21 2013 -0300 With all the changes to handle the locking in the v4l2-core rather then at the driver level, the order in which the 2 pwc locks need to be taken has changed, update the comment in the header file to correctly reflect this. Signed-off-by: Hans de Goede hdego...@redhat.com Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/usb/pwc/pwc.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=cd5de26288604cb8a6f7fba041cc5fb610cbff9e diff --git a/drivers/media/usb/pwc/pwc.h b/drivers/media/usb/pwc/pwc.h index 7a6a0d3..81b017a 100644 --- a/drivers/media/usb/pwc/pwc.h +++ b/drivers/media/usb/pwc/pwc.h @@ -226,7 +226,7 @@ struct pwc_device struct list_head queued_bufs; spinlock_t queued_bufs_lock; /* Protects queued_bufs */ - /* Note if taking both locks v4l2_lock must always be locked first! */ + /* If taking both locks vb_queue_lock must always be locked first! */ struct mutex v4l2_lock; /* Protects everything else */ struct mutex vb_queue_lock; /* Protects vb_queue and capt_file */ ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/fixes] [media] s5p makefiles: don't override other selections on obj-[ym]
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] s5p makefiles: don't override other selections on obj-[ym] Author: Mauro Carvalho Chehab mche...@redhat.com Date:Thu Jun 20 05:46:00 2013 -0300 The $obj-m/$obj-y vars should be adding new modules to build, not overriding it. So, it should never use $obj-y := foo.o instead, it should use: $obj-y += foo.o Failing to do that is very bad, as it will suppress needed modules. Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/platform/s5p-jpeg/Makefile |2 +- drivers/media/platform/s5p-mfc/Makefile |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media_tree.git?a=commitdiff;h=5f63adbb4cb9f952a8daee97f89c8811da5fd68a diff --git a/drivers/media/platform/s5p-jpeg/Makefile b/drivers/media/platform/s5p-jpeg/Makefile index ddc2900..d18cb5e 100644 --- a/drivers/media/platform/s5p-jpeg/Makefile +++ b/drivers/media/platform/s5p-jpeg/Makefile @@ -1,2 +1,2 @@ s5p-jpeg-objs := jpeg-core.o -obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG) := s5p-jpeg.o +obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG) += s5p-jpeg.o diff --git a/drivers/media/platform/s5p-mfc/Makefile b/drivers/media/platform/s5p-mfc/Makefile index 379008c..15f59b3 100644 --- a/drivers/media/platform/s5p-mfc/Makefile +++ b/drivers/media/platform/s5p-mfc/Makefile @@ -1,4 +1,4 @@ -obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC) := s5p-mfc.o +obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC) += s5p-mfc.o s5p-mfc-y += s5p_mfc.o s5p_mfc_intr.o s5p-mfc-y += s5p_mfc_dec.o s5p_mfc_enc.o s5p-mfc-y += s5p_mfc_ctrl.o s5p_mfc_pm.o ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
[git:media_tree/fixes] [media] Fix build when drivers are builtin and frontend modules
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media_tree.git tree: Subject: [media] Fix build when drivers are builtin and frontend modules Author: Mauro Carvalho Chehab mche...@redhat.com Date:Thu Jun 20 10:35:53 2013 -0300 There are a large number of reports that the media build is not compiling when some drivers are compiled as builtin, while the needed frontends are compiled as module. On the last one of such reports: From: kbuild test robot fengguang...@intel.com Subject: saa7134-dvb.c:undefined reference to `zl10039_attach' The .config file has: CONFIG_VIDEO_SAA7134=y CONFIG_VIDEO_SAA7134_DVB=y # CONFIG_MEDIA_ATTACH is not set CONFIG_DVB_ZL10039=m And it produces all those errors: drivers/built-in.o: In function `set_type': tuner-core.c:(.text+0x2f263e): undefined reference to `tea5767_attach' tuner-core.c:(.text+0x2f273e): undefined reference to `tda9887_attach' drivers/built-in.o: In function `tuner_probe': tuner-core.c:(.text+0x2f2d20): undefined reference to `tea5767_autodetection' drivers/built-in.o: In function `av7110_attach': av7110.c:(.text+0x330bda): undefined reference to `ves1x93_attach' av7110.c:(.text+0x330bf7): undefined reference to `stv0299_attach' av7110.c:(.text+0x330c63): undefined reference to `tda8083_attach' av7110.c:(.text+0x330d09): undefined reference to `ves1x93_attach' av7110.c:(.text+0x330d33): undefined reference to `tda8083_attach' av7110.c:(.text+0x330d5d): undefined reference to `stv0297_attach' av7110.c:(.text+0x330dbe): undefined reference to `stv0299_attach' drivers/built-in.o: In function `tuner_attach_dtt7520x': ngene-cards.c:(.text+0x3381cb): undefined reference to `dvb_pll_attach' drivers/built-in.o: In function `demod_attach_lg330x': ngene-cards.c:(.text+0x33828a): undefined reference to `lgdt330x_attach' drivers/built-in.o: In function `demod_attach_stv0900': ngene-cards.c:(.text+0x3383d5): undefined reference to `stv090x_attach' drivers/built-in.o: In function `cineS2_probe': ngene-cards.c:(.text+0x338b7f): undefined reference to `drxk_attach' drivers/built-in.o: In function `configure_tda827x_fe': saa7134-dvb.c:(.text+0x346ae7): undefined reference to `tda10046_attach' drivers/built-in.o: In function `dvb_init': saa7134-dvb.c:(.text+0x347283): undefined reference to `mt352_attach' saa7134-dvb.c:(.text+0x3472cd): undefined reference to `mt352_attach' saa7134-dvb.c:(.text+0x34731c): undefined reference to `tda10046_attach' saa7134-dvb.c:(.text+0x34733c): undefined reference to `tda10046_attach' saa7134-dvb.c:(.text+0x34735c): undefined reference to `tda10046_attach' saa7134-dvb.c:(.text+0x347378): undefined reference to `tda10046_attach' saa7134-dvb.c:(.text+0x3473db): undefined reference to `tda10046_attach' drivers/built-in.o:saa7134-dvb.c:(.text+0x347502): more undefined references to `tda10046_attach' follow drivers/built-in.o: In function `dvb_init': saa7134-dvb.c:(.text+0x347812): undefined reference to `mt352_attach' saa7134-dvb.c:(.text+0x347951): undefined reference to `mt312_attach' saa7134-dvb.c:(.text+0x3479a9): undefined reference to `mt312_attach' saa7134-dvb.c:(.text+0x3479c1): undefined reference to `zl10039_attach' This is happening because a builtin module can't use directly a symbol found on a module. By enabling CONFIG_MEDIA_ATTACH, the configuration becomes valid, as dvb_attach() macro loads the module if needed, making the symbol available to the builtin module. While this bug started to appear after the patches that use IS_DEFINED macro (like changeset 7b34be71db533f3e0cf93d53cf62d036cdb5418a), this bug is a way ancient than that. The thing is that, before the IS_DEFINED() patches, the logic used to be: defined(MODULE)) struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe, u8 i2c_addr, struct i2c_adapter *i2c); static inline struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe, u8 i2c_addr, struct i2c_adapter *i2c) { printk(KERN_WARNING %s: driver disabled by Kconfig\n, __func__); return NULL; } The above code, with the .config file used, was evoluting to FALSE (instead of TRUE as it should be, as CONFIG_DVB_ZL10039 is 'm'), and were adding the static inline code at saa7134-dvb, instead of the external call. So, while it weren't producing any compilation error, the code weren't working either. So, as the overhead for using CONFIG_MEDIA_ATTACH is minimal, just enable it, if MODULES is defined. Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com drivers/media/Kconfig| 12 +--- drivers/media/tuners/Kconfig | 20 2 files changed, 9 insertions(+), 23
[git:v4l-utils/master] v4l2-ctl: V4L2_BUF_TYPE_PRIVATE is no longer used.
This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/v4l-utils.git tree: Subject: v4l2-ctl: V4L2_BUF_TYPE_PRIVATE is no longer used. Author: Hans Verkuil hans.verk...@cisco.com Date:Fri Jun 21 07:41:02 2013 +0200 Remove references to this obsolete buffer type. Signed-off-by: Hans Verkuil hans.verk...@cisco.com utils/v4l2-ctl/v4l2-ctl.cpp |4 1 files changed, 0 insertions(+), 4 deletions(-) --- http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=4ad9247236730ae806e57f58f0c3911308f7c2fc diff --git a/utils/v4l2-ctl/v4l2-ctl.cpp b/utils/v4l2-ctl/v4l2-ctl.cpp index 25952a0..ec86920 100644 --- a/utils/v4l2-ctl/v4l2-ctl.cpp +++ b/utils/v4l2-ctl/v4l2-ctl.cpp @@ -285,8 +285,6 @@ std::string buftype2s(int type) return Sliced VBI Output; case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY: return Video Output Overlay; - case V4L2_BUF_TYPE_PRIVATE: - return Private; default: return Unknown ( + num2s(type) + ); } @@ -462,8 +460,6 @@ void printfmt(const struct v4l2_format vfmt) } printf(\tI/O Size : %u\n, vfmt.fmt.sliced.io_size); break; - case V4L2_BUF_TYPE_PRIVATE: - break; } } ___ linuxtv-commits mailing list linuxtv-commits@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits