Re: [PATCH] [media] solo6x10: release vb2 buffers in solo_stop_streaming()

2017-03-10 Thread Anton Sviridenko
On Thu, Mar 09, 2017 at 06:58:45PM -0300, Ismael Luceno wrote:
> On 08/Mar/2017 21:59, Andrey Utkin wrote:
> > Signed-off-by: Andrey Utkin 
> > Signed-off-by: Andrey Utkin 
> > 
> > Please welcome Anton who is now in charge of solo6x10 and tw5864 support
> > and development in Bluecherry company, I have sent out to him the
> > hardware samples I possessed. (We will prepare the patch updating
> > MAINTAINERS file soon.)
> > 
> > If anybody has any outstanding complains, concerns or tasks regarding
> > solo6x10 and tw5864 drivers, I think now is good occasion to let us know
> > about it.
> 
> Welcome Anton!
> 
> The first issue that comes to mind is that quantization matrices
> need to be adjusted since forever. Also it needs more realistic
> buffer sizes.

Hi Ismael,

can you provide more details about quantization matrices issue and
buffer sizes?



Re: [PATCH] [media] solo6x10: release vb2 buffers in solo_stop_streaming()

2017-03-09 Thread Ismael Luceno
On 08/Mar/2017 21:59, Andrey Utkin wrote:
> Signed-off-by: Andrey Utkin 
> Signed-off-by: Andrey Utkin 
> 
> Please welcome Anton who is now in charge of solo6x10 and tw5864 support
> and development in Bluecherry company, I have sent out to him the
> hardware samples I possessed. (We will prepare the patch updating
> MAINTAINERS file soon.)
> 
> If anybody has any outstanding complains, concerns or tasks regarding
> solo6x10 and tw5864 drivers, I think now is good occasion to let us know
> about it.

Welcome Anton!

The first issue that comes to mind is that quantization matrices
need to be adjusted since forever. Also it needs more realistic
buffer sizes.


Re: [PATCH] [media] solo6x10: release vb2 buffers in solo_stop_streaming()

2017-03-09 Thread Anton Sviridenko
On Thu, Mar 09, 2017 at 12:55:35PM +0100, Hans Verkuil wrote:
> > +   dbg_buf_cnt++;
> 
> Left-over from debugging? This variable doesn't exist in the mainline code, so
> this patch doesn't compile.
> 
> Regards,
> 
>   Hans

Exactly, left-over from debugging, thank you. Going to resubmit fixed
patch.

Anton




Re: [PATCH] [media] solo6x10: release vb2 buffers in solo_stop_streaming()

2017-03-09 Thread Hans Verkuil
On 08/03/17 18:47, Anton Sviridenko wrote:
> Fixes warning that appears in dmesg after closing V4L2 userspace
> application that plays video from the display device
> (first device from V4L2 device nodes provided by solo, usually /dev/video0
> when no other V4L2 devices are present). Encoder device nodes are not
> affected. Can be reproduced by starting and closing
> 
> ffplay -f video4linux2  /dev/video0
> 
> [ 8130.281251] [ cut here ]
> [ 8130.281256] WARNING: CPU: 1 PID: 20414 at 
> drivers/media/v4l2-core/videobuf2-core.c:1651 __vb2_queue_cancel+0x14b/0x230
> [ 8130.281257] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 
> iptable_nat solo6x10 x86_pkg_temp_thermal vboxpci(O) vboxnetadp(O) 
> vboxnetflt(O) vboxdrv(O)
> [ 8130.281264] CPU: 1 PID: 20414 Comm: ffplay Tainted: G   O
> 4.10.0-gentoo #1
> [ 8130.281264] Hardware name: ASUS All Series/B85M-E, BIOS 2301 03/30/2015
> [ 8130.281265] Call Trace:
> [ 8130.281267]  dump_stack+0x4f/0x72
> [ 8130.281270]  __warn+0xc7/0xf0
> [ 8130.281271]  warn_slowpath_null+0x18/0x20
> [ 8130.281272]  __vb2_queue_cancel+0x14b/0x230
> [ 8130.281273]  vb2_core_streamoff+0x23/0x90
> [ 8130.281275]  vb2_streamoff+0x24/0x50
> [ 8130.281276]  vb2_ioctl_streamoff+0x3d/0x50
> [ 8130.281278]  v4l_streamoff+0x15/0x20
> [ 8130.281279]  __video_do_ioctl+0x25e/0x2f0
> [ 8130.281280]  video_usercopy+0x279/0x520
> [ 8130.281282]  ? v4l_enum_fmt+0x1330/0x1330
> [ 8130.281285]  ? unmap_region+0xdf/0x110
> [ 8130.281285]  video_ioctl2+0x10/0x20
> [ 8130.281286]  v4l2_ioctl+0xce/0xe0
> [ 8130.281289]  do_vfs_ioctl+0x8b/0x5b0
> [ 8130.281290]  ? __fget+0x72/0xa0
> [ 8130.281291]  SyS_ioctl+0x74/0x80
> [ 8130.281294]  entry_SYSCALL_64_fastpath+0x13/0x94
> [ 8130.281295] RIP: 0033:0x7ff86fee6b27
> [ 8130.281296] RSP: 002b:7ffe467f6a08 EFLAGS: 0246 ORIG_RAX: 
> 0010
> [ 8130.281297] RAX: ffda RBX: d1a4d788 RCX: 
> 7ff86fee6b27
> [ 8130.281297] RDX: 7ffe467f6a14 RSI: 40045613 RDI: 
> 0006
> [ 8130.281298] RBP: 0373f8d0 R08:  R09: 
> 7ff860001140
> [ 8130.281298] R10: 0243 R11: 0246 R12: 
> 
> [ 8130.281299] R13: 00a0 R14: 7ffe467f6530 R15: 
> 01f32228
> [ 8130.281300] ---[ end trace 00695dc96be646e7 ]---
> 
> Signed-off-by: Anton Sviridenko 
> ---
>  drivers/media/pci/solo6x10/solo6x10-v4l2.c | 12 
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c 
> b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
> index 896bec6..4163103 100644
> --- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c
> +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
> @@ -341,6 +341,18 @@ static void solo_stop_streaming(struct vb2_queue *q)
>   struct solo_dev *solo_dev = vb2_get_drv_priv(q);
>  
>   solo_stop_thread(solo_dev);
> +
> + spin_lock(&solo_dev->slock);
> + while (!list_empty(&solo_dev->vidq_active)) {
> + struct solo_vb2_buf *buf = list_entry(
> + solo_dev->vidq_active.next,
> + struct solo_vb2_buf, list);
> +
> + list_del(&buf->list);
> + vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
> + dbg_buf_cnt++;

Left-over from debugging? This variable doesn't exist in the mainline code, so
this patch doesn't compile.

Regards,

Hans

> + }
> + spin_unlock(&solo_dev->slock);
>   INIT_LIST_HEAD(&solo_dev->vidq_active);
>  }
>  
> 



Re: [PATCH] [media] solo6x10: release vb2 buffers in solo_stop_streaming()

2017-03-08 Thread Andrey Utkin
Signed-off-by: Andrey Utkin 
Signed-off-by: Andrey Utkin 

Please welcome Anton who is now in charge of solo6x10 and tw5864 support
and development in Bluecherry company, I have sent out to him the
hardware samples I possessed. (We will prepare the patch updating
MAINTAINERS file soon.)

If anybody has any outstanding complains, concerns or tasks regarding
solo6x10 and tw5864 drivers, I think now is good occasion to let us know
about it.


[PATCH] [media] solo6x10: release vb2 buffers in solo_stop_streaming()

2017-03-08 Thread Anton Sviridenko
Fixes warning that appears in dmesg after closing V4L2 userspace
application that plays video from the display device
(first device from V4L2 device nodes provided by solo, usually /dev/video0
when no other V4L2 devices are present). Encoder device nodes are not
affected. Can be reproduced by starting and closing

ffplay -f video4linux2  /dev/video0

[ 8130.281251] [ cut here ]
[ 8130.281256] WARNING: CPU: 1 PID: 20414 at 
drivers/media/v4l2-core/videobuf2-core.c:1651 __vb2_queue_cancel+0x14b/0x230
[ 8130.281257] Modules linked in: ipt_MASQUERADE nf_nat_masquerade_ipv4 
iptable_nat solo6x10 x86_pkg_temp_thermal vboxpci(O) vboxnetadp(O) 
vboxnetflt(O) vboxdrv(O)
[ 8130.281264] CPU: 1 PID: 20414 Comm: ffplay Tainted: G   O
4.10.0-gentoo #1
[ 8130.281264] Hardware name: ASUS All Series/B85M-E, BIOS 2301 03/30/2015
[ 8130.281265] Call Trace:
[ 8130.281267]  dump_stack+0x4f/0x72
[ 8130.281270]  __warn+0xc7/0xf0
[ 8130.281271]  warn_slowpath_null+0x18/0x20
[ 8130.281272]  __vb2_queue_cancel+0x14b/0x230
[ 8130.281273]  vb2_core_streamoff+0x23/0x90
[ 8130.281275]  vb2_streamoff+0x24/0x50
[ 8130.281276]  vb2_ioctl_streamoff+0x3d/0x50
[ 8130.281278]  v4l_streamoff+0x15/0x20
[ 8130.281279]  __video_do_ioctl+0x25e/0x2f0
[ 8130.281280]  video_usercopy+0x279/0x520
[ 8130.281282]  ? v4l_enum_fmt+0x1330/0x1330
[ 8130.281285]  ? unmap_region+0xdf/0x110
[ 8130.281285]  video_ioctl2+0x10/0x20
[ 8130.281286]  v4l2_ioctl+0xce/0xe0
[ 8130.281289]  do_vfs_ioctl+0x8b/0x5b0
[ 8130.281290]  ? __fget+0x72/0xa0
[ 8130.281291]  SyS_ioctl+0x74/0x80
[ 8130.281294]  entry_SYSCALL_64_fastpath+0x13/0x94
[ 8130.281295] RIP: 0033:0x7ff86fee6b27
[ 8130.281296] RSP: 002b:7ffe467f6a08 EFLAGS: 0246 ORIG_RAX: 
0010
[ 8130.281297] RAX: ffda RBX: d1a4d788 RCX: 7ff86fee6b27
[ 8130.281297] RDX: 7ffe467f6a14 RSI: 40045613 RDI: 0006
[ 8130.281298] RBP: 0373f8d0 R08:  R09: 7ff860001140
[ 8130.281298] R10: 0243 R11: 0246 R12: 
[ 8130.281299] R13: 00a0 R14: 7ffe467f6530 R15: 01f32228
[ 8130.281300] ---[ end trace 00695dc96be646e7 ]---

Signed-off-by: Anton Sviridenko 
---
 drivers/media/pci/solo6x10/solo6x10-v4l2.c | 12 
 1 file changed, 12 insertions(+)

diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c 
b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
index 896bec6..4163103 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
@@ -341,6 +341,18 @@ static void solo_stop_streaming(struct vb2_queue *q)
struct solo_dev *solo_dev = vb2_get_drv_priv(q);
 
solo_stop_thread(solo_dev);
+
+   spin_lock(&solo_dev->slock);
+   while (!list_empty(&solo_dev->vidq_active)) {
+   struct solo_vb2_buf *buf = list_entry(
+   solo_dev->vidq_active.next,
+   struct solo_vb2_buf, list);
+
+   list_del(&buf->list);
+   vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+   dbg_buf_cnt++;
+   }
+   spin_unlock(&solo_dev->slock);
INIT_LIST_HEAD(&solo_dev->vidq_active);
 }
 
-- 
2.10.2