hat commit on top of mainline and
see if it fixes the problem for you ?
> I'm running on x86_64.
--
Regards,
Laurent Pinchart
this file to be in the i2c realm. Maybe
> 'include/linux/i2c-sccb.h" or something. I will come back to this.
And while at it, I think we also need a .c file, the functions (and especially
sccb_read_byte()) should not be static inline.
--
Regards,
Laurent Pinchart
t;
> > Are there anyone else planning to either be there physically or via
> > Google Hangouts?
>
> My name is Paul Elder. I am a university student studying computer science,
> and I am interested in complex camera support in Linux.
>
> If it's not too late, could I join this meeting as well please, as I am in
> Tokyo?
For the record, Paul is working with Kieran and me on V4L2 (and UVC in
particular).
--
Regards,
Laurent Pinchart
&video->queue_lock);
> vb2_queue_release(&handle->queue);
> mutex_unlock(&video->queue_lock);
>
> @@ -1449,7 +1408,6 @@ int omap3isp_video_init(struct isp_video *video, const
> char *name) atomic_set(&video->active, 0);
>
> spin_lock_init(&video->pipe.lock);
> - mutex_init(&video->stream_lock);
> mutex_init(&video->queue_lock);
> spin_lock_init(&video->irqlock);
>
> @@ -1474,7 +1432,6 @@ void omap3isp_video_cleanup(struct isp_video *video)
> {
> media_entity_cleanup(&video->video.entity);
> mutex_destroy(&video->queue_lock);
> - mutex_destroy(&video->stream_lock);
> mutex_destroy(&video->mutex);
> }
>
> diff --git a/drivers/media/platform/omap3isp/ispvideo.h
> b/drivers/media/platform/omap3isp/ispvideo.h index
> f6a2082b4a0a..5a8fba85e0eb 100644
> --- a/drivers/media/platform/omap3isp/ispvideo.h
> +++ b/drivers/media/platform/omap3isp/ispvideo.h
> @@ -167,7 +167,6 @@ struct isp_video {
>
> /* Pipeline state */
> struct isp_pipeline pipe;
> - struct mutex stream_lock; /* pipeline and stream states */
The queue_lock now covers more than just the queue, please update the comment
to list the fields that are protected by the mutex.
> bool error;
>
> /* Video buffers queue */
--
Regards,
Laurent Pinchart
32 id;
> __u32 entity_id;
> __u32 flags;
> - __u32 reserved[5];
> + __u32 index;
> + __u32 reserved[4];
> } __attribute__ ((packed));
>
> struct media_v2_link {
--
Regards,
Laurent Pinchart
#x27;t think we need to care about backward
compatibility as this API clearly could not have been used by application.
Apart from that the documentation update looks good to me.
> +* - __u32
> + - ``reserved``\ [4]
> - Reserved for future extensions. Drivers and applications must set
> this array to zero.
--
Regards,
Laurent Pinchart
<< 8) | 0))
Same comment here as for patch 01/12. It also applies to patch 04/12.
> struct media_v2_entity {
> __u32 id;
> char name[64];
> __u32 function; /* Main function of the entity */
> - __u32 reserved[6];
> + __u32 flags;
> + __u32 reserved[5];
> } __attribute__ ((packed));
>
> /* Should match the specific fields at media_intf_devnode */
--
Regards,
Laurent Pinchart
ets the function for these drivers.
That's also my only concern with this patch (alternatively that change could
be split to a separate patch).
--
Regards,
Laurent Pinchart
y a parallel video bus with sync
> + signals) and output this to a digital video output connector such
> + as HDMI or DisplayPort.
This is slightly vague in my opinion, but not worse than the definition of
MEDIA_ENT_F_DV_DECODER, so I'm fine with it.
Reviewed-by: Laurent Pinchart
Hi Hans,
Thank you for the patch.
On Friday, 29 June 2018 14:43:26 EEST Hans Verkuil wrote:
> From: Hans Verkuil
>
> Keep the function defines in numerical order: 0x6000 comes after
> 0x2000, so move it back.
>
> Signed-off-by: Hans Verkuil
Reviewed-by: Laurent Pinchart
Hi Hans,
Thank you for the patch.
On Friday, 29 June 2018 14:43:27 EEST Hans Verkuil wrote:
> From: Hans Verkuil
>
> These two drivers both have function MEDIA_ENT_F_DV_ENCODER.
>
> Signed-off-by: Hans Verkuil
> Acked-by: Sakari Ailus
Reviewed-by: Laurent Pinchart
cked-by: Sakari Ailus
Reviewed-by: Laurent Pinchart
> ---
> drivers/media/i2c/adv7180.c | 2 +-
> drivers/media/i2c/tvp514x.c | 2 +-
> drivers/media/i2c/tvp7002.c | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/i2c/adv7180.c b/driver
Hi Hans,
Thank you for the patch.
On Friday, 29 June 2018 14:43:29 EEST Hans Verkuil wrote:
> From: Hans Verkuil
>
> Several drivers in media/i2c do not set the entity function.
> Correct this.
>
> Signed-off-by: Hans Verkuil
> Acked-by: Sakari Ailus
Reviewed
dices to be stable, but
couldn't new pads still be inserted in the array ? The array wouldn't be
sorted by pad index anymore, but I don't think we require that. If we want to
I don't have any objection, but it should then be documented.
> * - __u32
> - ``flags``
--
Regards,
Laurent Pinchart
@@ id's until they get an error.
> - ``id``
> -
> -
> - - Entity id, set by the application. When the id is or'ed with
> + - Entity id, set by the application. When the ID is or'ed with
Should you also s/Entity id/Entity ID/ for consistency ?
Apa
772x: allow i2c
> controllers without I2C_FUNC_PROTOCOL_MANGLING"), reading ov772x register
> is replaced with issuing two separated i2c messages in order to avoid
> repeated start. Using SCCB helpers hides the implementation detail.
>
> Cc: Peter Rosin
> Cc: Sebastian Reichel
> Cc: Wolfr
even when not used. I think it will also cause the compiler to emit warnings
for unused functions. I don't think that's a good idea.
> I'd be fine with that, there are not many SCCB useres out there...
>
> But if you insist on drivers/i2c/i2c-sccb.c, then it should be a
> seperate module, I'd think?
Given how small the functions are, I wouldn't request that, as it would
introduce another Kconfig symbol, but I'm not opposed to such a new module
either.
--
Regards,
Laurent Pinchart
ff-by: Guennadi Liakhovetski
Reviewed-by: Laurent Pinchart
and applied to my tree. I'll proceed to patches 2/3 and 3/3 tomorrow
(Wednesday).
> ---
> drivers/media/usb/uvc/uvc_ctrl.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/u
his do "lsusb", note what is the : for your camera and then
> run:
>
> sudo lsusb -v -d : > lsusb.log
>
> And send Laurent a mail with the generated lsusb
That would be appreciated, but I expect the same issue :-(
--
Regards,
Laurent Pinchart
Hi Hans,
On Wednesday, 11 July 2018 14:00:38 EEST Laurent Pinchart wrote:
> On Wednesday, 11 July 2018 11:37:14 EEST Hans de Goede wrote:
> > Hi Laurent,
> >
> > At Guadec Carlos (in the Cc) told me that on his Acer 2-in-1 only
> > the frontcam is working and it seem
Hi Hans,
On Monday, 9 July 2018 16:40:51 EEST Hans Verkuil wrote:
> On 09/07/18 14:55, Laurent Pinchart wrote:
> > On Friday, 29 June 2018 14:43:20 EEST Hans Verkuil wrote:
> >> From: Hans Verkuil
> >>
> >> The v2 pad structure never exposed the pad index, w
Hi Hans,
On Monday, 9 July 2018 16:42:09 EEST Hans Verkuil wrote:
> On 09/07/18 15:00, Laurent Pinchart wrote:
> > On Friday, 29 June 2018 20:40:49 EEST Ezequiel Garcia wrote:
> >> On 29 June 2018 at 08:43, Hans Verkuil wrote:
> >>> From: Hans Verkuil
> &g
Hi Carlos,
On Wednesday, 11 July 2018 14:36:48 EEST Carlos Garnacho wrote:
> On Wed, Jul 11, 2018 at 1:00 PM, Laurent Pinchart wrote:
> > On Wednesday, 11 July 2018 11:37:14 EEST Hans de Goede wrote:
> >> Hi Laurent,
> >>
> >> At Guadec Carlos (in the Cc)
vers/media/usb/uvc/uvcvideo.h index be5cf17..0e5e920 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -12,6 +12,7 @@
> #include
> #include
> #include
> +#include
> #include
> #include
> #include
> @@ -256,6 +257,8 @@ struct uvc_control {
> initialized:1;
>
> u8 *uvc_data;
> +
> + struct uvc_fh *handle; /* Used for asynchronous event delivery */
> };
>
> struct uvc_format_desc {
> @@ -600,6 +603,14 @@ struct uvc_device {
> u8 *status;
> struct input_dev *input;
> char input_phys[64];
> +
> + struct uvc_ctrl_work {
> + struct work_struct work;
> + struct urb *urb;
> + struct uvc_video_chain *chain;
> + struct uvc_control *ctrl;
> + const void *data;
> + } async_ctrl;
> };
>
> enum uvc_handle_state {
> @@ -753,6 +764,8 @@ int uvc_ctrl_add_mapping(struct uvc_video_chain *chain,
> int uvc_ctrl_init_device(struct uvc_device *dev);
> void uvc_ctrl_cleanup_device(struct uvc_device *dev);
> int uvc_ctrl_restore_values(struct uvc_device *dev);
> +bool uvc_ctrl_status_event(struct urb *urb, struct uvc_video_chain *chain,
> +struct uvc_control *ctrl, const u8 *data);
>
> int uvc_ctrl_begin(struct uvc_video_chain *chain);
> int __uvc_ctrl_commit(struct uvc_fh *handle, int rollback,
> @@ -770,7 +783,7 @@ static inline int uvc_ctrl_rollback(struct uvc_fh
> *handle) }
>
> int uvc_ctrl_get(struct uvc_video_chain *chain, struct v4l2_ext_control
> *xctrl); -int uvc_ctrl_set(struct uvc_video_chain *chain, struct
> v4l2_ext_control *xctrl); +int uvc_ctrl_set(struct uvc_fh *handle, struct
> v4l2_ext_control *xctrl);
>
> int uvc_xu_ctrl_query(struct uvc_video_chain *chain,
> struct uvc_xu_control_query *xqry);
> diff --git a/include/uapi/linux/uvcvideo.h b/include/uapi/linux/uvcvideo.h
> index 020714d..f80f05b 100644
> --- a/include/uapi/linux/uvcvideo.h
> +++ b/include/uapi/linux/uvcvideo.h
> @@ -28,6 +28,8 @@
> #define UVC_CTRL_FLAG_RESTORE(1 << 6)
> /* Control can be updated by the camera. */
> #define UVC_CTRL_FLAG_AUTO_UPDATE(1 << 7)
> +/* Control supports asynchronous reporting */
> +#define UVC_CTRL_FLAG_ASYNCHRONOUS (1 << 8)
>
> #define UVC_CTRL_FLAG_GET_RANGE \
> (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \
--
Regards,
Laurent Pinchart
Hi Hans,
On Wednesday, 11 July 2018 15:41:10 EEST Hans de Goede wrote:
> On 11-07-18 14:08, Laurent Pinchart wrote:
> > On Wednesday, 11 July 2018 14:36:48 EEST Carlos Garnacho wrote:
> >> On Wed, Jul 11, 2018 at 1:00 PM, Laurent Pinchart wrote:
> >>> On Wednesday, 1
How should we proceed with this patch?
>
> IMO 5d0fd3c806b9 should be applied as well. It's effectively a bugfix as
> well (but which also, for most users, covered the problem fixed by
> 9c0863b1cc48).
>
> Laurent, could you confirm?
That seems good to me.
--
Regards,
Laurent Pinchart
Commit 2cc1802f62e5 removed code without removing a local variable that
ended up being unused. This results in a compilation warning, fix it.
Fixes: 2cc1802f62e5 ("media: vb2: Keep dma-buf buffers mapped until they are
freed")
Signed-off-by: Laurent Pinchart
---
drivers/media/common
vc_video.c | 8
2 files changed, 19 insertions(+), 3 deletions(-)
--
Regards,
Laurent Pinchart
om
> > pointer
> >
> > Signed-off-by: Hans Verkuil
>
> This look fine to me.
>
> Reviewed-by: Kieran Bingham
Even though I believe we should fix tooling instead of code to handle
these issues, the patch for uvcvideo doesn't adversely affect the code,
so
Reviewed-by
sue in smath, and I don't like it.
Where will we draw the line if we accept it ? Will we start rejecting
all nested function calls or macros because we have a tooling issue ?
This one really needs to be fixed in smatch, the code is totally fine.
> if (unlikely(ret < 0)) {
> dev_warn(isp->dev, "get_fmt returned null!\n");
> return ret;
--
Regards,
Laurent Pinchart
pad, get_fmt, NULL, &fmt);
> + sd = media_entity_to_v4l2_subdev(link->sink->entity);
> + ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &fmt);
> if (ret < 0)
> return -EPIPE;
>
--
Regards,
Laurent Pinchart
p3/4 patches in favor of this one, which is a much, much
> cleaner solution.
Thank you for looking into this. Great work :-)
Reviewed-by: Laurent Pinchart
> >> ---
> >> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> >> index 47af609dc8f1..34
; > +Example:
> > +
> > +The following example shows the DIP shared memory setup for MT8183.
> > +
> > + reserved-memory {
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > + ranges;
> > + reserve-memory-isp_smem {
> > + compatible = "mediatek,reserve-memory-dip_smem";
> > + size = <0 0x140>;
> > + alignment = <0 0x1000>;
> > + alloc-ranges = <0 0x4000 0 0x5000>;
> > + };
> > + };
--
Regards,
Laurent Pinchart
Perhaps "SoCs"?
>
> > + Please set the larb of camsys for Pass 1 and imgsys for DIP, or both
> > + if you are using all the camera function. You can see
> > + Documentation/devicetree/bindings/memory-controllers/
> > + mediatek,smi-larb.txt for the detail.
> > +
> > +Example:
> > + isp_smem: isp_smem {
> > + compatible = "mediatek,isp_smem";
> > + mediatek,larb = <&larb5>;
> > + iommus = <&iommu M4U_PORT_CAM_IMGI>;
> > + };
--
Regards,
Laurent Pinchart
ator-XS-H3 ES2.0 : 164 tests: 148 passed, 0 failed, 3 skipped
> and
> Salvator-XS-M3N : 164 tests: 148 passed, 0 failed, 3 skipped
>
>
> Tested-by: Kieran Bingham
> Tested-on: Salvator-XS-ES2.0, Salvator-XS-M3N
Taken in my tree with all these tags and my
Revi
nly fills in part of the info. E.g. if the full
> bus_info is usb-:01:00.0-1.4.2, then the media bus_info only has 1.4.2.
>
> Signed-off-by: Hans Verkuil
This makes sense, even if in the long run we'll likely have to revisit
bus info.
Reviewed-by: Laurent Pinchart
and applied
| 6 --
5 files changed, 14 insertions(+), 11 deletions(-)
--
Regards,
Laurent Pinchart
@@ int parse_cmdline(int argc, char **argv)
> }
>
> /* parse options */
> - while ((opt = getopt_long(argc, argv, "d:e:f:hil:prvV:",
> + while ((opt = getopt_long(argc, argv, "b:d:e:f:hil:prvV:",
> opts, NULL)) != -1) {
> switch (opt) {
> + case 'b':
> + media_opts.devname = find_bus_info(optarg);
> + if (!media_opts.devname) {
> + fprintf(stderr, "Error: no media device with
> bus info '%s' found\n",
> + optarg);
> + return 1;
> + }
> + break;
> +
> case 'd':
> - media_opts.devname = optarg;
> + media_opts.devname = make_devname(optarg);
> break;
>
> case 'e':
--
Regards,
Laurent Pinchart
if (!ret && !strcmp(device, mdi.bus_info)) {
> + closedir(dp);
> + return newdev;
> + }
> + }
> + }
> + closedir(dp);
> + return device;
> +}
> +
> int parse_cmdline(int argc, char **argv)
> {
> int opt;
> @@ -175,7 +225,7 @@ int parse_cmdline(int argc, char **argv)
> opts, NULL)) != -1) {
> switch (opt) {
> case 'd':
> - media_opts.devname = optarg;
> + media_opts.devname = make_devname(optarg);
> break;
>
> case 'e':
--
Regards,
Laurent Pinchart
The VSP-DL instances have two LIFs, and thus two copies of the
VI6_DISP_IRQ_ENB, VI6_DISP_IRQ_STA and VI6_WPF_WRBCK_CTRL registers. Fix
the corresponding macros accordingly.
Signed-off-by: Laurent Pinchart
---
drivers/media/platform/vsp1/vsp1_drm.c | 4 ++--
drivers/media/platform/vsp1
eo.h | 6 +
drivers/media/platform/vsp1/vsp1_wpf.c | 65 ++--
11 files changed, 378 insertions(+), 75 deletions(-)
--
Regards,
Laurent Pinchart
Display list fragments have been renamed to bodies. Replace one last
occurrence of the word fragment in the documentation.
Signed-off-by: Laurent Pinchart
---
drivers/media/platform/vsp1/vsp1_dl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/platform
e full image width in that case, as is already done for the
part of the configuration currently relevant for display pipelines.
Signed-off-by: Laurent Pinchart
---
drivers/media/platform/vsp1/vsp1_wpf.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers
mplete_buffer(video, done);
return next;
}
@@ -352,7 +357,7 @@ static void vsp1_video_frame_end(struct vsp1_pipeline *pipe,
struct vsp1_video *video = rwpf->video;
struct vsp1_vb2_buffer *buf;
- buf = vsp1_video_complete_buffer(video);
+ buf = vsp1_video_complete_next_buffer(video);
if (buf == NULL)
return;
--
Regards,
Laurent Pinchart
To prepare for addition of more flags to the display list, replace the
'internal' flag field by a bitmask 'flags' field.
Signed-off-by: Laurent Pinchart
---
drivers/media/platform/vsp1/vsp1_dl.c| 31 +---
drivers/media/platform/vsp1/vsp1_dl.h|
spin_unlock_irqrestore(&video->irqlock, flags);
- return done;
- }
-
list_del(&done->queue);
if (!list_empty(&video->irqqueue))
--
Regards,
Laurent Pinchart
.
Signed-off-by: Kieran Bingham
Signed-off-by: Laurent Pinchart
---
Changes since v3:
- Infer has_writeback from the number of LIFs and the generation
- Remove vsp1_video::is_writeback
- Describe writeback video nodes as 'writeback'
- Add mechanism to patch active display lists
- Handle
Hi Brian,
On Mon, Feb 18, 2019 at 12:22:58PM +, Brian Starkey wrote:
> On Sun, Feb 17, 2019 at 04:48:45AM +0200, Laurent Pinchart wrote:
> > Hello,
> >
> > This patch series implements display writeback support for the R-Car
> > Gen3 platforms in the VSP1 driver.
Hi Kieran,
On Sun, Feb 17, 2019 at 08:16:27PM +, Kieran Bingham wrote:
> On 17/02/2019 02:48, Laurent Pinchart wrote:
> > The WPF accesses partition configuration from pipe->partition in the
> > partition configuration that is not used for display pipelines.
>
> That
Hi Kieran,
On Sun, Feb 17, 2019 at 08:35:25PM +, Kieran Bingham wrote:
> On 17/02/2019 02:48, Laurent Pinchart wrote:
> > The vsp1_video_complete_buffer() function completes the current buffer
> > and returns a pointer to the next buffer. Split the code that completes
>
Hi Kieran,
On Sun, Feb 17, 2019 at 08:06:32PM +, Kieran Bingham wrote:
> On 17/02/2019 02:48, Laurent Pinchart wrote:
> > From: Kieran Bingham
> >
> > When the VSP1 is used in an active display pipeline, the output of the
> > WPF can supply the LIF entity direct
Separate iteration over controls from printing, in order to reuse the
iteration to implement control reset.
Signed-off-by: Laurent Pinchart
---
yavta.c | 134 +++-
1 file changed, 83 insertions(+), 51 deletions(-)
diff --git a/yavta.c b
From: Kieran Bingham
Provide a new option '--reset-controls' which will enumerate the
available controls on a device or sub-device, and re-initialise them to
defaults.
Signed-off-by: Kieran Bingham
Signed-off-by: Laurent Pinchart
---
ya
main(int argc, char *argv[])
> case OPT_QUEUE_LATE:
> do_queue_late = 1;
> break;
> + case OPT_RESET_CONTROLS:
> + do_reset_controls = 1;
> + break;
> case OPT_REQUEUE_LAST:
> do_requeue_last = 1;
> break;
> @@ -2185,7 +2219,10 @@ int main(int argc, char *argv[])
> set_control(&dev, ctrl_name, ctrl_value);
>
> if (do_list_controls)
> - video_list_controls(&dev);
> + video_list_controls(&dev, false);
> +
> + if (do_reset_controls)
> + video_list_controls(&dev, true);
>
> if (do_enum_formats) {
> printf("- Available formats:\n");
> --
> 2.17.1
>
--
Regards,
Laurent Pinchart
x27;s
time to get them merged.
Kieran Bingham (1):
Add support to reset device controls
Laurent Pinchart (6):
yavta: Refactor video_list_controls()
Implement VIDIOC_QUERY_EXT_CTRL support
Implement compound control get support
Implement compound control set support
Support setting control
Signed-off-by: Laurent Pinchart
---
yavta.c | 25 +
1 file changed, 25 insertions(+)
diff --git a/yavta.c b/yavta.c
index 1490878c6f7e..2d49131a4271 100644
--- a/yavta.c
+++ b/yavta.c
@@ -1334,6 +1334,31 @@ static int video_parse_control_array(const struct
Only arrays of integer types are supported.
Signed-off-by: Laurent Pinchart
---
yavta.c | 228 ++--
1 file changed, 172 insertions(+), 56 deletions(-)
diff --git a/yavta.c b/yavta.c
index 6428c22f88d7..d1bfd380c03b 100644
--- a/yavta.c
+++ b
Separate iteration over controls from printing, in order to reuse the
iteration to implement control reset.
Signed-off-by: Laurent Pinchart
---
yavta.c | 133 ++--
1 file changed, 82 insertions(+), 51 deletions(-)
diff --git a/yavta.c b
From: Kieran Bingham
Provide a new option '--reset-controls' which will enumerate the
available controls on a device or sub-device, and re-initialise them to
defaults.
Signed-off-by: Kieran Bingham
Signed-off-by: Laurent Pinchart
---
ya
As we include a copy of the V4L2 kernel headers, there's no need for
conditional compilation to support old versions of the API.
Signed-off-by: Laurent Pinchart
---
yavta.c | 11 ---
1 file changed, 11 deletions(-)
diff --git a/yavta.c b/yavta.c
index 2d49131a4271..741df82a8db0 1
Signed-off-by: Laurent Pinchart
---
yavta.c | 154 ++--
1 file changed, 115 insertions(+), 39 deletions(-)
diff --git a/yavta.c b/yavta.c
index eb50d592736f..6428c22f88d7 100644
--- a/yavta.c
+++ b/yavta.c
@@ -529,6 +529,7 @@ static int
Use the new extended control query ioctl when available with an
automatic fall back to VIDIOC_QUERYCTRL.
Signed-off-by: Laurent Pinchart
---
yavta.c | 63 +++--
1 file changed, 48 insertions(+), 15 deletions(-)
diff --git a/yavta.c b/yavta.c
Hi Sakari,
On Wed, Feb 20, 2019 at 03:21:57PM +0200, Sakari Ailus wrote:
> On Wed, Feb 20, 2019 at 02:51:17PM +0200, Laurent Pinchart wrote:
> > Separate iteration over controls from printing, in order to reuse the
> > iteration to implement control reset.
> >
> > Sign
Hi Sakari,
On Wed, Feb 20, 2019 at 04:06:43PM +0200, Sakari Ailus wrote:
> On Wed, Feb 20, 2019 at 02:51:19PM +0200, Laurent Pinchart wrote:
> > Signed-off-by: Laurent Pinchart
> > ---
> > yavta.c | 154 ++--
> > 1 f
Hello,
This small series fixes issues in yavta reported during the review of
the compound control support patches.
Laurent Pinchart (3):
Fix emulation of old API for string controls
Print numerical control type for unsupported types
Fix control array parsing
yavta.c | 13 ++---
1
Help diagnosing problems by reporting the type of unsupported control
types instead of just printing "unsupported".
Signed-off-by: Laurent Pinchart
---
yavta.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/yavta.c b/yavta.c
index 7d9c40c9f9be..86447f3f057d 10
Commit 4480b561404f ("Implement compound control set support") didn't
properly parse control array values. Fix it.
Fixes: 4480b561404f ("Implement compound control set support")
Signed-off-by: Laurent Pinchart
---
yavta.c | 5 +++--
1 file changed, 3 insertions(+), 2 d
_HAS_PAYLOAD
and compound control API for the older API.
Fixes: 2f146567186f ("Implement compound control get support")
Fixes: 4480b561404f ("Implement compound control set support")
Signed-off-by: Laurent Pinchart
---
yavta.c | 6 ++
1 file changed, 6 insertions(+)
diff
Hi Brian,
On Mon, Feb 18, 2019 at 12:22:58PM +, Brian Starkey wrote:
> On Sun, Feb 17, 2019 at 04:48:45AM +0200, Laurent Pinchart wrote:
> > Hello,
> >
> > This patch series implements display writeback support for the R-Car
> > Gen3 platforms in the VSP1 driver.
Hi Brian,
On Thu, Feb 21, 2019 at 09:50:19AM +, Brian Starkey wrote:
> On Thu, Feb 21, 2019 at 10:23:17AM +0200, Laurent Pinchart wrote:
> > On Mon, Feb 18, 2019 at 12:22:58PM +, Brian Starkey wrote:
> >> On Sun, Feb 17, 2019 at 04:48:45AM +0200, Laurent Pinchart
Hi Brian,
On Thu, Feb 21, 2019 at 12:19:13PM +, Brian Starkey wrote:
> On Thu, Feb 21, 2019 at 12:02:57PM +0200, Laurent Pinchart wrote:
> > On Thu, Feb 21, 2019 at 09:50:19AM +, Brian Starkey wrote:
> >> On Thu, Feb 21, 2019 at 10:23:17AM +0200, Laurent Pinchart wrote:
so be argued that the checks are unnecessary and
can be dropped completely. The best would be to review the call paths to
ensure the functions can indeed never be called with NULL, but a quick
look at the code shows no other NULL check in functions taking a m2m_ctx
pointer as argument, so I'd vote for just dropping the two offending
checks.
Care to submit a patch ? :-)
--
Regards,
Laurent Pinchart
Hi Brian,
On Thu, Feb 21, 2019 at 01:44:56PM +, Brian Starkey wrote:
> On Thu, Feb 21, 2019 at 02:23:10PM +0200, Laurent Pinchart wrote:
> > On Thu, Feb 21, 2019 at 12:19:13PM +, Brian Starkey wrote:
>
> [snip]
>
> >> I used a pre-existing internal t
On Wed, Feb 20, 2019 at 11:34:28PM +0200, Sakari Ailus wrote:
> On Wed, Feb 20, 2019 at 05:19:49PM +0200, Laurent Pinchart wrote:
> > Hello,
> >
> > This small series fixes issues in yavta reported during the review of
> > the compound control support patches.
&
Hi Hans,
Thank you for the patch.
On Thu, Feb 21, 2019 at 03:21:43PM +0100, Hans Verkuil wrote:
> The media chardev kobject has no name, which made it hard to
> debug when kobject debugging is turned on.
>
> Signed-off-by: Hans Verkuil
Reviewed-by: Laurent Pinchart
> ---
&
igned-off-by: Hans Verkuil
Reviewed-by: Laurent Pinchart
> ---
> drivers/media/platform/vivid/vivid-vid-out.c | 14 +-
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/media/platform/vivid/vivid-vid-out.c
> b/drivers/media/platform/vivid/
Hi Hans,
Thank you for the patch.
On Thu, Feb 21, 2019 at 03:21:42PM +0100, Hans Verkuil wrote:
> The cec chardev kobject has no name, which made it hard to
> debug when kobject debugging is turned on.
>
> Signed-off-by: Hans Verkuil
Reviewed-by: Laurent Pinchart
> ---
>
> }
> EXPORT_SYMBOL_GPL(media_entity_enum_cleanup);
>
--
Regards,
Laurent Pinchart
2m_probe(struct platform_device *pdev)
> video_unregister_device(&dev->vfd);
> unreg_v4l2:
> v4l2_device_unregister(&dev->v4l2_dev);
> +unreg_free:
I'd call the label error_free, and rename the other ones with an error_
prefix, as you don&
l_handler;
> err = __video_register_device(vdev, VFL_TYPE_SUBDEV, -1, 1,
> sd->owner);
> @@ -319,6 +312,7 @@ void v4l2_device_unregister_subdev(struct v4l2_subdev *sd)
> }
> #endif
> video_unregister_device(sd->devnode);
> + sd->devnode = NULL;
> if (!sd->owner_v4l2_dev)
> module_put(sd->owner);
> }
--
Regards,
Laurent Pinchart
_ent_device *ved,
> @@ -467,7 +474,7 @@ static int vimc_cap_comp_bind(struct device *comp, struct
> device *master,
> vdev = &vcap->vdev;
> vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
> vdev->entity.ops = &vimc_cap_mops;
>
hould be
dropped, but we still have 8 drivers relying on it. Hans, do you think
we will ever move forward with this ? Could some of the drivers be
dropped ?
--
Regards,
Laurent Pinchart
Hi Sakari,
On Wed, Feb 20, 2019 at 11:26:52PM +0200, Sakari Ailus wrote:
> On Wed, Feb 20, 2019 at 02:51:22PM +0200, Laurent Pinchart wrote:
> > Signed-off-by: Laurent Pinchart
> > ---
> > yavta.c | 25 +
> > 1 file changed, 25 insertions(+)
&g
Hi Jacopo,
On Mon, Feb 18, 2019 at 10:21:07AM +0100, Jacopo Mondi wrote:
> On Tue, Jan 22, 2019 at 05:20:30PM +0200, Laurent Pinchart wrote:
> > On Tue, Jan 22, 2019 at 05:15:06PM +0200, Sakari Ailus wrote:
> >> On Wed, Jan 16, 2019 at 12:57:43AM +0200, Laurent Pinchart wrote:
; >
> > @@ -2475,6 +2506,7 @@ struct v4l2_create_buffers {
> > #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
> >
> > #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct
> > v4l2_query_ext_ctrl)
> > +#defineVIDIOC_DQ_EXT_EVENT _IOR('V', 104, struct v4l2_ext_event)
> >
> > /* Reminder: when adding new ioctls please add support for them to
> > drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
--
Regards,
Laurent Pinchart
ices. It is used in conjunction
> >> +with the R-Car VIN module, which provides the video capture capabilities.
> >>
> >> Mandatory properties
> >>
> >> - compatible: Must be one or more of the following
> >> + - "renesas,r8a774a1-csi2" for the R8A774A1 device.
> >> - "renesas,r8a7795-csi2" for the R8A7795 device.
> >> - "renesas,r8a7796-csi2" for the R8A7796 device.
> >> - "renesas,r8a77965-csi2" for the R8A77965 device.
--
Regards,
Laurent Pinchart
Bulk
> > Synch Type None
> > Usage Type Data
> > wMaxPacketSize 0x0400 1x 1024 bytes
> > bInterval 0
> > bMaxBurst 15
> > Interface Descriptor:
> > bLength 9
> > bDescriptorType 4
> > bInterfaceNumber2
> > bAlternateSetting 0
> > bNumEndpoints 1
> > bInterfaceClass 3 Human Interface Device
> > bInterfaceSubClass 0 No Subclass
> > bInterfaceProtocol 0 None
> > iInterface 0
> > HID Device Descriptor:
> > bLength 9
> > bDescriptorType33
> > bcdHID 1.11
> > bCountryCode0 Not supported
> > bNumDescriptors 1
> > bDescriptorType34 Report
> > wDescriptorLength 29
> > Warning: incomplete report descriptor
> > Report Descriptor: (length is 7)
> > Item(Main ): (null), data=none
> > Item(Main ): (null), data=none
> > Item(Main ): (null), data=none
> > Item(Main ): (null), data=none
> > Item(Main ): (null), data=none
> > Item(Main ): (null), data=none
> > Item(Main ): (null), data=none
> > Endpoint Descriptor:
> > bLength 7
> > bDescriptorType 5
> > bEndpointAddress 0x81 EP 1 IN
> > bmAttributes3
> > Transfer TypeInterrupt
> > Synch Type None
> > Usage Type Data
> > wMaxPacketSize 0x0040 1x 64 bytes
> > bInterval 10
> > bMaxBurst 0
> > Device Status: 0x77e8
> > (Bus Powered)
> > U2 Enabled
> > Debug Mode
> >
> >
> > I would appreciate any pointers to see if I can get this working.
--
Regards,
Laurent Pinchart
4l2_try_format`, can
> `stream->nformats` be 0? I saw that in other files, this field could be zero
> which is considered as error cases. I was wondering if it's true for this
> function, too.
The uvc_parse_streaming() function should answer this question :-)
--
Regards,
Laurent Pinchart
truct vm_area_struct *vma)
> > diff --git a/drivers/media/usb/uvc/uvcvideo.h
> > b/drivers/media/usb/uvc/uvcvideo.h
> > index c7c1baa..5d0515c 100644
> > --- a/drivers/media/usb/uvc/uvcvideo.h
> > +++ b/drivers/media/usb/uvc/uvcvideo.h
> > @@ -766,6 +766,8 @@ struct uvc_buffer *uvc_queue_next_buffer(struct
> > uvc_video_queue *queue,
> > struct uvc_buffer *buf);
> > struct uvc_buffer *uvc_queue_get_current_buffer(struct uvc_video_queue
> > *queue);
> > void uvc_queue_buffer_release(struct uvc_buffer *buf);
> > +ssize_t uvc_queue_read(struct uvc_video_queue *queue, struct file *file,
> > + char __user *buf, size_t count, loff_t *ppos);
> > int uvc_queue_mmap(struct uvc_video_queue *queue,
> >struct vm_area_struct *vma);
> > __poll_t uvc_queue_poll(struct uvc_video_queue *queue, struct file *file,
--
Regards,
Laurent Pinchart
Hi Hugues,
On Tue, Mar 05, 2019 at 10:24:15AM +, Hugues FRUCHET wrote:
> On 3/4/19 4:44 PM, Laurent Pinchart wrote:
> > On Mon, Mar 04, 2019 at 03:36:32PM +, Kieran Bingham wrote:
> >> On 04/03/2019 12:35, Hugues Fruchet wrote:
> >>> Add support of
ined reference to
> `v4l2_fwnode_endpoint_parse'
>
> Fixes: 6a18865da8e3 ("media: i2c: adv748x: store number of CSI-2 lanes
> described in device tree")
> Signed-off-by: Arnd Bergmann
Reviewed-by: Laurent Pinchart
> ---
> drivers/media/i2c/Kconfig | 1 +
>
irk has been applied
correctly.
> [ +10,161183] uvcvideo: Failed to query (129) UVC probe control : -110 (exp.
> 34).
But this error still occurs :-(
> [ +0,09] uvcvideo: Failed to initialize the device (-5).
>
> "modinfo uvcvideo" output:
> filename:
On Fri, Mar 01, 2019 at 12:46:52PM +0100, Hans Verkuil wrote:
> On 2/22/19 12:32 PM, Laurent Pinchart wrote:
> > Hi Hans,
> >
> > Thank you for the patch.
> >
> > On Thu, Feb 21, 2019 at 03:21:47PM +0100, Hans Verkuil wrote:
> >> When the v4l-s
> {
> kfree(ent_enum->bmap);
> + ent_enum->bmap = NULL;
> }
> EXPORT_SYMBOL_GPL(media_entity_enum_cleanup);
>
--
Regards,
Laurent Pinchart
amework can call
> * these ops.
> @@ -766,6 +768,7 @@ struct v4l2_subdev_internal_ops {
> void (*unregistered)(struct v4l2_subdev *sd);
> int (*open)(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh);
> int (*close)(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh);
> + void (*release)(struct v4l2_subdev *sd);
> };
>
> #define V4L2_SUBDEV_NAME_SIZE 32
--
Regards,
Laurent Pinchart
v4l2_subdev_fh *subdev_fh;
> -#if defined(CONFIG_MEDIA_CONTROLLER)
> - struct media_entity *entity = NULL;
> -#endif
> int ret;
>
> subdev_fh = kzalloc(sizeof(*subdev_fh), GFP_KERNEL);
> @@ -73,12 +71,15 @@ static int subdev_open(struct file *file)
> v4l2_fh_a
* @function:media entity function defined by MEDIA_ENT_F_* macros
> * @num_pads:number of pads to initialize
> * @pads_flag: flags to use in each pad
> + * @sd_int_ops: pointer to &struct v4l2_subdev_internal_ops.
Nitpicking, most of the lines here don't
Hi Jacopo,
On Mon, Mar 04, 2019 at 01:35:36PM +0100, Jacopo Mondi wrote:
> On Fri, Feb 22, 2019 at 02:18:11PM +0200, Laurent Pinchart wrote:
> > On Mon, Feb 18, 2019 at 10:21:07AM +0100, Jacopo Mondi wrote:
> >> On Tue, Jan 22, 2019 at 05:20:30PM +0200, Laurent Pinchart wrote:
r
way. The compiler should be able to do its job here and optimize the
code correctly, I don't think a change is worth it, especially as we're
not dealing with a hot path.
> On 2019/3/2 14:43, Laurent Pinchart wrote:
> > On Sat, Mar 02, 2019 at 01:22:49PM -0700, Shaobo He wrote:
&g
_setup(struct media_entity *entity,
>
> tx->src = enable ? rsd : NULL;
>
> + if (!enable)
> + return 0;
> +
> if (state->afe.tx) {
> /* AFE Requires TXA enabled, even when output to TXB */
> io10 |= ADV748X_IO_10_CSI4_EN;
--
Regards,
Laurent Pinchart
601 - 700 of 8133 matches
Mail list logo