de any relevant debugging
> information if anyone is able to make it stop. As it stands, I must
> plug my webcam before using it and unplug it as soon as I'm done, which
> isn't exactly convenient.
--
Regards,
Laurent Pinchart
am hoping to be able to achieve a
> little higher frame rate.
>
> Is there something I need to do to allocate more memory to V4L2 or is
> there some other limitation causing the out of memory at higher pixel
> clock frequencies?
--
Regards,
Laurent Pinchart
Hi Hans,
On Sun, Oct 20, 2019 at 07:26:20PM +0200, Hans Verkuil wrote:
> On 10/20/19 7:35 AM, Laurent Pinchart wrote:
> > On Sat, Oct 19, 2019 at 11:14:03AM -0500, Adam Ford wrote:
> >> On Fri, Oct 18, 2019 at 4:17 PM Sakari Ailus wrote:
> >>> On Fri, Oct 18, 2019
dnesday morning
> from 9:00 to 13:00.
>
> Attendees for this session:
>
> Nicolas Dufresne
> Tomasz Figa
> Ezequiel Garcia
> Dafna Hirschfeld
> Eugen Hristev
> Jacopo Mondi
> Laurent Pinchart
> Niklas Söderlund
> Dave Stevenson
> Hans Verkuil
>
> Th
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
> >>>> Quantization : Default (maps to Full Range)
> >>>> Flags :
> >>>> #
> >>>>
> >>>> This shows me the UYVY format, but upon a follow-up query, it does not
> >>>> appear to retain the pixel format of UYVY.
> >>>>
> >>>> v4l2-ctl -d /dev/video6 --list-formats-ext
> >>>> ioctl: VIDIOC_ENUM_FMT
> >>>> Type: Video Capture
> >>>>
> >>>> [0]: 'RGB3' (RGB3, emulated)
> >>>> [1]: 'BGR3' (BGR3, emulated)
> >>>> [2]: 'YU12' (YU12, emulated)
> >>>> [3]: 'YV12' (YV12, emulated)
> >>>> #
> >>>>
> >>>> If I use ffmpeg to stream video, I the video codec there recognizes it
> >>>> as uyvy and I can convert it to RGB to display on my LCD, but it has
> >>>> limited framerate, and it seems to me like this should be do-able in
> >>>> G-Streamer with v4l2src.
> >>>>
> >>>> # ffmpeg -an -re -i /dev/video6 -f v4l2 -vcodec rawvideo -pix_fmt bgra
> >>>> -f fbdev /dev/fb0
> >>>>
> >>>> Input #0, video4linux2,v4l2, from '/dev/video6':
> >>>> Duration: N/A, start: 908.826490, bitrate: N/A
> >>>> Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422,
> >>>> 480x272, 17.42 tbr, 1000k tbn, 1000k tbc
> >>>> Stream mapping:
> >>>> Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
> >>>> Press [q] to stop, [?] for help
> >>>> Output #0, fbdev, to '/dev/fb0':
> >>>> Metadata:
> >>>> encoder : Lavf57.83.100
> >>>> Stream #0:0: Video: rawvideo (BGRA / 0x41524742), bgra, 480x272,
> >>>> q=2-31, 72765 kb/s, 17.42 fps, 17.42 tbn, 17.42 tbc
> >>>> Metadata:
> >>>> encoder : Lavc57.107.100 rawvideo
> >>>>
> >>>>
> >>>> This shows me the information is available in some ways from v4l2, but
> >>>> I wonder if there is a missing IOCTL for VIDIOC_ENUM_FMT for the isp
> >>>> driver somewhere. Shouldn't VIDIOC_ENUM_FMT return UYVY?
> >>>>
> >>>> I noticed vpbe_display.c has a function that appears to correspond to
> >>>> this. There is a patch at [1] for an older kernel. Is this something
> >>>> worth pursuing?
> >>>>
> >>>> [1] -
> >>>> https://stackoverflow.com/questions/20693155/gstreamer-failed-to-enumerate-video-formats-and-inappropriate-ioctl-for-device
--
Regards,
Laurent Pinchart
fixes
Christophe JAILLET (1):
media: uvcvideo: Fix a typo in UVC_METATADA_BUF_SIZE
Hariprasad Kelam (1):
staging: media: Make use of devm_platform_ioremap_resource
Laurent Pinchart (1):
media: uvcvideo: Fix error path in co
BER test).
>
> Changes in v5:
>
> I now check if a GRABBER device is a video or metadata device
> (or both!) by checking device_caps.
>
>
> Hans Verkuil (2):
> v4l2-dev: simplify the SDR checks
> v4l2-dev: fix is_tch checks
>
> Vandana BN (1):
&g
Hi Niklas,
Thank you for the patch.
On Mon, Oct 14, 2019 at 02:16:14AM +0200, Niklas Söderlund wrote:
> Most but not all Gen3 hardware support outputting NV12, add a flag to
> indicate which SoCs do support it.
>
> Signed-off-by: Niklas Söderlund
Reviewed-by: Laur
rvin_format_align(struct rvin_dev *vin,
> struct v4l2_pix_format *pix)
> break;
> }
>
> - /* HW limit width to a multiple of 32 (2^5) for NV16 else 2 (2^1) */
> - walign = vin->format.pixelformat == V4L2_PIX_FMT_NV16 ? 5 : 1;
> + /* HW limit width to a multiple of 32 (2^5) for NV12/16 else 2 (2^1) */
> + switch (vin->format.pixelformat) {
> + case V4L2_PIX_FMT_NV12:
> + case V4L2_PIX_FMT_NV16:
> + walign = 5;
> + break;
> + default:
> + walign = 1;
> + break;
> + }
>
> /* Limit to VIN capabilities */
> v4l_bound_align_image(&pix->width, 2, vin->info->max_width, walign,
--
Regards,
Laurent Pinchart
SET_VALID_IOCTL(ops, VIDIOC_G_TUNER, vidioc_g_tuner);
> SET_VALID_IOCTL(ops, VIDIOC_S_TUNER, vidioc_s_tuner);
>
--
Regards,
Laurent Pinchart
ioc_g_parm || ops->vidioc_g_std)
> set_bit(_IOC_NR(VIDIOC_G_PARM), valid_ioctls);
This will become potentially valid for VBI devices, is it intended ?
> SET_VALID_IOCTL(ops, VIDIOC_S_PARM, vidioc_s_parm);
> SET_VALID_IOCTL(ops, VIDIOC_S_DV_TIMINGS, vidioc_s_dv_timings);
--
Regards,
Laurent Pinchart
Hi Hans,
Thank you for the patch.
On Mon, Oct 14, 2019 at 10:40:20AM +0200, Hans Verkuil wrote:
> In determine_valid_ioctls() we can use SET_VALID_IOCTL to enable
> ioctls for SDR, simplifying the code.
>
> Signed-off-by: Hans Verkuil
Reviewed-by: Laurent Pinchart
> ---
&
;vfl_type == VFL_TYPE_TOUCH;
> + bool is_meta = vfd->vfl_type == VFL_TYPE_GRABBER &&
> +(vfd->device_caps & meta_caps);
> bool is_rx = vfd->vfl_dir != VFL_DIR_TX;
> bool is_tx = vfd->vfl_dir != VFL_DIR_RX;
>
> @@ -996,11 +1006,11 @@ static int check_fmt(struct file *file, enum
> v4l2_buf_type type)
> return 0;
> break;
> case V4L2_BUF_TYPE_META_CAPTURE:
> - if (is_vid && is_rx && ops->vidioc_g_fmt_meta_cap)
> + if (is_meta && is_rx && ops->vidioc_g_fmt_meta_cap)
> return 0;
> break;
> case V4L2_BUF_TYPE_META_OUTPUT:
> - if (is_vid && is_tx && ops->vidioc_g_fmt_meta_out)
> + if (is_meta && is_tx && ops->vidioc_g_fmt_meta_out)
> return 0;
> break;
> default:
--
Regards,
Laurent Pinchart
gt;pixelformat = rvin_formats[i].fourcc;
return 0;
}
}
return -EINVAL;
In any case,
Reviewed-by: Laurent Pinchart
> - return 0;
> + return -EINVAL;
> }
>
> static int rvin_g_selection(struct file *file, void *fh,
--
Regards,
Laurent Pinchart
rmat *f)
> {
> struct rvin_dev *vin = video_drvdata(file);
> - struct v4l2_rect src_rect, compose;
> + struct v4l2_rect fmt_rect, src_rect;
I would rename fmt_rect to something more descriptive. Maybe full_rect,
compose_bounds, ... ? Apart fr
; Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
> ---
> drivers/media/platform/rcar-vin/rcar-v4l2.c | 21 +++--
> 1 file changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c
> b/drivers/me
Hi Sergey,
On Wed, Oct 02, 2019 at 09:15:45PM +0400, Sergey Zakharchenko wrote:
> Sergey Zakharchenko :
> > Laurent Pinchart :
> > > Do you think it would make sense to do this by default, without
> > > requiring a quirk ? Or are there cases where this calculation wo
VC_QUIRK_RESTRICT_FRAME_RATE0x0200
> #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x0400
> #define UVC_QUIRK_FORCE_Y8 0x0800
> +#define UVC_QUIRK_FORCE_BPP 0x1000
>
> /* Format flags */
> #define UVC_FMT_FLAG_COMPRESSED 0x0001
>
> base-commit: 20a438d53fd9d12a894161bc56cbeab7a9993c39
> prerequisite-patch-id: 521eb9602d395ea667eecc75cd2273b59cd3ed76
--
Regards,
Laurent Pinchart
n to retrieve bus
information/configuration, with a data structure that we will be able to
extend later.
> };
>
> /**
--
Regards,
Laurent Pinchart
Hello,
On Tue, Sep 24, 2019 at 07:48:55PM -0300, Helen Koike wrote:
> On 9/23/19 3:21 PM, Daniel Gomez wrote:
> > Hi Laurent, Hans:
> > On Mon, 23 Sep 2019 at 20:16, Shuah Khan wrote:
> >>
> >> On 9/23/19 9:57 AM, Laurent Pinchart wrote:
> >>> Hello e
Hi Shuah and Daniel,
On Mon, Sep 23, 2019 at 08:21:58PM +0200, Daniel Gomez wrote:
> On Mon, 23 Sep 2019 at 20:16, Shuah Khan wrote:
> > On 9/23/19 9:57 AM, Laurent Pinchart wrote:
> >> On Mon, Sep 23, 2019 at 04:03:54PM +0100, Kieran Bingham wrote:
> >>> On 23/0
t; Tomasz Figa
> > Ezequiel Garcia
> > Daniel Gomez
> > Dafna Hirschfeld
> > Eugen Hristev
> > Paul Kocialkowski
> > Helen Koike
> > Michael Tretter
> > Hans Verkuil
> >
> > Tentative:
> >
> > Laurent Pinchart
> &g
> Alexandre Courbot
> Tomasz Figa
> Ezequiel Garcia
> Daniel Gomez
> Dafna Hirschfeld
> Eugen Hristev
> Shuah Khan
> Helen Koike
> Jacopo Mondi
> Laurent Pinchart
> Niklas Söderlund
> Hans Verkuil
>
> If I missed someone, or you are on the list bu
attend ELCE.
>
> (My second baby will be a bit too new for an extended stay away from home)
>
> >> Boris Brezillon
> >> Alexandre Courbot
> >> Tomasz Figa
> >> Ezequiel Garcia
> >> Daniel Gomez
> >> Dafna Hirschfeld
> >
On Mon, Sep 23, 2019 at 10:47:56AM +0200, Hans Verkuil wrote:
> On 9/23/19 10:17 AM, Sakari Ailus wrote:
> > On Mon, Sep 23, 2019 at 10:11:09AM +0200, Hans Verkuil wrote:
> >> On 9/21/19 1:48 AM, Laurent Pinchart wrote:
> >>> On Tue, Sep 17, 2019 at 03:36:
):
> v4l2-dev: simplify the SDR checks
> v4l2-dev: fix is_tch checks
>
> Vandana BN (1):
> v4l2-core: Add metadata type to vfl_devnode_type
>
> drivers/media/v4l2-core/v4l2-dev.c | 97
> drivers/media/v4l2-core/v4l2-ioctl.c | 5 +-
> in
; + clocks = <&mmsys CLK_MM_MDP_WROT0>;
> + iommus = <&iommu M4U_PORT_MDP_WROT0>;
> + mediatek,larb = <&larb0>;
> + };
> +
> + mdp_path0_sout@14005000 {
> + compatible = "mediatek,mt8183-mdp-path";
> + mediatek,mdp-id = <0>;
> + };
> +
> + mdp_wdma: mdp_wdma@14006000 {
> + compatible = "mediatek,mt8183-mdp-wdma";
> + mediatek,mdp-id = <0>;
> + reg = <0 0x14006000 0 0x1000>;
> + mediatek,gce-client-reg = <&gce SUBSYS_1400 0x6000
> 0x1000>;
> + clocks = <&mmsys CLK_MM_MDP_WDMA0>;
> + iommus = <&iommu M4U_PORT_MDP_WDMA0>;
> + mediatek,larb = <&larb0>;
> + };
> +
> + mdp_path1_sout@14006000 {
> + compatible = "mediatek,mt8183-mdp-path";
> + mediatek,mdp-id = <1>;
> + };
> +
> + mdp_ccorr: mdp_ccorr@1401c000 {
> + compatible = "mediatek,mt8183-mdp-ccorr";
> + mediatek,mdp-id = <0>;
> + reg = <0 0x1401c000 0 0x1000>;
> + mediatek,gce-client-reg = <&gce SUBSYS_1401 0xc000
> 0x1000>;
> + clocks = <&mmsys CLK_MM_MDP_CCORR>;
> + };
--
Regards,
Laurent Pinchart
d the person
> > who wrote the commit in the Fixes tag".
>
> Better: perhaps get_maintainer.pl can be taught to add the author of the
> commit pointed to by the Fixes tag, if present?
And remove Kees Cook and Colin King ? :-) Jokes aside, brushing up
get_maintainer.pl a bit is a good idea. I'm for instance not sure adding
LKML automatically is a good idea if other mailing lists are already
CC'ed, as it's a bit of a /dev/null (albeit with logging, so CC'ing it
when no other mailing list is appropriate certainly makes sense).
--
Regards,
Laurent Pinchart
Hi Mauro,
On Wed, Sep 18, 2019 at 10:57:28AM -0300, Mauro Carvalho Chehab wrote:
> Em Wed, 18 Sep 2019 15:36:20 +0300 Laurent Pinchart escreveu:
> > On Fri, Sep 13, 2019 at 01:19:21PM -0300, Mauro Carvalho Chehab wrote:
> > > Document the basic policies of the media
the code reviews at the drivers (called
> +sub-maintainers), and another senior developer responsible for the
> +subsystem as a hole. For core changes, whenever possible, multiple
> +media (sub-)maintainers do the review.
> +
> +The sub-maintainers work
Hi Angelo,
On Mon, Sep 16, 2019 at 10:39:56AM +, Angelo Ribeiro wrote:
> On Mon, Sep 16, 2019 at 10:54:51 Laurent Pinchart wrote:
> > On Mon, Sep 16, 2019 at 10:48:51AM +0200, Hans Verkuil wrote:
> > > On 9/16/19 10:40 AM, Jose Abreu wrote:
> > > > From: Hans
more useful if I discuss this separately with Angelo and
> Joao on Monday or Tuesday afternoon.
>
> I can definitely discuss HDMI support, and probably give a good stab at the
> CSI support (too bad Sakari won't be there).
>
> How about we get together after Greg KH's keynote on Monday?
I'll try to join as well. I've run into issues in the past with the
development process related to an HDMI IP (but on the DRM/KMS side), and
I'd like to try and avoid the same mistakes here.
--
Regards,
Laurent Pinchart
any of the DMA engines (and there could also be more than two) could
handle any type of data. For this type of system we thus can't dedicate
device nodes to video or metadata, they need to support either.
--
Regards,
Laurent Pinchart
index + skip >= ARRAY_SIZE(rvin_formats))
> + return -EINVAL;
This check will pass.
> +
> + f->pixelformat = rvin_formats[f->index + skip].fourcc;
This will return unsupported format.
>
> return 0;
> }
--
Regards,
Laurent Pinchart
Hi Sakari,
On Fri, Sep 06, 2019 at 01:11:34PM +0300, Sakari Ailus wrote:
> On Fri, Sep 06, 2019 at 12:12:03PM +0300, Laurent Pinchart wrote:
> > On Mon, Aug 19, 2019 at 09:51:30AM +0800, zhengbin wrote:
> > > In media_device_register_entity, if media_graph_walk_init fails,
>
Hello Zhengbin,
On Mon, Aug 19, 2019 at 09:51:30AM +0800, zhengbin wrote:
> In media_device_register_entity, if media_graph_walk_init fails,
> need to free the previously memory.
>
> Reported-by: Hulk Robot
> Signed-off-by: zhengbin
This looks good to me.
Reviewed-by: Laurent
t;> +#define FD_RESULT 0x178
> >>>>> +#define FD_IRQ_MASK0x001
> >>>>> +
> >>>>> +#define RS_MAX_BUF_SIZE2288788
> >>>>> +#define FD_MAX_SPEEDUP 7
> >>>>> +#define FD_MAX_POSE_VAL0xfff
> >>>>> +#define FD_DEF_POSE_VAL0x3ff
> >>>>> +#define MAX_FD_SEL_NUM 1026
> >>>>
> >>>> If that file is supposed to be included by anything beyond the driver
> >>>> itself, we need proper prefixing. (same for anything else in here)
> >>>
> >>> I will fix it as following:
> >>>
> >>> #define FD_ENABLE0x111
> >>>
> >>> #define FD_REG_OFFSET_HW_ENABLE 0x4
> >>> #define FD_REG_OFFSET_INT_EN 0x15c
> >>> #define FD_REG_OFFSET_INT_VAL0x168
> >>> #define FD_REG_OFFSET_RESULT 0x178
> >>>
> >>> #define FD_IRQ_MASK 1
> >>> #define FD_MAX_RS_BUF_SIZE 2288788
> >>> #define FD_MAX_SPEEDUP 7
> >>> #define FD_MAX_RESULT_NUM 1026
> >>
> >> I'd suggest the MTK_FD_ prefix.
> >
> > Ok, I will use MTK_FD_ prefix.
> >
> >>>>> diff --git a/include/uapi/linux/v4l2-controls.h
> >>>>> b/include/uapi/linux/v4l2-controls.h
> >>>>> index 3dcfc61..eae876e 100644
> >>>>> --- a/include/uapi/linux/v4l2-controls.h
> >>>>> +++ b/include/uapi/linux/v4l2-controls.h
> >>>>> @@ -192,6 +192,10 @@ enum v4l2_colorfx {
> >>>>> * We reserve 16 controls for this driver. */
> >>>>> #define V4L2_CID_USER_IMX_BASE (V4L2_CID_USER_BASE
> >>>>> + 0x10b0)
> >>>>>
> >>>>> +/* The base for the mediatek FD driver controls */
> >>>>> +/* We reserve 16 controls for this driver. */
> >>>>> +#define V4L2_CID_USER_MTK_FD_BASE (V4L2_CID_USER_BASE +
> >>>>> 0x10d0)
> >>>>
> >>>> Why only the base, but not the actual IDs in uapi ?
> >>>>
> >>> I will put actual IDs in uapi/ for user to reference.
>
> Enrico, any thoughts on the explanation that Jerry provided and
> further discussion above?
I agree with Enrico that standardising the face detection API is the way
to go.
--
Regards,
Laurent Pinchart
ctioin/Detection/
Maybe "... feature found in the Mediatek SoCs." ?
> +
> + FD driver is a V4L2 memory-to-memory device driver which
> + provides hardware accelerated face detection function,
> + it can detect different sizes of faces in a raw image.
--
Regards,
Laurent Pinchart
Hi Jacopo,
On Mon, Sep 02, 2019 at 09:48:30PM +0200, Jacopo Mondi wrote:
> On Mon, Sep 02, 2019 at 07:49:37PM +0300, Laurent Pinchart wrote:
> > On Mon, Sep 02, 2019 at 06:40:31PM +0200, Jacopo Mondi wrote:
> >> On Mon, Sep 02, 2019 at 02:38:40PM +0100, Rob Herring wrote:
&g
Hi Tomasz,
On Tue, Sep 03, 2019 at 01:16:21PM +0900, Tomasz Figa wrote:
> On Tue, Sep 3, 2019 at 1:43 AM Laurent Pinchart wrote:
> > On Mon, Sep 02, 2019 at 01:20:49PM +0200, Jacopo Mondi wrote:
> >> On Tue, Aug 27, 2019 at 03:51:32PM +0300, Laurent Pinchart wrote:
> >&g
So I'll look around on the Monday and
> mail the details of where to meet then.
>
> Confirmed attendees:
>
> Boris Brezillon
> Alexandre Courbot
> Nicolas Dufresne
> Tomasz Figa
> Ezequiel Garcia
> Eugen Hristev
> Paul Kocialkowski
> Helen Koike
>
Hi Jacopo,
On Mon, Sep 02, 2019 at 06:40:31PM +0200, Jacopo Mondi wrote:
> On Mon, Sep 02, 2019 at 02:38:40PM +0100, Rob Herring wrote:
> > On Thu, Aug 29, 2019 at 02:46:40PM +0200, Jacopo Mondi wrote:
> >> On Tue, Aug 27, 2019 at 03:21:26PM +0300, Laurent Pinchart wrote:
&g
Hi Jacopo,
On Mon, Sep 02, 2019 at 01:20:49PM +0200, Jacopo Mondi wrote:
> On Tue, Aug 27, 2019 at 03:51:32PM +0300, Laurent Pinchart wrote:
> > On Tue, Aug 27, 2019 at 11:23:29AM +0200, Jacopo Mondi wrote:
> >> Add documentation for the V4L2_CID_CAMERA_SENSOR_ROTATION camera
solete soc_camera
> driver")
>
> Signed-off-by: Simon Horman
One less file to convert to yaml ;-)
Acked-by: Laurent Pinchart
> ---
> .../devicetree/bindings/media/sh_mobile_ceu.txt | 17
> -
> 1 file changed, 17 deletions(-)
> delete mode
lt;= NATIVE_SIZE.
>
> I see thanks for clarifying this
>
> > For a cross-shaped sensor I would expect that the CROP_BOUNDS/DEFAULT
> > depends on the format (aspect ratio).
>
> Currently the selection API do not support to retrieve that
> information depending on the aspect-ratio though
&
Hi Hans,
On Thu, Aug 29, 2019 at 05:32:52PM +0200, Hans Verkuil wrote:
> On 8/29/19 5:05 PM, Laurent Pinchart wrote:
> > On Thu, Aug 29, 2019 at 03:04:42PM +0200, Hans Verkuil wrote:
> >> On 8/29/19 2:45 PM, Jacopo Mondi wrote:
> >>> On Thu, Aug 29, 2019 at 12:31:
ct v4l2_ctrl_handler;
> >>> +struct v4l2_ctrl_ops;
> >>>
> >>> #define V4L2_FWNODE_CSI2_MAX_DATA_LANES 4
> >>>
> >>> @@ -233,6 +235,34 @@ int v4l2_fwnode_parse_link(struct fwnode_handle
> >>> *fwnode,
> >>> */
> >>> void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link);
> >>>
> >>> +/**
> >>> + * v4l2_fwnode_register_controls() - parse device and endpoint fwnode
> >>> + *properties and register a v4l2
> >>> control
> >>> + *for each of them
> >>> + * @fwnode: pointer to the device fwnode handle
> >>> + * @hdl: pointer to the v4l2 control handler to register controls with
> >>> + * @ctrl_ops: pointer to the v4l2 control operations to register with
> >>> the handler
> >>> + *
> >>> + * Parse the @fwnode device and endpoint properties to which a v4l2
> >>> control
> >>> + * is associated and register them with the provided handler @hdl.
> >>> + * Currently the following v4l2 controls are parsed and registered:
> >>> + * - V4L2_CID_CAMERA_SENSOR_LOCATION;
> >>> + * - V4L2_CID_CAMERA_SENSOR_ROTATION;
> >>> + *
> >>> + * Controls already registered by the caller with the @hdl control
> >>> handler are
> >>> + * not overwritten. Callers should register the controls they want to
> >>> handle
> >>> + * themselves before calling this function.
> >>> + *
> >>> + * NOTE: This function locks the @hdl control handler mutex, the caller
> >>> shall
> >>> + * not hold the lock when calling this function.
> >>> + *
> >>> + * Return: 0 on success, -EINVAL if the fwnode properties are not
> >>> correctly
> >>> + * specified.
> >>> + */
> >>> +int v4l2_fwnode_register_controls(struct fwnode_handle *fwnode,
> >>> + struct v4l2_ctrl_handler *hdl,
> >>> + const struct v4l2_ctrl_ops *ctrl_ops);
> >>> +
> >>> /**
> >>> * typedef parse_endpoint_func - Driver's callback function to be called
> >>> on
> >>> * each V4L2 fwnode endpoint.
--
Regards,
Laurent Pinchart
trol handler mutex, the caller shall
> + * not hold the lock when calling this function.
> + *
> + * Return: 0 on success, -EINVAL if the fwnode properties are not correctly
> + * specified.
> + */
> +int v4l2_fwnode_register_controls(struct fwnode_handle *fwnode,
> + struct v4l2_ctrl_handler *hdl,
> + const struct v4l2_ctrl_ops *ctrl_ops);
> +
> /**
> * typedef parse_endpoint_func - Driver's callback function to be called on
> * each V4L2 fwnode endpoint.
--
Regards,
Laurent Pinchart
1
> #define V4L2_LOCATION_EXTERNAL 2
>
> +#define V4L2_CID_CAMERA_SENSOR_ROTATION
> (V4L2_CID_CAMERA_CLASS_BASE+35)
> +
> /* FM Modulator class control IDs */
>
> #define V4L2_CID_FM_TX_CLASS_BASE(V4L2_CTRL_CLASS_FM_TX | 0x900)
--
Regards,
Laurent Pinchart
(V4L2_CID_CAMERA_CLASS_BASE+33)
>
> +#define V4L2_CID_CAMERA_SENSOR_LOCATION
> (V4L2_CID_CAMERA_CLASS_BASE+34)
> +#define V4L2_LOCATION_FRONT 0
> +#define V4L2_LOCATION_BACK 1
> +#define V4L2_LOCATION_EXTERNAL 2
> +
> /* FM Modulator class control IDs */
>
> #define V4L2_CID_FM_TX_CLASS_BASE(V4L2_CTRL_CLASS_FM_TX | 0x900)
--
Regards,
Laurent Pinchart
driver.
> +
> .. [#f1]
> This control may be changed to a menu control in the future, if more
> options are required.
--
Regards,
Laurent Pinchart
mera sensor is located on the back side of the device.
> +* - ``V4L2_LOCATION_EXTERNAL``
> + - The camera sensor is connected by extension cables to the device and
> +it's freely movable.
s/it's/is/
> +
> +
> +
> .. [#f1]
> This control may be changed to a menu control in the future, if more
> options are required.
--
Regards,
Laurent Pinchart
he device position.
It could be something else than cables (wireless possibly ?). I would
phrase this along the lines of "The device is not attached directly to
the [device], or is attached in a way that allows it to move to
different locations."
>
> Optional endpoint properties
>
--
Regards,
Laurent Pinchart
y...
>
> > > + csi20vin4: endpoint {
> > > + remote-endpoint = <&vin4csi20>;
> > > + };
> > > + };
> > > + };
> > > +};
> > > +
> > > +vin4: video@e6ef4000 {
> > > + compatible = "renesas,vin-r8a7795";
> > > + reg = <0 0xe6ef4000 0 0x1000>;
> > > + interrupts = ;
> > > + clocks = <&cpg CPG_MOD 807>;
> > > + power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
> > > + resets = <&cpg 807>;
> > > + renesas,id = <4>;
> >
> > Same comment as above, is all properties needed in the example?
> > Specially renesas,id can be confusing as it's a driver specific binding
> > needed to workaround a fun hardware design.
>
> I agree, but I'm debated.. one looks at the example and it doesn't
> match the actual VIN bindings, and then might be even more confused.
> I'm find dropping all of this. Maybe we can add a line in the intro
> that says the example is fictional and does not report all the
> required properties for a device to work.
>
> > > +
> > > + ports {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + /* Parallel input port: HDMI decoder */
> > > + port@0 {
> > > + reg = <0>;
> > > +
> > > + vin4_digital_in: endpoint {
> > > + bus-type = 5;
> > > + bus-width = <8>;/* Used data lines */
> > > + data-shift = <2>; /* Lines 9:2 are used */
> > > + data-active = <1>; /* Active high */
> > > + pclk-sample = <0>; /* Falling */
> > > + /* If hsync-active/vsync-active are missing,
> > > + * embedded BT.656 sync is used */
> >
> > I feel if this comment is to be kept it should be expanded.
>
> I copied it from the existing example. How would you expand it?
>
> > > + hsync-active = <0>;
> > > + vsync-active = <0>;
> > > + remote-endpoint = <&adv7612_out>;
> > > + };
> > > + };
> > > +
> > > +
> > > + /* Data path to the MIPI CSI-2 receiver. */
> > > + port@1 {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + reg =<1>;
> > > +
> > > + /* Need endpoint numbers when multiple endpoints are
> > > +present. */
> >
> > I think this can be dropped.
>
> Ok
>
> Thanks for review
>
> > > + vin4csi20: endpoint@0 {
> > > + reg = <0>;
> > > + remote-endpoint = <&csi20vin4>;
> > > + };
> > > +
> > > + /* Not connected in this example. */
> > > + vin4csi41: endpoint@3 {
> > > + reg = <3>;
> > > + remote-endpoint = <&csi41vin4>;
> > > };
> > > };
> > > };
> > > +};
--
Regards,
Laurent Pinchart
-#define ISPCCDC_LSC_AFTER_REFORMATTER_MASK (1<<6)
> +#define ISPCCDC_LSC_AFTER_REFORMATTER_MASK BIT(6)
>
> #define ISPCCDC_LSC_INITIAL_X_MASK 0x3F
> #define ISPCCDC_LSC_INITIAL_X_SHIFT 0
[snip]
With this small issue addressed,
For omap3isp, vsp1, xilinx, wl128x and ipu3,
Reviewed-by: Laurent Pinchart
--
Regards,
Laurent Pinchart
Hi Mauro,
Thank you for the patch.
On Thu, Aug 22, 2019 at 04:39:32PM -0300, Mauro Carvalho Chehab wrote:
> As warned by cppcheck:
>
> [drivers/media/dvb-frontends/cx24123.c:434]: (error) Shifting signed
> 32-bit value by 31 bits is undefined behaviour
> [drivers/media/pci/bt8xx/btt
Hi Eugen,
On Mon, Aug 19, 2019 at 03:24:26PM +, eugen.hris...@microchip.com wrote:
> On 19.08.2019 18:04, Laurent Pinchart wrote:
> > On Mon, Aug 19, 2019 at 11:43:56AM -0300, Ezequiel Garcia wrote:
> >> On Mon, 2019-08-19 at 09:44 +0200, Hans Verkuil wrote:
> >>
ase let me know.
> > >
> > > I do need to know how many people I can expect. I have the following
> > > confirmed attendees (and please reply if you are not listed!):
> > >
> > > Alexandre Courbot
> > > Tomasz Figa
> > > Jacopo Mondi
Hi Geert,
On Fri, Aug 16, 2019 at 10:21:42AM +0200, Geert Uytterhoeven wrote:
> On Wed, Aug 14, 2019 at 4:55 PM Laurent Pinchart wrote:
> > This helps identifying the IP core version, for debugging purpose only
> > for now.
> >
> > Signed-off-by: Laurent Pinchart
Hi Kieran,
On Fri, Aug 16, 2019 at 09:07:14AM +0100, Kieran Bingham wrote:
> On 14/08/2019 15:54, Laurent Pinchart wrote:
> > This helps identifying the IP core version, for debugging purpose only
> > for now.
> >
> > Signed-off-by: Laurent Pinchart
> > ---
>
H Marco,
On Thu, Aug 15, 2019 at 03:22:51PM +0200, Marco Felsch wrote:
> On 19-08-15 15:51, Laurent Pinchart wrote:
> > On Tue, Aug 13, 2019 at 10:54:29AM +0200, Marco Felsch wrote:
> >> On 19-05-16 21:03, Laurent Pinchart wrote:
> >>> On Tue, May 14, 2019 at 03
Hi Sakari,
On Thu, Aug 15, 2019 at 04:08:49PM +0300, Sakari Ailus wrote:
> On Thu, Aug 15, 2019 at 03:59:38PM +0300, Laurent Pinchart wrote:
> > On Thu, Aug 15, 2019 at 10:00:25AM +0300, Sakari Ailus wrote:
> > > On Wed, Aug 14, 2019 at 10:28:12PM +0200, Jacopo Mondi
Hi Marco,
On Thu, Aug 15, 2019 at 03:04:37PM +0200, Marco Felsch wrote:
> On 19-08-15 15:38, Laurent Pinchart wrote:
> > On Fri, Aug 09, 2019 at 09:55:36AM +0200, Marco Felsch wrote:
> >> On 19-05-16 19:36, Laurent Pinchart wrote:
> >>> On Mon, Apr 15, 2019 at 02:44:
Hi Marco,
On Thu, Aug 15, 2019 at 02:50:02PM +0200, Marco Felsch wrote:
> On 19-08-15 15:33, Laurent Pinchart wrote:
> > On Fri, Aug 09, 2019 at 07:58:09AM +0200, Marco Felsch wrote:
> >> On 19-05-16 19:27, Laurent Pinchart wrote:
> >>> On Mon, Apr 15, 2019 at 02:44:
Hi Marco,
On Tue, Aug 13, 2019 at 11:10:30AM +0200, Marco Felsch wrote:
> On 19-05-16 21:07, Laurent Pinchart wrote:
> > On Mon, Apr 15, 2019 at 02:44:12PM +0200, Marco Felsch wrote:
> > > The tvp5150 accepts NTSC(M,J,4.43), PAL (B,D,G,H,I,M,N) and SECAM video
> > &g
On Tue, Aug 13, 2019 at 10:54:29AM +0200, Marco Felsch wrote:
> Hi Laurent,
>
> On 19-05-16 21:03, Laurent Pinchart wrote:
> > Hello Marco,
> >
> > Thank you for the patch.
> >
> > On Tue, May 14, 2019 at 03:25:45PM -0300, Mauro Carvalho Chehab wrote:
&
Hi Marco,
On Fri, Aug 09, 2019 at 02:16:06PM +0200, Marco Felsch wrote:
> On 19-05-16 19:51, Laurent Pinchart wrote:
> > On Tue, May 14, 2019 at 03:20:04PM -0300, Mauro Carvalho Chehab wrote:
> >> Em Mon, 6 May 2019 12:10:41 +0200 Hans Verkuil escreveu:
> >>> On
Hi Marco,
On Fri, Aug 09, 2019 at 09:55:36AM +0200, Marco Felsch wrote:
> On 19-05-16 19:36, Laurent Pinchart wrote:
> > On Mon, Apr 15, 2019 at 02:44:02PM +0200, Marco Felsch wrote:
> > > Currently every driver needs to parse the connector endpoints by it self.
> &g
Hi Marco,
On Fri, Aug 09, 2019 at 07:58:09AM +0200, Marco Felsch wrote:
> On 19-05-16 19:27, Laurent Pinchart wrote:
> > On Mon, Apr 15, 2019 at 02:44:01PM +0200, Marco Felsch wrote:
> > > Some connectors no matter if in- or output supports only a limited
> > > ra
Colin Ian King (1):
media: vsp1: fix memory leak of dl on error return path
drivers/media/platform/vsp1/vsp1_dl.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--
Regards,
Laurent Pinchart
: Register a v4l2_device")
Reported-by: syzbot+c86454eb3af9e8a4d...@syzkaller.appspotmail.com
Signed-off-by: Laurent Pinchart
---
drivers/media/usb/uvc/uvc_driver.c | 28 +++-
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/drivers/media/usb/uvc/uvc_driv
This helps identifying the IP core version, for debugging purpose only
for now.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Use devm_platform_ioremap_resource()
---
drivers/media/platform/rcar-fcp.c | 41 +++
1 file changed, 41 insertions(+)
diff --git
s that we won't have material to have a media summit this year.
> > >> So, let's cancel the media summit this year.
> > >
> > > Loosely related, but are there people planning to go to ELCE on
> > > 10/28-30? Tomasz and I may attend if there is a chance to discuss
> > > libcamera/V4L2 codecs.
> >
> > I'll be there and if there is enough interest in setting up a meeting
> > to discuss this, then I can ask the LF to set a room aside for us for,
> > say, half a day or so.
--
Regards,
Laurent Pinchart
tream sub-devices.
>
> Signed-off-by: Sakari Ailus
Reviewed-by: Laurent Pinchart
> ---
> drivers/media/platform/omap3isp/isp.c | 8
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/media/platform/omap3isp/isp.c
> b/drivers/media/platform/om
Hi Sakari,
Thank you for the patch.
On Mon, Aug 12, 2019 at 11:32:26AM +0300, Sakari Ailus wrote:
> The omap3isp driver registered subdevs without the dev field being set. Do
> that now.
>
> Signed-off-by: Sakari Ailus
The change looks fine, so
Reviewed-by: Laurent Pinchart
int rvin_s_fmt_vid_cap(struct file *file, void
> *priv,
> return ret;
>
> vin->format = f->fmt.pix;
> - vin->crop = crop;
> - vin->compose = compose;
> + v4l2_rect_map_inside(&vin->crop, &crop);
> + v4l2_rect_map_inside(&vin->compose, &compose);
> vin->src_rect = crop;
>
> return 0;
--
Regards,
Laurent Pinchart
> --- a/drivers/media/platform/rcar-vin/rcar-vin.h
> +++ b/drivers/media/platform/rcar-vin/rcar-vin.h
> @@ -176,7 +176,7 @@ struct rvin_info {
> *
> * @crop:active cropping
> * @compose: active composing
> - * @source: active size of the video sourc
Hi Niklas,
Thank you for the patch.
On Thu, Aug 08, 2019 at 03:18:46AM +0200, Niklas Söderlund wrote:
> The V4L2_FIELD_IS_INTERLACED() can be used to make the code more
> readable, use it.
>
> Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
> ---
> drivers/m
> which,
> done:
> v4l2_subdev_free_pad_config(pad_cfg);
>
> - return 0;
> + return ret;
If the v4l2_subdev_call() call above returns -ENOIOCTLCMD, which you
don't consider as an error, you will end up returning that error value
here. You should set ret to 0 before the d
rvin_write(vin, ALIGN(vin->format.width, 0x20), VNIS_REG);
> - else
> - rvin_write(vin, ALIGN(vin->format.width, 0x10), VNIS_REG);
> + fmt = rvin_format_from_pixel(vin, vin->format.pixelformat);
You may want as an optimisation to cache the active rv
vout->vrfb_bpp;
> dst_icg = ((MAX_PIXELS_PER_LINE * pixsize) -
> - (vout->pix.width * vout->bpp)) + 1;
> + (vout->pix.width * vout->bpp));
You can remove the outer parentheses. Apart from that the patch looks OK
to me, it matches the documentation.
Reviewed-by: Laurent Pinchart
>
> xt->src_start = vout->buf_phy_addr[vb->i];
> xt->dst_start = vout->vrfb_context[vb->i].paddr[0];
--
Regards,
Laurent Pinchart
ayer format. In any case, you can't have duplicates, so change the
> fourcc of
> V4L2_PIX_FMT_BGRA444.
>
> Signed-off-by: Hans Verkuil
> Cc: # for v5.2 and up
Maybe a Fixes: line ?
Reviewed-by: Laurent Pinchart
> ---
> diff --git a/include/uapi/linux/vid
ally when opening the video device.
Not only does it make sense, but it's required by 3/4. I think you
should explain why in the commit message. Apart from that,
Reviewed-by: Laurent Pinchart
> Signed-off-by: Niklas Söderlund
> ---
> drivers/media/platform/rc
ing using the
> V4L2_CID_ALPHA_COMPONENT control.
>
> Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
> ---
> drivers/media/platform/rcar-vin/rcar-dma.c | 35 +
> drivers/media/platform/rcar-vin/rcar-v4l2.c | 8 +
> 2 files chang
gt; description strings in driver-internal structures since those are
> no longer needed.
>
> Signed-off-by: Hans Verkuil
> Cc: Laurent Pinchart
> Cc: Prabhakar Lad
> Cc: Sylwester Nawrocki
> Cc: Jonathan Corbet
> Cc: Jacopo Mondi
> Cc: Benoit Parrot
> ---
> dr
more, since the core
> will set the COMPRESSED flag correctly.
>
> Signed-off-by: Hans Verkuil
> Cc: Laurent Pinchart
> Cc: Dave Stevenson
> Cc: Eric Anholt
Reviewed-by: Laurent Pinchart
> ---
> drivers/staging/media/omap4iss/iss_video.c| 40 +-
e code :-(
> Update the list.
>
> Also change a few lower case words to upper case to keep the same style.
>
> Signed-off-by: Hans Verkuil
> Cc: Laurent Pinchart
> ---
> drivers/media/v4l2-core/v4l2-ioctl.c | 29 ++--
> 1 file changed, 23 insertions(+
, are you aware of applications using that ?
> Signed-off-by: Hans Verkuil
For everything but gspca,
Reviewed-by: Laurent Pinchart
> ---
> diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c
> b/drivers/media/pci/cobalt/cobalt-v4l2.c
> index 39dabd4da60f..c8cd4c407540 100644
t; video device are.
>
> Signed-off-by: Hans Verkuil
> Cc: Laurent Pinchart
Reviewed-by: Laurent Pinchart
Please feel free to merge this patch along with the rest of the series.
> ---
> drivers/media/platform/xilinx/xilinx-dma.c | 16 +++-
> 1 file chan
t; video device are.
>
> Signed-off-by: Hans Verkuil
> Cc: Laurent Pinchart
> ---
> drivers/media/platform/omap3isp/ispvideo.c | 13 +++--
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/media/platform/omap3isp/ispvideo.c
> b/
t; video device are.
>
> Signed-off-by: Hans Verkuil
> Cc: Laurent Pinchart
> ---
> drivers/media/platform/vsp1/vsp1_histo.c | 3 +--
> drivers/media/platform/vsp1/vsp1_video.c | 12
> 2 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git
,14 +317,9 @@ static int csi2_start(struct csi2_dev *csi2)
> goto err_assert_reset;
>
> /* Step 7 */
> - ret = csi2_dphy_wait_clock_lane(csi2);
> - if (ret)
> - goto err_stop_upstream;
> -
> + csi2_dphy_wait_clock_lane(csi2);
> return 0;
>
> -err_stop_upstream:
> - v4l2_subdev_call(csi2->src_sd, video, s_stream, 0);
> err_assert_reset:
> csi2_enable(csi2, false);
> err_disable_clk:
--
Regards,
Laurent Pinchart
Hi Mauro,
On Mon, Jun 24, 2019 at 09:30:12AM -0300, Mauro Carvalho Chehab wrote:
> Em Thu, 20 Jun 2019 17:19:55 +0300 Laurent Pinchart escreveu:
> > On Thu, Jun 20, 2019 at 05:17:53PM +0300, Sakari Ailus wrote:
> >> When Media Controller was merged to mainline long, lon
directory, address this at the same time.
>
> So tell people to mail patches to myself and Laurent Pinchart.
>
> Note that the patches are still merged through the Media tree, just like
> any other driver or framework bits that have separate "mail patches to"
> entries diff
s/media/platform/rcar-vin/rcar-v4l2.c
> @@ -54,6 +54,14 @@ static const struct rvin_video_format rvin_formats[] = {
> .fourcc = V4L2_PIX_FMT_XBGR32,
> .bpp= 4,
> },
> + {
> + .fourcc = V4L2_PIX_FMT_ARGB555,
> + .bpp= 2,
> + },
> + {
> + .fourcc = V4L2_PIX_FMT_ABGR32,
> + .bpp= 4,
> + },
> };
>
> const struct rvin_video_format *rvin_format_from_pixel(u32 pixelformat)
--
Regards,
Laurent Pinchart
rently has limitations
> > > as noted here above.
> >
> > Yes; DT comes from the format and is generally determined by the
> > transmitting driver. Nothing else limits the number of DTs on a VC except
> > the number of DTs --- which is currently 64.
> >
> > > [*] I would later like to talk about if this is the most appropriate
> > > operation to handle this negotiation, as I'm not sure we can handle DT
> > > negotiation properly with that, but that's for later.
> > >
> > > > CSI-2 receivers support a number of simultaneous streams, and as the
> > > > stream
> > > > is demultiplexed there, this means there will be as many source pads as
> > > > there are supported simultaneous streams. This heavily depe`nds on the
> > > > hardware, but the number could be e.g. 1, 4 or 8. Much smaller than
> > > > 2048 in
> > > > any case.
> > >
> > > Why 8? Is this related to DT multiplexing again?
> >
> > Yes and no. It's just a random number between 1 and 2048. :-)
> >
> > > > Another option could be creating no routes at all at device init time,
> > > > and
> > > > letting the user create them. We could add a new flag for routes telling
> > > > that a route is dynamic: disabling a dynamic route would simply delete
> > > > it.
> > > > Likewise, a SUBDEV_G_ROUTING returning no routes (but no error either)
> > > > would also tell the user only dynamic routes are supported.
> > > >
> > > > We should document this and change the driver implementation
> > > > accordingly.
> > > > No API changes are needed (apart from adding the dynamic flag --- or
> > > > rather
> > > > call it "volatile", to avoid confusing with routes that can be enabled
> > > > or
> > > > disabled while streaming).
> > >
> > > I have v5 of the series ready. Do you want me to post it to progress
> > > discussion, or should we clarify this first?
> >
> > Feel free to post it. But to merge the series, I think we need to address
> > this.
--
Regards,
Laurent Pinchart
Hi Nicolas,
On Tue, Jun 11, 2019 at 08:09:13PM -0400, Nicolas Dufresne wrote:
> Le mardi 11 juin 2019 à 13:24 +0300, Laurent Pinchart a écrit :
> > On Fri, Jun 07, 2019 at 03:38:39PM -0400, Nicolas Dufresne wrote:
> >> Le vendredi 07 juin 2019 à 16:58 +0300, Laurent Pinchart
Hi Nicolas,
On Fri, Jun 07, 2019 at 03:38:39PM -0400, Nicolas Dufresne wrote:
> Le vendredi 07 juin 2019 à 16:58 +0300, Laurent Pinchart a écrit :
> > On Fri, Jun 07, 2019 at 03:55:05PM +0200, Marek Szyprowski wrote:
> >> On 2019-06-07 15:40, Hans Verkuil wrote:
> >&g
Hi Geert,
On Sun, Jun 09, 2019 at 01:51:24PM +0200, Geert Uytterhoeven wrote:
> On Sun, Jun 9, 2019 at 12:09 PM Laurent Pinchart wrote:
> > On Sun, Jun 09, 2019 at 10:06:19AM +0200, Geert Uytterhoeven wrote:
> > > On Sat, Jun 8, 2019 at 2:55 PM Laurent Pinchart wrote:
Hi Geert,
On Sun, Jun 09, 2019 at 10:06:19AM +0200, Geert Uytterhoeven wrote:
> On Sat, Jun 8, 2019 at 2:55 PM Laurent Pinchart wrote:
> > This helps identifying the IP core version, for debugging purpose only
> > for now.
> >
> > Signed-off-by: Laurent Pinchart
1 - 100 of 8133 matches
Mail list logo