Re: AW: AW: v4l2_buffer with PBO mapped memory

2014-04-15 Thread Hans Verkuil
On 04/15/2014 08:04 AM, Thomas Scheuermann wrote:
> Hi Laurent,
> 
> On 11.04.2014 07:56, Thomas Scheuermann wrote:
>> Hi Laurent,
>>
>> On 07.04.2014 01:37, Laurent Pinchart wrote:
>>> Hi Thomas,
>>>
>>> On Friday 04 April 2014 20:01:33 Scheuermann, Mail wrote:
 Hi Laurent,

 I've done the following:

 echo 3 >/sys/module/videobuf2_core/parameters/debug

 and found in /var/log/kern.log after starting my program:

 [239432.535077] vb2: Buffer 0, plane 0 offset 0x
 [239432.535080] vb2: Buffer 1, plane 0 offset 0x001c2000
 [239432.535082] vb2: Buffer 2, plane 0 offset 0x00384000
 [239432.535083] vb2: Allocated 3 buffers, 1 plane(s) each
 [239432.535085] vb2: qbuf: userspace address for plane 0 changed,
 reacquiring memory
 [239432.535087] vb2: qbuf: failed acquiring userspace memory for
 plane 0
>>> This confirms everything is working properly up to the point where
>>> videobuf2-
>>> vmalloc fails to acquire the user pointer memory. The problem comes from
>>> vb2_vmalloc_get_userptr() in
>>> drivers/media/v4l2-core/videobuf2-vmalloc.c.
>>> Unfortunately that function lacks debugging. Are you familiar enough
>>> with
>>> kernel programming to add printk statements there and see where it
>>> fails ?
>> I was able to put some debug output in vb2_vmalloc_get_userptr.
>> A call to 'vb2_get_contig_userptr' failed.

Unless I am mistaken vb2_get_contig_userptr() requires that the userptr
points to physically contiguous memory, but that should not be a
requirement for videobuf2-vmalloc.

Pawel, any idea why vb2_get_contig_userptr() is used here?

Regards,

Hans

>> I will also put some debug code there to get more information.
> 
> In vb2_get_contig_userptr I saw that the call to 'follow_pfn' failed and
> returned -22.
> Do you know what the problem here is?
 [239432.535088] vb2: qbuf: buffer preparation failed: -22
 [239432.535128] vb2: streamoff: not streaming
>>
>> This message is subject to the following terms and conditions: MAIL
>> DISCLAIMER
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-media" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> This message is subject to the following terms and conditions: MAIL 
> DISCLAIMER
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: AW: AW: v4l2_buffer with PBO mapped memory

2014-04-14 Thread Thomas Scheuermann

Hi Laurent,

On 11.04.2014 07:56, Thomas Scheuermann wrote:

Hi Laurent,

On 07.04.2014 01:37, Laurent Pinchart wrote:

Hi Thomas,

On Friday 04 April 2014 20:01:33 Scheuermann, Mail wrote:

Hi Laurent,

I've done the following:

echo 3 >/sys/module/videobuf2_core/parameters/debug

and found in /var/log/kern.log after starting my program:

[239432.535077] vb2: Buffer 0, plane 0 offset 0x
[239432.535080] vb2: Buffer 1, plane 0 offset 0x001c2000
[239432.535082] vb2: Buffer 2, plane 0 offset 0x00384000
[239432.535083] vb2: Allocated 3 buffers, 1 plane(s) each
[239432.535085] vb2: qbuf: userspace address for plane 0 changed,
reacquiring memory
[239432.535087] vb2: qbuf: failed acquiring userspace memory for
plane 0

This confirms everything is working properly up to the point where
videobuf2-
vmalloc fails to acquire the user pointer memory. The problem comes from
vb2_vmalloc_get_userptr() in
drivers/media/v4l2-core/videobuf2-vmalloc.c.
Unfortunately that function lacks debugging. Are you familiar enough
with
kernel programming to add printk statements there and see where it
fails ?

I was able to put some debug output in vb2_vmalloc_get_userptr.
A call to 'vb2_get_contig_userptr' failed.
I will also put some debug code there to get more information.


In vb2_get_contig_userptr I saw that the call to 'follow_pfn' failed and
returned -22.
Do you know what the problem here is?

[239432.535088] vb2: qbuf: buffer preparation failed: -22
[239432.535128] vb2: streamoff: not streaming


This message is subject to the following terms and conditions: MAIL
DISCLAIMER
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


This message is subject to the following terms and conditions: MAIL 
DISCLAIMER
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: AW: AW: v4l2_buffer with PBO mapped memory

2014-04-10 Thread Thomas Scheuermann

Hi Laurent,

On 07.04.2014 01:37, Laurent Pinchart wrote:

Hi Thomas,

On Friday 04 April 2014 20:01:33 Scheuermann, Mail wrote:

Hi Laurent,

I've done the following:

echo 3 >/sys/module/videobuf2_core/parameters/debug

and found in /var/log/kern.log after starting my program:

[239432.535077] vb2: Buffer 0, plane 0 offset 0x
[239432.535080] vb2: Buffer 1, plane 0 offset 0x001c2000
[239432.535082] vb2: Buffer 2, plane 0 offset 0x00384000
[239432.535083] vb2: Allocated 3 buffers, 1 plane(s) each
[239432.535085] vb2: qbuf: userspace address for plane 0 changed,
reacquiring memory
[239432.535087] vb2: qbuf: failed acquiring userspace memory for plane 0

This confirms everything is working properly up to the point where videobuf2-
vmalloc fails to acquire the user pointer memory. The problem comes from
vb2_vmalloc_get_userptr() in drivers/media/v4l2-core/videobuf2-vmalloc.c.
Unfortunately that function lacks debugging. Are you familiar enough with
kernel programming to add printk statements there and see where it fails ?

I was able to put some debug output in vb2_vmalloc_get_userptr.
A call to 'vb2_get_contig_userptr' failed.
I will also put some debug code there to get more information.

[239432.535088] vb2: qbuf: buffer preparation failed: -22
[239432.535128] vb2: streamoff: not streaming


This message is subject to the following terms and conditions: MAIL 
DISCLAIMER
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: AW: AW: v4l2_buffer with PBO mapped memory

2014-04-06 Thread Laurent Pinchart
Hi Thomas,

On Friday 04 April 2014 20:01:33 Scheuermann, Mail wrote:
> Hi Laurent,
> 
> I've done the following:
> 
> echo 3 >/sys/module/videobuf2_core/parameters/debug
> 
> and found in /var/log/kern.log after starting my program:
> 
> [239432.535077] vb2: Buffer 0, plane 0 offset 0x
> [239432.535080] vb2: Buffer 1, plane 0 offset 0x001c2000
> [239432.535082] vb2: Buffer 2, plane 0 offset 0x00384000
> [239432.535083] vb2: Allocated 3 buffers, 1 plane(s) each
> [239432.535085] vb2: qbuf: userspace address for plane 0 changed,
> reacquiring memory
> [239432.535087] vb2: qbuf: failed acquiring userspace memory for plane 0

This confirms everything is working properly up to the point where videobuf2-
vmalloc fails to acquire the user pointer memory. The problem comes from 
vb2_vmalloc_get_userptr() in drivers/media/v4l2-core/videobuf2-vmalloc.c. 
Unfortunately that function lacks debugging. Are you familiar enough with 
kernel programming to add printk statements there and see where it fails ?

> [239432.535088] vb2: qbuf: buffer preparation failed: -22
> [239432.535128] vb2: streamoff: not streaming

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html