Re: [PATCH v3 02/10] v4l: ctrls: Add deinterlacing mode control

2016-09-08 Thread Kieran Bingham
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

Re: [PATCH v3 05/10] v4l: fdp1: vb2_queue dev conversion

2016-09-08 Thread Kieran Bingham
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

Re: [PATCH v3 00/10] v4l: platform: Add Renesas R-Car FDP1 Driver

2016-09-08 Thread Kieran Bingham
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

Re: [PATCH v3 07/10] v4l: fdp1: Remove unused struct fdp1_v4l2_buffer

2016-09-09 Thread Kieran Bingham
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

Re: [PATCH v3 06/10] v4l: fdp1: Incorporate miscellaneous review comments

2016-09-11 Thread Kieran Bingham
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 > +++

Re: [PATCH v3 09/10] v4l: fdp1: Fix field validation when preparing buffer

2016-09-11 Thread Kieran Bingham
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

Re: [PATCH v3 10/10] v4l: fdp1: Store buffer information in vb2 buffer

2016-09-11 Thread Kieran Bingham
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

Re: [PATCH v3 08/10] v4l: fdp1: Rewrite format setting code

2016-09-11 Thread Kieran Bingham
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_

Re: [PATCH 04/13] v4l: vsp1: Repair race between frame end and qbuf handler

2016-09-14 Thread Kieran Bingham
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

Re: [PATCH 4/5] v4l2: async: Postpone subdev_notifier registration

2017-12-17 Thread Kieran Bingham
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

Re: [PATCH 4/5] v4l2: async: Postpone subdev_notifier registration

2017-12-17 Thread Kieran Bingham
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

[RFC/RFT PATCH 0/6] Asynchronous UVC

2018-01-03 Thread Kieran Bingham
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

[RFC/RFT PATCH 5/6] uvcvideo: queue: Support asynchronous buffer handling

2018-01-03 Thread Kieran Bingham
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

[RFC/RFT PATCH 6/6] uvcvideo: Move decode processing to process context

2018-01-03 Thread Kieran Bingham
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

[RFC/RFT PATCH 3/6] uvcvideo: Protect queue internals with helper

2018-01-03 Thread Kieran Bingham
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

[RFC/RFT PATCH 4/6] uvcvideo: queue: Simplify spin-lock usage

2018-01-03 Thread Kieran Bingham
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

[RFC/RFT PATCH 2/6] uvcvideo: Convert decode functions to use new context structure

2018-01-03 Thread Kieran Bingham
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

[RFC/RFT PATCH 1/6] uvcvideo: Refactor URB descriptors

2018-01-03 Thread Kieran Bingham
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

Re: [RFC/RFT PATCH 0/6] Asynchronous UVC

2018-01-04 Thread Kieran Bingham
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

Re: [RFC/RFT PATCH 6/6] uvcvideo: Move decode processing to process context

2018-01-06 Thread Kieran Bingham
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 >

Re: [RFC/RFT PATCH 1/6] uvcvideo: Refactor URB descriptors

2018-01-06 Thread Kieran Bingham
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

Re: [RFC/RFT PATCH 3/6] uvcvideo: Protect queue internals with helper

2018-01-06 Thread Kieran Bingham
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

[PATCH] v4l: doc: clarify v4l2_mbus_fmt height definition

2018-01-08 Thread Kieran Bingham
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 -

[PATCH] media: i2c: adv748x: fix HDMI field heights

2018-01-08 Thread Kieran Bingham
. 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

[PATCH v2] v4l: doc: Clarify v4l2_mbus_fmt height definition

2018-01-08 Thread Kieran Bingham
, 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

Re: [PATCH] media: i2c: adv748x: fix HDMI field heights

2018-01-08 Thread Kieran Bingham
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

Re: [PATCH] v4l: doc: clarify v4l2_mbus_fmt height definition

2018-01-08 Thread Kieran Bingham
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 >>>

[PATCH v2] media: i2c: adv748x: fix HDMI field heights

2018-01-08 Thread Kieran Bingham
. 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

[RFT PATCH v2 0/6] Asynchronous UVC

2018-01-09 Thread Kieran Bingham
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:

[RFT PATCH v2 4/6] uvcvideo: queue: Simplify spin-lock usage

2018-01-09 Thread 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 | 10 -- 1 file

[RFT PATCH v2 3/6] uvcvideo: Protect queue internals with helper

2018-01-09 Thread Kieran Bingham
: 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

[RFT PATCH v2 6/6] uvcvideo: Move decode processing to process context

2018-01-09 Thread Kieran Bingham
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-

[RFT PATCH v2 2/6] uvcvideo: Convert decode functions to use new context structure

2018-01-09 Thread 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 --- v2: - fix checkpatch

[RFT PATCH v2 5/6] uvcvideo: queue: Support asynchronous buffer handling

2018-01-09 Thread Kieran Bingham
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

[RFT PATCH v2 1/6] uvcvideo: Refactor URB descriptors

2018-01-09 Thread Kieran Bingham
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 |

Re: [RFT PATCH v2 6/6] uvcvideo: Move decode processing to process context

2018-01-11 Thread Kieran Bingham
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. > >

[RFT PATCH v3 5/6] uvcvideo: queue: Support asynchronous buffer handling

2018-01-12 Thread Kieran Bingham
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

[RFT PATCH v3 0/6] Asynchronous UVC

2018-01-12 Thread Kieran Bingham
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

[RFT PATCH v3 1/6] uvcvideo: Refactor URB descriptors

2018-01-12 Thread Kieran Bingham
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 |

[RFT PATCH v3 4/6] uvcvideo: queue: Simplify spin-lock usage

2018-01-12 Thread 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 | 10 -- 1 file

[RFT PATCH v3 6/6] uvcvideo: Move decode processing to process context

2018-01-12 Thread Kieran Bingham
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-

[RFT PATCH v3 3/6] uvcvideo: Protect queue internals with helper

2018-01-12 Thread Kieran Bingham
: 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

[RFT PATCH v3 2/6] uvcvideo: Convert decode functions to use new context structure

2018-01-12 Thread 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 --- v2: - fix checkpatch

Re: [RFT PATCH v3 6/6] uvcvideo: Move decode processing to process context

2018-01-12 Thread Kieran Bingham
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

[PATCH v5 0/9] vsp1: TLB optimisation and DL caching

2018-01-15 Thread Kieran Bingham
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

[PATCH v5 3/9] v4l: vsp1: Provide a body pool

2018-01-15 Thread Kieran Bingham
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

[PATCH v5 1/9] v4l: vsp1: Reword uses of 'fragment' as 'body'

2018-01-15 Thread Kieran Bingham
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,

[PATCH v5 2/9] v4l: vsp1: Protect bodies against overflow

2018-01-15 Thread Kieran Bingham
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

[PATCH v5 8/9] v4l: vsp1: Move video configuration to a cached dlb

2018-01-15 Thread Kieran Bingham
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-&

[PATCH v5 9/9] v4l: vsp1: Reduce display list body size

2018-01-15 Thread Kieran Bingham
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

[PATCH v5 4/9] v4l: vsp1: Convert display lists to use new body pool

2018-01-15 Thread Kieran Bingham
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

[PATCH v5 7/9] v4l: vsp1: Adapt entities to configure into a body

2018-01-15 Thread Kieran Bingham
, 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

[PATCH v5 6/9] v4l: vsp1: Refactor display list configure operations

2018-01-15 Thread Kieran Bingham
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

[PATCH v5 5/9] v4l: vsp1: Use reference counting for bodies

2018-01-15 Thread Kieran Bingham
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

[PATCH] v4l: async: Protect against double notifier regstrations

2018-01-16 Thread Kieran Bingham
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

Re: [RFT PATCH v3 0/6] Asynchronous UVC

2018-01-16 Thread Kieran Bingham
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

Re: [PATCH] v4l: async: Protect against double notifier regstrations

2018-01-16 Thread Kieran Bingham
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

[PATCH v2] v4l: async: Protect against double notifier registrations

2018-01-16 Thread Kieran Bingham
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

[PATCH 1/2] media: adv7604: Add support for i2c_new_secondary_device

2018-01-22 Thread Kieran Bingham
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

[PATCH 0/2] Add support for i2c_new_secondary_device

2018-01-22 Thread Kieran Bingham
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):

[PATCH 2/2] drm: adv7511: Add support for i2c_new_secondary_device

2018-01-22 Thread Kieran Bingham
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

Re: [PATCH 2/2] drm: adv7511: Add support for i2c_new_secondary_device

2018-01-22 Thread Kieran Bingham
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. >>

Re: [PATCH v2] v4l: async: Protect against double notifier registrations

2018-01-25 Thread Kieran Bingham
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

Re: [PATCH 2/2] drm: adv7511: Add support for i2c_new_secondary_device

2018-02-07 Thread Kieran Bingham
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

Re: [PATCH 2/2] drm: adv7511: Add support for i2c_new_secondary_device

2018-02-07 Thread Kieran Bingham
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.

Re: [PATCH 1/2] media: adv7604: Add support for i2c_new_secondary_device

2018-02-07 Thread Kieran Bingham
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

[PATCH 0/2] media: i2c: adv748x: Fix CBUS page issue

2018-02-07 Thread Kieran Bingham
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

[PATCH 2/2] media: i2c: adv748x: Add missing CBUS page.

2018-02-07 Thread Kieran Bingham
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

[PATCH 1/2] media: i2c: adv748x: Simplify regmap configuration

2018-02-07 Thread Kieran Bingham
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

[PATCH] media: i2c: adv748x: Fix cleanup jump on chip identification

2018-02-07 Thread Kieran Bingham
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 ("

Re: [ANN] Draft Agenda for the media summit on Thursday Oct 25th in Edinburgh

2018-09-24 Thread Kieran Bingham
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

Re: [RFC] Informal meeting during ELCE to discuss userspace support for stateless codecs

2018-10-08 Thread Kieran Bingham
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

Re: [PATCH] vicodec: lower minimum height to 360

2018-10-10 Thread Kieran Bingham
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-

Re: [PATCH] media: intel-ipu3: cio2: Remove redundant definitions

2018-10-11 Thread Kieran Bingham
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

Re: uvcvideo: IR camera lights only every second frame

2018-10-30 Thread Kieran Bingham
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

[PATCH v5 5/9] media: uvcvideo: queue: Support asynchronous buffer handling

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 6/9] media: uvcvideo: Move decode processing to process context

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 2/9] media: uvcvideo: Convert decode functions to use new context structure

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 1/9] media: uvcvideo: Refactor URB descriptors

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 4/9] media: uvcvideo: queue: Simplify spin-lock usage

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 0/9] Asynchronous UVC

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 7/9] media: uvcvideo: Split uvc_video_enable into two

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 9/9] media: uvcvideo: Utilise for_each_uvc_urb iterator

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 8/9] media: uvcvideo: Rename uvc_{un,}init_video()

2018-11-06 Thread Kieran Bingham
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

[PATCH v5 3/9] media: uvcvideo: Protect queue internals with helper

2018-11-06 Thread Kieran Bingham
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

Re: [PATCH v5 7/9] media: uvcvideo: Split uvc_video_enable into two

2018-11-07 Thread Kieran Bingham
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

Re: [PATCH v5 6/9] media: uvcvideo: Move decode processing to process context

2018-11-07 Thread Kieran Bingham
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 >

Re: [PATCH v5 9/9] media: uvcvideo: Utilise for_each_uvc_urb iterator

2018-11-07 Thread Kieran Bingham
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.

Re: [PATCH v5 8/9] media: uvcvideo: Rename uvc_{un,}init_video()

2018-11-07 Thread Kieran Bingham
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

Re: [PATCH v5 0/9] Asynchronous UVC

2018-11-09 Thread Kieran Bingham
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

Re: [PATCH v5 8/9] media: uvcvideo: Rename uvc_{un,}init_video()

2018-11-09 Thread Kieran Bingham
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

[PATCH v6 00/10] Asynchronous UVC

2018-11-09 Thread Kieran Bingham
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

[PATCH v6 01/10] media: uvcvideo: Refactor URB descriptors

2018-11-09 Thread Kieran Bingham
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/

[PATCH v6 02/10] media: uvcvideo: Convert decode functions to use new context structure

2018-11-09 Thread 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 --- v2: - fix checkpatch

[PATCH v6 05/10] media: uvcvideo: queue: Support asynchronous buffer handling

2018-11-09 Thread Kieran Bingham
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

[PATCH v6 04/10] media: uvcvideo: queue: Simplify spin-lock usage

2018-11-09 Thread 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: Laurent Pinchart --- v4

[PATCH v6 03/10] media: uvcvideo: Protect queue internals with helper

2018-11-09 Thread Kieran Bingham
: 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

[PATCH v6 07/10] media: uvcvideo: Move decode processing to process context

2018-11-09 Thread Kieran Bingham
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-

[PATCH v6 09/10] media: uvcvideo: Rename uvc_{un,}init_video()

2018-11-09 Thread Kieran Bingham
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

[PATCH v6 10/10] media: uvcvideo: Utilise for_each_uvc_urb iterator

2018-11-09 Thread 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 --- v6: - rename lone &#

  1   2   3   4   5   6   7   8   9   >