clude/uapi/linux/v4l2-controls.h
> @@ -892,6 +892,7 @@ enum v4l2_jpeg_chroma_subsampling {
> #define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE
> + 1)
> #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE
> + 2)
> #define V4L2_CID_TEST_PATTERN
Update the signature of fdp1_queue_setup(),
> - Convert the FDP1 driver to use the new vb2_queue dev field, cfr.
> commit 53ddcc683faef8c7 ("[media] media/platform: convert drivers to
> use the new vb2_queue dev field").
>
> Signed-off-by: Geert Uytterhoeven
This l
river. This is experimental
> and doesn't fix any known bug. I've included the patch in the series to get
> feedback on whether this is a good idea.
>
> Kieran, I noticed that your patches are authored by
>
> Kieran Bingham
>
> Is that correct or sho
On 07/09/16 23:25, Laurent Pinchart wrote:
> The structure is not used, remove it.
Ahh yes, looks like a left over from my first attempt at serialising
input fields.
Reviewed-by: Kieran Bingham
> Signed-off-by: Laurent Pinchart
> ---
> drivers/media/platform/rcar
OLORSPACE_REC709 for ycbcr_enc
> - Fix handling of V4L2_FIELD_INTERLACED
> - Use the standard V4L2_CID_DEINTERLACER_MODE control
> - Add missing white space
>
> Signed-off-by: Laurent Pinchart
Reviewed-by: Kieran Bingham
> ---
> drivers/media/platform/rcar_fdp1.c | 111
> +++
ial) but it
certainly isn't a bad thing to verify they are what we were told they
would be :D
--
Reviewed-by: Kieran Bingham
> Signed-off-by: Laurent Pinchart
> ---
> drivers/media/platform/rcar_fdp1.c | 40
> +++---
> 1 file changed, 33 insert
Removing the late allocations, and preparing the buffers early is
clearly more elegant and less prone to failure.
Thanks
Kieran
...
Obligatory over tagging
Acked-by: Kieran Bingham
Reviewed-by: Kieran Bingham
On 07/09/16 23:25, Laurent Pinchart wrote:
> The struct fdp1_buffer instances
I've gone through this one as well, and certainly seems like some much
better approaches in there.
I can't find anything to fault it.
Acked-by: Kieran Bingham
Reviewed-by: Kieran Bingham
Thanks again,
Kieran
On 07/09/16 23:25, Laurent Pinchart wrote:
> The handling of the TRY_
On 14/09/16 00:16, Laurent Pinchart wrote:
> From: Kieran Bingham
>
> The frame-end function releases and completes the buffers on the input
> and output entities of the pipe before marking the pipe->state as
> 'STOPPED'. This introduces a race whereby with the pipe
Hi Jacopo,
Thank you for the patch,
This seems like a good thing to do at a glance here, but I'll leave contextual
judgement like that to Sakari.
A few minor grammatical nits here and a question on locking.
On 13/12/17 18:26, Jacopo Mondi wrote:
> Currently, subdevice notifiers are tested again
On 17/12/17 13:10, Kieran Bingham wrote:
> Hi Jacopo,
>
> Thank you for the patch,
>
> This seems like a good thing to do at a glance here, but I'll leave contextual
> judgement like that to Sakari.
Oh - I hit send and *then* my mail client wakes up and tells me Sakar
From: Kieran Bingham
The Linux UVC driver has long provided adequate performance capabilities for
web-cams and low data rate video devices in Linux while resolutions were low.
Modern USB cameras are now capable of high data rates thanks to USB3 with
1080p, and even 4k capture resolutions
From: Kieran Bingham
The buffer queue interface currently operates sequentially, processing
buffers after they have fully completed.
In preparation for supporting parallel tasks operating on the buffers,
we will need to support buffers being processed on multiple CPUs.
Adapt the
From: Kieran Bingham
Newer high definition cameras, and cameras with multiple lenses such as
the range of stereovision cameras now available have ever increasing
data rates.
The inclusion of a variable length packet header in URB packets mean
that we must memcpy the frame data out to our
From: Kieran Bingham
The URB completion operation obtains the current buffer by reading
directly into the queue internal interface.
Protect this queue abstraction by providing a helper
uvc_queue_get_current_buffer() which can be used by both the decode
task, and the uvc_queue_next_buffer
From: Kieran Bingham
Both uvc_start_streaming(), and uvc_stop_streaming() are called from
userspace context. As such, they do not need to save the IRQ state, and
can use spin_lock_irq() and spin_unlock_irq() respectively.
Signed-off-by: Kieran Bingham
---
drivers/media/usb/uvc/uvc_queue.c
From: Kieran Bingham
The URB completion handlers currently reference the stream context.
Now that each URB has its own context structure, convert the decode (and
one encode) functions to utilise this context for URB management.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
From: Kieran Bingham
We currently store three separate arrays for each URB reference we hold.
Objectify the data needed to track URBs into a single uvc_urb structure,
allowing better object management and tracking of the URB.
All accesses to the data pointers through stream, are converted to
Hi Troy,
On 03/01/18 21:13, Troy Kisky wrote:
> On 1/3/2018 12:32 PM, Kieran Bingham wrote:
>> From: Kieran Bingham
>>
>> The Linux UVC driver has long provided adequate performance capabilities for
>> web-cams and low data rate video devices in Linux while resolutions
Hi Guennadi,
Thank you for taking the time to review this series,
On 04/01/18 18:54, Guennadi Liakhovetski wrote:
> On Wed, 3 Jan 2018, Kieran Bingham wrote:
>
>> From: Kieran Bingham
>>
>> Newer high definition cameras, and cameras with multiple lenses such as
>
Hi Guennadi,
Thanks for your review,
On 04/01/18 18:24, Guennadi Liakhovetski wrote:
> Hi Kieran,
>
> Just minor suggestions below:
>
> On Wed, 3 Jan 2018, Kieran Bingham wrote:
>
>> From: Kieran Bingham
>>
>> We currently store three separate a
Hi Guennadi,
On 04/01/18 18:25, Guennadi Liakhovetski wrote:
> Hi Kieran,
>
> On Wed, 3 Jan 2018, Kieran Bingham wrote:
>
>> From: Kieran Bingham
>>
>> The URB completion operation obtains the current buffer by reading
>> directly into the queue internal
terminology of 'image height' rather than
the misleading 'frame height'.
Signed-off-by: Kieran Bingham
---
Documentation/media/uapi/v4l/subdev-formats.rst | 6 --
include/uapi/linux/v4l2-mediabus.h | 4 ++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff -
.
Adjust the mbus height to correctly describe the image height of the
fields when processing interlaced video for HDMI pipelines.
Fixes: 3e89586a64df ("media: i2c: adv748x: add adv748x driver")
Signed-off-by: Kieran Bingham
---
drivers/media/i2c/adv748x/adv748x-hdmi.c | 4
1 file
, and by matching the terminology of
'image height' rather than the misleading 'frame height'.
Signed-off-by: Kieran Bingham
---
v2:
- Duplicated explicit text from v4l2_pix_format rather than
referencing it.
Documentation/media/uapi/v4l/subdev-formats.rst | 8 ++--
inc
Hi Niklas,
On 08/01/18 17:56, Niklas Söderlund wrote:
> Hi Kieran,
>
> Thanks for your patch.
>
> On 2018-01-08 17:39:30 +, Kieran Bingham wrote:
>> The ADV748x handles interlaced media using V4L2_FIELD_ALTERNATE field
>> types. The correct specification for th
Thanks for your patch.
>>
>> On 2018-01-08 17:13:53 +0200, Sakari Ailus wrote:
>>> Hi Kieran,
>>>
>>> On Mon, Jan 08, 2018 at 02:45:49PM +, Kieran Bingham wrote:
>>>> The v4l2_mbus_fmt width and height corresponds directly with the
>>>
.
Adjust the mbus height to correctly describe the image height of the
fields when processing interlaced video for HDMI pipelines.
Fixes: 3e89586a64df ("media: i2c: adv748x: add adv748x driver")
Reviewed-by: Niklas Söderlund
Signed-off-by: Kieran Bingham
---
v2:
- switch conditional to
f USB cameras.
v2:
- Fix up comments and issues raised by Guennadi
Kieran Bingham (6):
uvcvideo: Refactor URB descriptors
uvcvideo: Convert decode functions to use new context structure
uvcvideo: Protect queue internals with helper
uvcvideo: queue: Simplify spin-lock usage
uvcvideo:
Both uvc_start_streaming(), and uvc_stop_streaming() are called from
userspace context. As such, they do not need to save the IRQ state, and
can use spin_lock_irq() and spin_unlock_irq() respectively.
Signed-off-by: Kieran Bingham
---
drivers/media/usb/uvc/uvc_queue.c | 10 --
1 file
: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- Fix coding style of conditional statements
drivers/media/usb/uvc/uvc_queue.c | 33 +++-
drivers/media/usb/uvc/uvc_video.c | 7 +--
drivers/media/usb/uvc/uvcvideo.h | 2 ++-
3 files changed, 31 insertions
x27;.
This can result in data rates of up to 2 gigabits per second being
processed.
To improve efficiency, and maximise throughput, handle the URB decode
processing through a work queue to move it from interrupt context, and
allow multiple processors to work on URBs in parallel.
Signed-off-
The URB completion handlers currently reference the stream context.
Now that each URB has its own context structure, convert the decode (and
one encode) functions to utilise this context for URB management.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- fix checkpatch
reference count tracks the
active use of the buffer, returning the buffer to the VB2 stack at
completion.
Signed-off-by: Kieran Bingham
---
drivers/media/usb/uvc/uvc_queue.c | 61 ++--
drivers/media/usb/uvc/uvcvideo.h | 4 ++-
2 files changed, 54 insertions(+), 11
for consistency.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- Re-describe URB context structure
- Re-name uvc_urb->{urb_buffer,urb_dma}{buffer,dma}
drivers/media/usb/uvc/uvc_video.c | 49 +++-
drivers/media/usb/uvc/uvcvideo.h |
Hi Kieran !
Thanking you for the patch might be rather self serving here :D
On 09/01/18 13:09, Kieran Bingham wrote:
> Newer high definition cameras, and cameras with multiple lenses such as
> the range of stereo-vision cameras now available have ever increasing
> data rates.
>
>
reference count tracks the
active use of the buffer, returning the buffer to the VB2 stack at
completion.
Signed-off-by: Kieran Bingham
---
drivers/media/usb/uvc/uvc_queue.c | 61 ++--
drivers/media/usb/uvc/uvcvideo.h | 4 ++-
2 files changed, 54 insertions(+), 11
queue work if required (encode/isight do not queue work)
- Refactor/Rename variables for clarity
Kieran Bingham (6):
uvcvideo: Refactor URB descriptors
uvcvideo: Convert decode functions to use new context structure
uvcvideo: Protect queue internals with helper
uvcvideo: queue: Simplify spin
for consistency.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- Re-describe URB context structure
- Re-name uvc_urb->{urb_buffer,urb_dma}{buffer,dma}
---
drivers/media/usb/uvc/uvc_video.c | 49 +++-
drivers/media/usb/uvc/uvcvideo.h |
Both uvc_start_streaming(), and uvc_stop_streaming() are called from
userspace context. As such, they do not need to save the IRQ state, and
can use spin_lock_irq() and spin_unlock_irq() respectively.
Signed-off-by: Kieran Bingham
---
drivers/media/usb/uvc/uvc_queue.c | 10 --
1 file
x27;.
This can result in data rates of up to 2 gigabits per second being
processed.
To improve efficiency, and maximise throughput, handle the URB decode
processing through a work queue to move it from interrupt context, and
allow multiple processors to work on URBs in parallel.
Signed-off-
: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- Fix coding style of conditional statements
---
drivers/media/usb/uvc/uvc_queue.c | 33 +++-
drivers/media/usb/uvc/uvc_video.c | 7 +--
drivers/media/usb/uvc/uvcvideo.h | 2 ++-
3 files changed, 31
The URB completion handlers currently reference the stream context.
Now that each URB has its own context structure, convert the decode (and
one encode) functions to utilise this context for URB management.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- fix checkpatch
Hi Guennadi,
Thanks for your review and time on this.
I certainly appreciate the extra eyes here!
On 12/01/18 09:37, Guennadi Liakhovetski wrote:
> Hi Kieran,
>
> On Fri, 12 Jan 2018, Kieran Bingham wrote:
>
>> Newer high definition cameras, and cameras with multiple len
0,50,60,100,110,150,160,200,210,250,255: pass
Testing histogram HGT with hue areas
10,20,50,60,100,110,150,160,200,210,230,240: pass
Testing histogram HGT with hue areas
240,20,60,80,100,120,140,160,180,200,210,220: pass
- vsp-unit-test-0024.sh
Test requires unavailable feature set `rpf.0 rpf.1
multiple display list
bodies in a single allocation, and providing these to the display list
through a 'body pool'. A pool can be allocated by the display list
manager or entities which require their own body allocations.
Signed-off-by: Kieran Bingham
---
v4:
- Provide comment explai
ing
pluralised terms.
Signed-off-by: Kieran Bingham
---
drivers/media/platform/vsp1/vsp1_clu.c | 10 +-
drivers/media/platform/vsp1/vsp1_dl.c | 107 --
drivers/media/platform/vsp1/vsp1_dl.h | 14 +--
drivers/media/platform/vsp1/vsp1_lut.c | 8 +-
4 files changed,
buffer overflows.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v3:
- adapt for new 'body' terminology
- simplify WARN_ON macro usage
---
drivers/media/platform/vsp1/vsp1_dl.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/drivers/media/platform/vsp1/vs
set - our cached configuration
will be re-attached to the next committed DL.
Signed-off-by: Kieran Bingham
---
v3:
- 's/fragment/body/', 's/fragments/bodies/'
- video dlb cache allocation increased from 2 to 3 dlbs
Our video DL usage now looks like the below output:
dl-&
frame, for both DRM and Video API pipelines thus a
rounded 64 entries provides a suitable allocation.
Signed-off-by: Kieran Bingham
---
drivers/media/platform/vsp1/vsp1_dl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/vsp1/vsp1_dl.c
b/drivers/media
ore the hardware has committed a previous
set of tables.
Bodies are no longer 'freed' in interrupt context, but instead released
back to their respective pools. This allows us to remove the garbage
collector in the DLM.
Signed-off-by: Kieran Bingham
---
v3:
- 's/fragment/body
, vsp1_dl_list_get_body0() is provided to access the internal body0
from the display list.
Signed-off-by: Kieran Bingham
---
v4:
- Rename vsp1_dl_list_get_body() to vsp1_dl_list_get_body0()
The similarities between vsp1_dl_list_get_body and
vsp1_dl_list_body_get() were too close
- body0
vidual partitions is handled by
passing the partition number to the configure call, and processing any
runtime stage actions on the first partition only.
Signed-off-by: Kieran Bingham
---
drivers/media/platform/vsp1/vsp1_bru.c| 12 +-
drivers/media/platform/vsp1/vsp1_clu.c| 42 +--
drivers
Extend the display list body with a reference count, allowing bodies to
be kept as long as a reference is maintained. This provides the ability
to keep a cached copy of bodies which will not change, so that they can
be re-applied to multiple display lists.
Signed-off-by: Kieran Bingham
---
This
From: Kieran Bingham
It can be easy to attempt to register the same notifier twice
in mis-handled error cases such as working with -EPROBE_DEFER.
This results in odd kernel crashes where the notifier_list becomes
corrupted due to adding the same entry twice.
Protect against this so that a
Hi Phillip
On 15/01/18 19:35, Philipp Zabel wrote:
> Hi Kieran,
>
> On Fri, Jan 12, 2018 at 10:19 AM, Kieran Bingham
> wrote:
>> This series has been tested on both the ZED and BRIO cameras on arm64
>> platforms, however due to the intrinsic changes in the driver I
Hi Sakari,
Thanks for the quick review.
On 16/01/18 15:23, Sakari Ailus wrote:
> Hi Kieran,
>
> On Tue, Jan 16, 2018 at 02:52:58PM +0000, Kieran Bingham wrote:
>> From: Kieran Bingham
>>
>> It can be easy to attempt to register the same notifier twice
>> i
From: Kieran Bingham
It can be easy to attempt to register the same notifier twice
in mis-handled error cases such as working with -EPROBE_DEFER.
This results in odd kernel crashes where the notifier_list becomes
corrupted due to adding the same entry twice.
Protect against this so that a
devices on the same bus may be resolved at
the board description level.
Signed-off-by: Jean-Michel Hautbois
[Kieran: Re-adapted for mainline]
Signed-off-by: Kieran Bingham
---
Based upon the original posting :
https://lkml.org/lkml/2014/10/22/469
---
.../devicetree/bindings/media/i2c/adv7604.txt
Renesas D3 platform where these two devices reside on
the same bus and conflict with each other presently..
[0] https://lkml.org/lkml/2014/10/22/468
[1] https://lkml.org/lkml/2014/10/22/469
Jean-Michel Hautbois (1):
media: adv7604: Add support for i2c_new_secondary_device
Kieran Bingham (1):
resolved at
the board description level.
Signed-off-by: Kieran Bingham
---
.../bindings/display/bridge/adi,adv7511.txt| 10 +-
drivers/gpu/drm/bridge/adv7511/adv7511.h | 4 +++
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 36 ++
3 files changed, 37
On 22/01/18 13:00, Lars-Peter Clausen wrote:
> On 01/22/2018 01:50 PM, Kieran Bingham wrote:
>> The ADV7511 has four 256-byte maps that can be accessed via the main I²C
>> ports. Each map has it own I²C address and acts as a standard slave
>> device on the I²C bus.
>>
Hi Geert,
Thanks for the review
On 17/01/18 08:00, Geert Uytterhoeven wrote:
> Hi Kieran,
>
> On Wed, Jan 17, 2018 at 12:47 AM, Kieran Bingham
> wrote:
>> From: Kieran Bingham
>>
>> It can be easy to attempt to register the same notifier twice
>> in mis
Hi Archit,
Thank you for your review,
On 29/01/18 04:11, Archit Taneja wrote:
> Hi,
>
> On 01/22/2018 06:20 PM, Kieran Bingham wrote:
>> The ADV7511 has four 256-byte maps that can be accessed via the main I²C
>> ports. Each map has it own I²C address and acts as a standa
Hi Laurent,
On 29/01/18 10:26, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
Thanks for your review,
> On Monday, 22 January 2018 14:50:00 EET Kieran Bingham wrote:
>> The ADV7511 has four 256-byte maps that can be accessed via the main I²C
>> ports.
Hi Rob,
On 29/01/18 20:08, Rob Herring wrote:
> On Mon, Jan 22, 2018 at 12:49:56PM +0000, Kieran Bingham wrote:
>> From: Jean-Michel Hautbois
>>
>> The ADV7604 has thirteen 256-byte maps that can be accessed via the main
>> I²C ports. Each map has it own I²C address a
From: Kieran Bingham
The ADV748x has 12 pages mapped on to I2C addresses.
The existing implementation only has 11 of these in the map enumeration, and
this can cause an off-by-one error when programming the map addresses.
This short series simplifies the regmap configuration tables, and adds
From: Kieran Bingham
The ADV748x has 12 pages mapped onto I2C addresses.
In the existing implementation only 11 are mapped correctly in the page
enumerations, which causes an off-by-one fault on pages above the
infoframe definition due to a missing 'CBUS' page.
This causes the addre
From: Kieran Bingham
The ADV748x has identical map configurations for each register map. The
duplication of each map can be simplified using a helper macro such that
each map is represented on a single line.
Define ADV748X_REGMAP_CONF for this purpose and un-define after it's
use.
Signe
From: Kieran Bingham
The error handling for the adv748x_identify_chip() call erroneously
jumps to the err_cleanup_clients label before the clients have been
established.
Correct this by jumping to the next (and correct) label in the cleanup
code: err_cleanup_dt.
Fixes: 3e89586a64df ("
Hi Hans, Mauro,
I believe I selected attendance when registering for the conference, but
please add my name to the list here as well.
I have a small topic which might start off in the hallway track before
hand that I'd like to kick off too.
"Fault tolerant V4L2" ...
In other words, how should w
Hi Hans
On 08/10/18 12:53, Hans Verkuil wrote:
> Hi all,
>
> I would like to meet up somewhere during the ELCE to discuss userspace support
> for stateless (and perhaps stateful as well?) codecs.
>
> It is also planned as a topic during the summit, but I would prefer to prepare
> for that in adv
zes too ?
I could certainly acknowledge it's worth providing a means for a
userspace app to test that it handles minimum sizes correctly.
> Signed-off-by: Hans Verkuil
If the minimum is desired:
Reviewed-by: Kieran Bingham
> ---
> diff --git a/drivers/media/platform/vicodec/vicodec-
Hi Rajmohan
Thank you for the patch,
On 10/10/18 00:42, Rajmohan Mani wrote:
> Removed redundant CIO2_IMAGE_MAX_* definitions
>
> Fixes: c2a6a07afe4a ("media: intel-ipu3: cio2: add new MIPI-CSI2 driver")
>
> Signed-off-by: Rajmohan Mani
Reviewed-by: Kieran Bingha
Hi Jiri,
On 30/10/2018 14:36, Jiri Slaby wrote:
> Hi,
>
> I have a Dell Lattitude 7280 with two webcams. The standard one works
> fine (/dev/video0). The other one is an IR camera (/dev/video1). The
> camera proper works fine and produces 340x374 frames. But there is an IR
> led supposed to light
From: Kieran Bingham
The buffer queue interface currently operates sequentially, processing
buffers after they have fully completed.
In preparation for supporting parallel tasks operating on the buffers,
we will need to support buffers being processed on multiple CPUs.
Adapt the
From: Kieran Bingham
Newer high definition cameras, and cameras with multiple lenses such as
the range of stereo-vision cameras now available have ever increasing
data rates.
The inclusion of a variable length packet header in URB packets mean
that we must memcpy the frame data out to our
From: Kieran Bingham
The URB completion handlers currently reference the stream context.
Now that each URB has its own context structure, convert the decode (and
one encode) functions to utilise this context for URB management.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
From: Kieran Bingham
We currently store three separate arrays for each URB reference we hold.
Objectify the data needed to track URBs into a single uvc_urb structure,
allowing better object management and tracking of the URB.
All accesses to the data pointers through stream, are converted to
From: Kieran Bingham
Both uvc_start_streaming(), and uvc_stop_streaming() are called from
userspace context, with interrupts enabled. As such, they do not need to
save the IRQ state, and can use spin_lock_irq() and spin_unlock_irq()
respectively.
Signed-off-by: Kieran Bingham
Reviewed-by
From: Kieran Bingham
The Linux UVC driver has long provided adequate performance capabilities for
web-cams and low data rate video devices in Linux while resolutions were low.
Modern USB cameras are now capable of high data rates thanks to USB3 with
1080p, and even 4k capture resolutions
From: Kieran Bingham
uvc_video_enable() is used both to start and stop the video stream
object, however the single function entry point shares no code between
the two operations.
Split the function into two distinct calls, and rename to
uvc_video_start_streaming() and uvc_video_stop_streaming
From: Kieran Bingham
A new iterator is available for processing UVC URB structures. This
simplifies the processing of the internal stream data.
Convert the manual loop iterators to the new helper, adding an index
helper to keep the existing debug print.
Signed-off-by: Kieran Bingham
---
This
From: Kieran Bingham
We have both uvc_init_video() and uvc_video_init() calls which can be
quite confusing to determine the process for each. Now that video
uvc_video_enable() has been renamed to uvc_video_start_streaming(),
adapt these calls to suit the new flow.
Rename uvc_init_video() to
From: Kieran Bingham
The URB completion operation obtains the current buffer by reading
directly into the queue internal interface.
Protect this queue abstraction by providing a helper
uvc_queue_get_current_buffer() which can be used by both the decode
task, and the uvc_queue_next_buffer
Hi Laurent,
On 06/11/2018 23:08, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
>
> On Tuesday, 6 November 2018 23:27:18 EET Kieran Bingham wrote:
>> From: Kieran Bingham
>>
>> uvc_video_enable() is used both to start and stop the video str
On 06/11/2018 22:58, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
>
> On Tuesday, 6 November 2018 23:27:17 EET Kieran Bingham wrote:
>> From: Kieran Bingham
>>
>> Newer high definition cameras, and cameras with multiple lenses such as
>
Hi Laurent,
On 06/11/2018 23:21, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
>
> On Tuesday, 6 November 2018 23:27:20 EET Kieran Bingham wrote:
>> From: Kieran Bingham
>>
>> A new iterator is available for processing UVC URB structures.
Hi Laurent,
On 06/11/2018 23:13, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
>
> On Tuesday, 6 November 2018 23:27:19 EET Kieran Bingham wrote:
>> From: Kieran Bingham
>>
>> We have both uvc_init_video() and uvc_video_init() calls w
Hi Laurent,
On 08/11/2018 17:01, Laurent Pinchart wrote:
> Hi Kieran,
>
> On Wednesday, 7 November 2018 01:31:29 EET Laurent Pinchart wrote:
>> On Tuesday, 6 November 2018 23:27:11 EET Kieran Bingham wrote:
>>> From: Kieran Bingham
>>>
>>> The L
On 09/11/2018 15:41, Philipp Zabel wrote:
> On Wed, 2018-11-07 at 22:25 +0200, Laurent Pinchart wrote:
>> Hi Kieran,
>>
>> On Wednesday, 7 November 2018 16:30:46 EET Kieran Bingham wrote:
>>> On 06/11/2018 23:13, Laurent Pinchart wrote:
>>>> On Tuesday, 6
rkqueue.
- Append _transfer to {_stop,_start} in uvc_video_{stop,start}_transfer
- rename lone 'j' iterator to 'i'
- Remove conversion which doesn't make sense due to needing the
iterator value.
Kieran Bingham (10):
media: uvcvideo: Refactor URB descriptors
medi
for consistency.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- Re-describe URB context structure
- Re-name uvc_urb->{urb_buffer,urb_dma}{buffer,dma}
v3:
- No change
v4:
- Rebase on top of linux-media/master (v4.16-rc4, metadata additions)
drivers/media/usb/
The URB completion handlers currently reference the stream context.
Now that each URB has its own context structure, convert the decode (and
one encode) functions to utilise this context for URB management.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- fix checkpatch
reference count tracks the
active use of the buffer, returning the buffer to the VB2 stack at
completion.
Signed-off-by: Kieran Bingham
v5:
- uvc_queue_requeue() -> uvc_queue_buffer_requeue()
- Fix comment
---
drivers/media/usb/uvc/uvc_queue.c | 61 ++--
driv
Both uvc_start_streaming(), and uvc_stop_streaming() are called from
userspace context, with interrupts enabled. As such, they do not need to
save the IRQ state, and can use spin_lock_irq() and spin_unlock_irq()
respectively.
Signed-off-by: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v4
: Kieran Bingham
Reviewed-by: Laurent Pinchart
---
v2:
- Fix coding style of conditional statements
v3:
- No change
v4:
- Rebase on top of linux-media/master (v4.16-rc4, metadata additions)
drivers/media/usb/uvc/uvc_queue.c | 33 +++-
drivers/media/usb/uvc
x27;.
This can result in data rates of up to 2 gigabits per second being
processed.
To improve efficiency, and maximise throughput, handle the URB decode
processing through a work queue to move it from interrupt context, and
allow multiple processors to work on URBs in parallel.
Signed-off-
uvc_uninit_video() to
uvc_video_stop().
Signed-off-by: Kieran Bingham
---
v6:
- Append _transfer to {_stop,_start}
drivers/media/usb/uvc/uvc_video.c | 20 +++-
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/media/usb/uvc/uvc_video.c
b/drivers/media/usb/uvc
A new iterator is available for processing UVC URB structures. This
simplifies the processing of the internal stream data.
Convert the manual loop iterators to the new helper, adding an index
helper to keep the existing debug print.
Signed-off-by: Kieran Bingham
---
v6:
- rename lone
1 - 100 of 848 matches
Mail list logo