Re: [PATCH] dt-bindings: media: video-interfaces: Use documented bindings in example

2021-03-16 Thread Laurent Pinchart
> Cc: Sakari Ailus > Cc: Laurent Pinchart > Cc: linux-me...@vger.kernel.org > Signed-off-by: Rob Herring > --- > .../bindings/media/video-interfaces.yaml | 75 --- > 1 file changed, 33 insertions(+), 42 deletions(-) > > diff --git a/Docume

Re: [PATCH] drm: xlnx: call pm_runtime_get_sync before setting pixel clock

2021-03-16 Thread Laurent Pinchart
r the previous VPLLF_FRAC_CFG ? > Signed-off-by: Quanyang Wang Nonetheless, this change looks good to me, I actually had the same patch in my tree while investigation issues related to the clock rate, so Reviewed-by: Laurent Pinchart Tested-by: Laurent Pinchart I was hoping it would so

Re: [PATCH v2 02/18] media: i2c: rdacm20: Enable noise immunity

2021-03-16 Thread Laurent Pinchart
Hi Jacopo, On Tue, Mar 16, 2021 at 01:56:07PM +0100, Jacopo Mondi wrote: > On Mon, Mar 15, 2021 at 11:37:26PM +0200, Laurent Pinchart wrote: > > On Mon, Mar 15, 2021 at 02:14:56PM +0100, Jacopo Mondi wrote: > > > Enable the noise immunity threshold at the end of the rdacm20 &g

Re: RFC: MEDIA: Driver for ON Semi AR0521 camera sensor

2021-03-16 Thread Laurent Pinchart
ot;failed to get xclk\n"); > + return PTR_ERR(sensor->xclk); > + } > + > + ret = clk_set_rate(sensor->xclk, AR0521_XCLK_RATE); > + if (ret < 0) > + return ret; > + > + sensor->xclk_freq = clk_get_rate(sensor->xclk); > + > + if (sensor->xclk_freq < AR0521_XCLK_MIN || > + sensor->xclk_freq > AR0521_XCLK_MAX) { > + dev_err(dev, "xclk frequency out of range: %u Hz\n", > sensor->xclk_freq); > + return -EINVAL; > + } > + > + clk_prepare_enable(sensor->xclk); > + > + /* request optional reset pin */ > + sensor->reset_gpio = devm_gpiod_get_optional(dev, "reset", > GPIOD_OUT_HIGH); > + > + v4l2_i2c_subdev_init(>sd, client, _subdev_ops); > + > + sensor->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE | > V4L2_SUBDEV_FL_HAS_EVENTS; > + sensor->pad.flags = MEDIA_PAD_FL_SOURCE; > + sensor->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; > + ret = media_entity_pads_init(>sd.entity, 1, >pad); > + if (ret) > + return ret; > + > + mutex_init(>lock); > + > + ret = ar0521_init_controls(sensor); > + if (ret) > + goto entity_cleanup; > + > + ret = v4l2_async_register_subdev(>sd); > + if (ret) > + goto free_ctrls; > + > + ar0521_reset(sensor); > + for (cnt = 0; cnt < ARRAY_SIZE(initial_regs); cnt++) > + if (ar0521_write_reg(sensor, initial_regs[cnt].addr, > initial_regs[cnt].value)) > + goto unreg_subdev; > + > + ret = ar0521_write_reg(sensor, AR0521_REG_SERIAL_FORMAT, > +AR0521_REG_SERIAL_FORMAT_MIPI | nlanes); > + if (ret) > + goto unreg_subdev; > + > + // set MIPI test mode - disabled for now > + ret = ar0521_write_reg(sensor, AR0521_REG_HISPI_TEST_MODE, > +((0x40 << nlanes) - 0x40) | > +AR0521_REG_HISPI_TEST_MODE_LP11); > + if (ret) > + goto unreg_subdev; > + > + ret = ar0521_write_reg(sensor, AR0521_REG_ROW_SPEED, 0x110 | 4 / > nlanes); > + if (ret) > + goto unreg_subdev; > + > + ret = ar0521_set_stream(sensor, 0); > + if (ret) > + goto unreg_subdev; > + > + ar0521_set_mode(sensor); > + > + dev_info(dev, "AR0521 initialized, master clock frequency: %s MHz, %u > MIPI data lanes\n", > + mhz(sensor->xclk_freq), nlanes); > + return 0; > + > +unreg_subdev: > + v4l2_async_unregister_subdev(>sd); > +free_ctrls: > + v4l2_ctrl_handler_free(>ctrls.handler); > +entity_cleanup: > + mutex_destroy(>lock); > + media_entity_cleanup(>sd.entity); > + return ret; > +} > + > +static int ar0521_remove(struct i2c_client *client) > +{ > + struct v4l2_subdev *sd = i2c_get_clientdata(client); > + struct ar0521_dev *sensor = to_ar0521_dev(sd); > + > + v4l2_async_unregister_subdev(>sd); > + mutex_destroy(>lock); > + media_entity_cleanup(>sd.entity); > + v4l2_ctrl_handler_free(>ctrls.handler); > + return 0; > +} > + > +static const struct i2c_device_id ar0521_id[] = { > + {"ar0521", 0}, > + {}, > +}; > +MODULE_DEVICE_TABLE(i2c, ar0521_id); > + > +static const struct of_device_id ar0521_dt_ids[] = { > + {.compatible = "onnn,ar0521"}, > + {} > +}; > +MODULE_DEVICE_TABLE(of, ar0521_dt_ids); > + > +static struct i2c_driver ar0521_i2c_driver = { > + .driver = { > + .name = "ar0521", > + .of_match_table = ar0521_dt_ids, > + }, > + .id_table = ar0521_id, > + .probe= ar0521_probe, > + .remove = ar0521_remove, > +}; > + > +module_i2c_driver(ar0521_i2c_driver); > + > +MODULE_DESCRIPTION("AR0521 MIPI Camera subdev driver"); > +MODULE_AUTHOR("Krzysztof Halasa "); > +MODULE_LICENSE("GPL"); -- Regards, Laurent Pinchart

Re: RFC: dt-binding: media: document ON Semi AR0521 sensor bindings

2021-03-16 Thread Laurent Pinchart
+ > +reset-gpios = < 7 GPIO_ACTIVE_LOW>; > + > +port { > + mipi_camera_to_mipi_csi2: endpoint { > +remote-endpoint = <_csi2_in>; > +data-lanes = <1 2 3 4>; > +}; > +}; > +}; > +}; -- Regards, Laurent Pinchart

Re: [PATCH v4 06/11] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS

2021-03-16 Thread Laurent Pinchart
Hi Ricardo, On Tue, Mar 16, 2021 at 11:12:57AM +0100, Ricardo Ribalda wrote: > On Tue, Mar 16, 2021 at 11:08 AM Laurent Pinchart wrote: > > On Tue, Mar 16, 2021 at 09:37:07AM +0100, Hans Verkuil wrote: > > > On 15/03/2021 18:36, Ricardo Ribalda wrote: > > > >

Re: [PATCH v4 06/11] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS

2021-03-16 Thread Laurent Pinchart
c_ctrl_add_mapping(struct > > uvc_video_chain *chain, > > if (map->set == NULL) > > map->set = uvc_set_le_value; > > > > + for (i = 0; i < ARRAY_SIZE(uvc_control_class); i++) { > > + if (V4L2_CTRL_ID2WHICH(uvc_control_class[i].id) == > > + V4L2_CTRL_ID2WHICH(map->id)) { > > + chain->ctrl_class_bitmap |= BIT(i); > > + break; > > + } > > + } > > + > > list_add_tail(>list, >info.mappings); > > uvc_dbg(chain->dev, CONTROL, "Adding mapping '%s' to control %pUl/%u\n", > > map->name, ctrl->info.entity, ctrl->info.selector); > > diff --git a/drivers/media/usb/uvc/uvcvideo.h > > b/drivers/media/usb/uvc/uvcvideo.h > > index 97df5ecd66c9..1f17e4253673 100644 > > --- a/drivers/media/usb/uvc/uvcvideo.h > > +++ b/drivers/media/usb/uvc/uvcvideo.h > > @@ -262,6 +262,11 @@ struct uvc_control_mapping { > > u8 *data); > > }; > > > > +struct uvc_control_class { > > + u32 id; > > + char name[32]; > > +}; > > + > > struct uvc_control { > > struct uvc_entity *entity; > > struct uvc_control_info info; > > @@ -475,6 +480,7 @@ struct uvc_video_chain { > > > > struct v4l2_prio_state prio;/* V4L2 priority state */ > > u32 caps; /* V4L2 chain-wide caps */ > > + u8 ctrl_class_bitmap; /* Bitmap of valid classes */ > > }; > > > > struct uvc_stats_frame { > > > -- Regards, Laurent Pinchart

Re: [PATCH v2 4/4] arm64: dts: renesas: eagle: Include eagle-gmsl

2021-03-15 Thread Laurent Pinchart
the Eagle board though. Now that the kernel is gaining support for compiling DT overlays (https://lore.kernel.org/lkml/cover.1615354376.git.viresh.ku...@linaro.org/), I wonder if this is something that could be handled using overlays. -- Regards, Laurent Pinchart

Re: [PATCH v2 3/4] arm64: dts: renesas: eagle: Add GMSL .dtsi

2021-03-15 Thread Laurent Pinchart
> <_in2>; > + }; > + }; > + }; > + }; > +#endif > + > +#ifdef EAGLE_USE_CAMERA_3 > + i2c@3 { > + status = "okay"; > + > + camera@54 { > + compatible = EAGLE_CAMERA_MODEL; > + reg = <0x54>, <0x64>; > + > + port { > + fakra_con3: endpoint { > + remote-endpoint = > <_in3>; > + }; > + }; > + }; > + }; > +#endif > + }; > +}; > +#endif -- Regards, Laurent Pinchart

Re: [PATCH v2 2/4] arm64: dts: renesas: eagle: Enable MAX9286

2021-03-15 Thread Laurent Pinchart
gt; + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + max9286_in0: endpoin

Re: [PATCH v2 1/4] dt-bindings: media: max9286: Describe gpio-hog

2021-03-15 Thread Laurent Pinchart
gpios: true > + output-low: true > + line-name: true > + > +required: > + - gpio-hog > + - gpios > + - output-low > + > +additionalProperties: false > + > required: >- compatible >- reg -- Regards, Laurent Pinchart

Re: [PATCH V11 3/5] kbuild: Allow .dtso format for overlay source files

2021-03-15 Thread Laurent Pinchart
ata/overlay_gpio_01.dts > drivers/of/unittest-data/overlay_10.dts > drivers/of/unittest-data/overlay_7.dts > drivers/of/unittest-data/overlay_bad_phandle.dts > drivers/of/unittest-data/overlay_3.dts > drivers/of/unittest-data/overlay_6.dts > drivers/of/unittest-data/overlay_8.dts > drivers/of/unittest-data/overlay_12.dts > drivers/of/unittest-data/overlay_gpio_02a.dts > drivers/of/unittest-data/overlay_gpio_02b.dts > drivers/of/unittest-data/overlay_4.dts > drivers/of/unittest-data/overlay.dts > drivers/of/unittest-data/overlay_9.dts > drivers/of/unittest-data/overlay_2.dts > drivers/of/unittest-data/overlay_15.dts > drivers/of/unittest-data/overlay_base.dts > drivers/of/unittest-data/overlay_13.dts -- Regards, Laurent Pinchart

Re: [PATCH v2 18/18] media: i2c: max9286: Rework comments in .bound()

2021-03-15 Thread Laurent Pinchart
; No functional changes intended. > > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/max9286.c | 16 ++-- > 1 file changed, 6 insertions(+), 10 deletions(-) > > diff --git a/drivers/media/i2c/max9286.c b/drivers/medi

Re: [PATCH v2 16/18] media: v4l2-subdev: De-deprecate init() subdev op

2021-03-15 Thread Laurent Pinchart
probe sequence of the remote subdevices, the usage of this > + * operation could be considered to allow the devices along the pipeline to > + * probe and register in the media graph and to defer any operation that > + * require actual access to the communication bus to their init() function > + * implementation. > * > * @load_fw: load firmware. > * -- Regards, Laurent Pinchart

Re: [PATCH v2 12/18] media: i2c: rdacm21: Give more time to OV490 to boot

2021-03-15 Thread Laurent Pinchart
firmware boot delay is unfortunately not characterized in the camera > module manual. > > Fixes: a59f853b3b4b ("media: i2c: Add driver for RDACM21 camera module") > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm21.c | 2 +-

Re: [PATCH v2 11/18] media: i2c: rdacm21: Fix OV10640 powerdown

2021-03-15 Thread Laurent Pinchart
xes: a59f853b3b4b ("media: i2c: Add driver for RDACM21 camera module") > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm21.c | 6 -- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/i2c/

Re: [PATCH v2 09/18] media: i2c: max9271: Introduce wake_up() function

2021-03-15 Thread Laurent Pinchart
programming. Isn't the initial address fixed though ? Nonetheless, this can be addressed separately, so Reviewed-by: Laurent Pinchart > Signed-off-by: Jacopo Mondi > --- > drivers/media/i2c/max9271.c | 7 +++ > drivers/media/i2c/max9271.h | 9 + > drivers/media/i

Re: [PATCH v2 06/18] media: i2c: max9271: Check max9271_write() return

2021-03-15 Thread Laurent Pinchart
> > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/max9271.c | 30 +++--- > 1 file changed, 23 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/i2c/max9271.c b/drivers/media/i2c/max9271.c >

Re: [PATCH v2 02/18] media: i2c: rdacm20: Enable noise immunity

2021-03-15 Thread Laurent Pinchart
e compensated by increasing the reverse channel > + * amplitude on the remote deserializer side. > + */ > + return max9271_set_high_threshold(>serializer, true); > } > > static int rdacm20_probe(struct i2c_client *client) -- Regards, Laurent Pinchart

Re: [PATCH v2 01/18] media: i2c: rdamc21: Fix warning on u8 cast

2021-03-15 Thread Laurent Pinchart
a) > > Even if the behaviour is intended, silence the sparse warning replacing > the cast with a bitwise & operation. > > Reported-by: Hans Verkuil > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm21.c | 2 +- > 1 file changed, 1

Re: [PATCH 2/3] drm/bridge: ti-sn65dsi86: Move code in prep for EDID read fix

2021-03-15 Thread Laurent Pinchart
Hi Doug, On Mon, Mar 15, 2021 at 09:31:41AM -0700, Doug Anderson wrote: > On Sat, Mar 13, 2021 at 1:13 PM Laurent Pinchart wrote: > > On Thu, Mar 04, 2021 at 03:52:00PM -0800, Douglas Anderson wrote: > > > This patch is _only_ code motion to prepare for the patch > > >

Re: [PATCH] media: docs: Fix data organization of MEDIA_BUS_FMT_RGB101010_1X30

2021-03-14 Thread Laurent Pinchart
s: 54f38fcae536 ("media: docs: move uAPI book to userspace-api/media") > Signed-off-by: Liu Ying Reviewed-by: Laurent Pinchart > --- > Documentation/userspace-api/media/v4l/subdev-formats.rst | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/D

Re: [PATCH v2 2/2] media: i2c: imx219: Balance runtime PM use-count

2021-03-14 Thread Laurent Pinchart
nt in resume callback > error path where streaming is stopped and runtime PM count is left > unbalanced. > > Fixes: 1283b3b8f82b9 ("media: i2c: Add driver for Sony IMX219 sensor") > Reported-by: Pavel Machek > Signed-off-by: Lad Prabhakar Reviewed-by: Laurent Pincha

Re: [PATCH v2 1/2] media: i2c: imx219: Move out locking/unlocking of vflip and hflip controls from imx219_set_stream

2021-03-14 Thread Laurent Pinchart
issue in resume callback error path where streaming is > stopped and the controls are left in locked state. > > Fixes: 1283b3b8f82b9 ("media: i2c: Add driver for Sony IMX219 sensor") > Reported-by: Pavel Machek > Signed-off-by: Lad Prabhakar Reviewed-by: Laurent Pinchart

Re: [PATCH 1/1] media: i2c: Add support for ov5693 sensor

2021-03-14 Thread Laurent Pinchart
Hi Daniel, Thank you for the patch. On Fri, Mar 12, 2021 at 10:32:39AM +, Daniel Scally wrote: > The OV5693 is a 5 Mpx CMOS image sensor, connected via MIPI CSI-2. The > chip is capable of a single lane configuration, but currently only two > lanes are supported. > > Most of the sensor's

Re: [PATCH v2] usb: gadget: uvc: add bInterval checking for HS mode

2021-03-13 Thread Laurent Pinchart
ust specify a period of 1x125 µs > (i.e., a bInterval value of 1)." > > The issue was observed during testing UVC class on CV. > I treat this change as improvement because we can control > bInterval by configfs. > > Signed-off-by: Pawel Laszczak Reviewed-by: Lauren

Re: [PATCH 2/2] usb: webcam: Invalid size of Processing Unit Descriptor

2021-03-13 Thread Laurent Pinchart
mmit message should explain this. This change looks good to me, but could you also update drivers/usb/gadget/legacy/webcam.c and drivers/usb/gadget/function/f_uvc.c to explicitly set this field to 0 ? With that, Reviewed-by: Laurent Pinchart > Signed-off-by: Pawel Laszczak > --- > include/uapi/linux

Re: [PATCH 1/2] usb: gadget: uvc: Updating bcdUVC field to 0x0110

2021-03-13 Thread Laurent Pinchart
; > .bDescriptorType= USB_DT_CS_INTERFACE, > > .bDescriptorSubType = UVC_VC_HEADER, > > - .bcdUVC = cpu_to_le16(0x0100), > > + .bcdUVC = cpu_to_le16(0x0110), > > .wTotalLength = 0, /* dynamic */ > > .dwClockFrequency = cpu_to_le32(4800), > > .bInCollection = 0, /* dynamic */ The change looks good to me. With the typo in the commit message fixed, Reviewed-by: Laurent Pinchart -- Regards, Laurent Pinchart

Re: [PATCH] drm/omap: dsi: fix unsigned expression compared with zero

2021-03-13 Thread Laurent Pinchart
nings: > ./drivers/gpu/drm/omapdrm/dss/dsi.c:2155:5-6: > WARNING: Unsigned expression compared with zero: r < 0 > > Signed-off-by: Junlin Yang Reviewed-by: Laurent Pinchart Tomi, will you take this in your tree ? > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 7 --- >

Re: [PATCH 3/3] drm/bridge: ti-sn65dsi86: Properly get the EDID, but only if refclk

2021-03-13 Thread Laurent Pinchart
t; > static const struct drm_bridge_funcs ti_sn_bridge_funcs = { > .attach = ti_sn_bridge_attach, > + .detach = ti_sn_bridge_detach, > .pre_enable = ti_sn_bridge_pre_enable, > .enable = ti_sn_bridge_enable, > .disable = ti_sn_bridge_disable, > @@ -1227,6 +1302,10 @@ static int ti_sn_bridge_probe(struct i2c_client > *client, > if (!pdata) > return -ENOMEM; > > + mutex_init(>pre_enable_mutex); > + INIT_DELAYED_WORK(>pre_enable_timeout_work, > + ti_sn_bridge_pre_enable_timeout); > + > pdata->regmap = devm_regmap_init_i2c(client, >_sn_bridge_regmap_config); > if (IS_ERR(pdata->regmap)) { > @@ -1301,7 +1380,6 @@ static int ti_sn_bridge_remove(struct i2c_client > *client) > if (!pdata) > return -EINVAL; > > - kfree(pdata->edid); > ti_sn_debugfs_remove(pdata); > > of_node_put(pdata->host_node); -- Regards, Laurent Pinchart

Re: [PATCH 2/3] drm/bridge: ti-sn65dsi86: Move code in prep for EDID read fix

2021-03-13 Thread Laurent Pinchart
tand. s/make/makes/ > > Signed-off-by: Douglas Anderson Reviewed-by: Laurent Pinchart > --- > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 196 +- > 1 file changed, 98 insertions(+), 98 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c

Re: [PATCH 1/3] drm/bridge: ti-sn65dsi86: Simplify refclk handling

2021-03-13 Thread Laurent Pinchart
d OK to me. We already have to > check for NULL in the enable case anyway so why not avoid the extra > call? > > Signed-off-by: Douglas Anderson Reviewed-by: Laurent Pinchart > --- > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 11 +++ > 1 file changed, 3 insertions(+

Re: [PATCH v3 7/8] media: uvcvideo: Set a different name for the metadata entity

2021-03-12 Thread Laurent Pinchart
Hi Ricardo, On Sat, Mar 13, 2021 at 12:17:50AM +0100, Ricardo Ribalda Delgado wrote: > On Fri, Mar 12, 2021 at 11:30 PM Laurent Pinchart wrote: > > On Fri, Mar 12, 2021 at 01:48:29PM +0100, Ricardo Ribalda wrote: > > > All the entities must have a unique name. And now tha

Re: [PATCH v3 6/6] media: uvcvideo: Use dma_alloc_noncontiguous API

2021-03-12 Thread Laurent Pinchart
10.430 min 268.837 max (uS) > header: 54308/5000 uS/qty: 10.861 avg 5.104 std 0.778 min 54.736 max (uS) > latency: 268799/5000 uS/qty: 53.759 avg 21.827 std 6.095 min 255.153 max (uS) > decode: 5/5000 uS/qty: 10.444 avg 7.137 std 1.874 min 71.103 max (uS) > raw decode speed: 11.04

Re: [PATCH v3 6/8] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS

2021-03-12 Thread Laurent Pinchart
y, ctrl->info.selector); > diff --git a/drivers/media/usb/uvc/uvcvideo.h > b/drivers/media/usb/uvc/uvcvideo.h > index 97df5ecd66c9..1f17e4253673 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -262,6 +262,11 @@ struct uvc_control_mapping { > u8 *data); > }; > > +struct uvc_control_class { > + u32 id; > + char name[32]; > +}; > + > struct uvc_control { > struct uvc_entity *entity; > struct uvc_control_info info; > @@ -475,6 +480,7 @@ struct uvc_video_chain { > > struct v4l2_prio_state prio;/* V4L2 priority state */ > u32 caps; /* V4L2 chain-wide caps */ > + u8 ctrl_class_bitmap; /* Bitmap of valid classes */ > }; > > struct uvc_stats_frame { -- Regards, Laurent Pinchart

Re: [PATCH v3 4/8] media: uvcvideo: set error_idx to count on EACCESS

2021-03-12 Thread Laurent Pinchart
ctrls->error_idx = (ret == -EACCES) ? > + ctrls->count : i; > return ret; > } > } -- Regards, Laurent Pinchart

Re: [PATCH v3 5/8] media: uvcvideo: refactor __uvc_ctrl_add_mapping

2021-03-12 Thread Laurent Pinchart
uvc_ctrl_init_ctrl(chain, ctrl); > ctrl++; > } > } > @@ -2346,6 +2345,22 @@ int uvc_ctrl_init_device(struct uvc_device *dev) > return 0; > } > > +int uvc_ctrl_init_device(struct uvc_device *dev) > +{ > + struct uvc_v

Re: [PATCH v2 6/6] media: uvcvideo: Use dma_alloc_noncontiguous API

2021-03-12 Thread Laurent Pinchart
Hi Ricardo, On Fri, Mar 12, 2021 at 11:15:46PM +0100, Ricardo Ribalda Delgado wrote: > On Fri, Mar 12, 2021 at 10:19 PM Laurent Pinchart wrote: > > On Fri, Mar 12, 2021 at 01:57:09PM +0100, Ricardo Ribalda wrote: > > > On architectures where there is no coherent cachi

Re: [PATCH v3 7/8] media: uvcvideo: Set a different name for the metadata entity

2021-03-12 Thread Laurent Pinchart
rmer is done in the V4L2 core, which uses vdev->name as-is. In this context, we con't need to add dev->name, it would be redundant as the media controller device already reports it. The latter is done in uvc_ioctl_querycap(). How about dropping dev->name from vdev->name, and modifying uvc_ioctl_querycap() to use dev->name instead of cap->card ? > > /* >* Set the driver data before calling video_register_device, otherwise -- Regards, Laurent Pinchart

Re: [PATCH] dt-bindings: media: Convert video-mux to DT schema

2021-03-12 Thread Laurent Pinchart
Hi Rob, On Fri, Mar 12, 2021 at 08:33:06AM -0700, Rob Herring wrote: > On Fri, Mar 12, 2021 at 3:06 AM Laurent Pinchart wrote: > > On Fri, Mar 12, 2021 at 09:29:04AM +0200, Sakari Ailus wrote: > > > On Fri, Mar 12, 2021 at 03:25:11AM +0200, Laurent Pinchart wrote: > >

Re: [PATCH v2 6/6] media: uvcvideo: Use dma_alloc_noncontiguous API

2021-03-12 Thread Laurent Pinchart
nged, 74 insertions(+), 23 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvc_video.c > b/drivers/media/usb/uvc/uvc_video.c > index f2f565281e63..8e60f81e2257 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/media/usb/uvc/uvc_video.c > @@ -6,11 +6,14 @@ &

Re: [PATCH v2 5/6] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS

2021-03-12 Thread Laurent Pinchart
Hi Hans, On Fri, Mar 12, 2021 at 11:22:07AM +0100, Hans Verkuil wrote: > On 12/03/2021 11:13, Laurent Pinchart wrote: > > On Fri, Mar 12, 2021 at 10:57:33AM +0100, Ricardo Ribalda Delgado wrote: > >> On Fri, Mar 12, 2021 at 2:25 AM Laurent Pinchart wrote: > >>> On T

Re: [PATCH v2 4/6] media: uvcvideo: set error_idx to count on EACCESS

2021-03-12 Thread Laurent Pinchart
; > ret = uvc_ctrl_get(chain, ctrl); > > if (ret < 0) { > > uvc_ctrl_rollback(handle); > > - ctrls->error_idx = i; > > + ctrls->error_idx = (ret == -EACCES) ? > > + ctrls->count : i; > > return ret; > > } > > } -- Regards, Laurent Pinchart

Re: [PATCH v2 5/6] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS

2021-03-12 Thread Laurent Pinchart
Hi Ricardo, On Fri, Mar 12, 2021 at 10:57:33AM +0100, Ricardo Ribalda Delgado wrote: > On Fri, Mar 12, 2021 at 2:25 AM Laurent Pinchart wrote: > > On Thu, Mar 11, 2021 at 11:19:45PM +0100, Ricardo Ribalda wrote: > > > Create all the class controls for the devic

Re: [PATCH] dt-bindings: media: Convert video-mux to DT schema

2021-03-12 Thread Laurent Pinchart
Hi Sakari, On Fri, Mar 12, 2021 at 09:29:04AM +0200, Sakari Ailus wrote: > On Fri, Mar 12, 2021 at 03:25:11AM +0200, Laurent Pinchart wrote: > > On Thu, Mar 11, 2021 at 04:40:42PM -0700, Rob Herring wrote: > > > Now that we have the graph schema, convert the video-mux binding

Re: [PATCH 6/6] media: uvcvideo: Use dma_alloc_noncontiguos API

2021-03-11 Thread Laurent Pinchart
And I forgot to mention: On Fri, Mar 12, 2021 at 03:42:14AM +0200, Laurent Pinchart wrote: > Hi Christoph and Ricardo, > > Thank you for the patch. > > On Mon, Mar 01, 2021 at 09:52:36AM +0100, Christoph Hellwig wrote: > > From: Ricardo Ribalda > >

Re: [PATCH 6/6] media: uvcvideo: Use dma_alloc_noncontiguos API

2021-03-11 Thread Laurent Pinchart
vcvideo.h | 4 +- > 2 files changed, 60 insertions(+), 23 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvc_video.c > b/drivers/media/usb/uvc/uvc_video.c > index f2f565281e63ff..d008c68fb6c806 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/medi

Re: [PATCH] dt-bindings: media: Convert video-mux to DT schema

2021-03-11 Thread Laurent Pinchart
Hi Rob, Thank you for the patch. On Thu, Mar 11, 2021 at 04:40:42PM -0700, Rob Herring wrote: > Now that we have the graph schema, convert the video-mux binding to DT > schema. > > Cc: Sakari Ailus > Cc: Laurent Pinchart > Cc: Mauro Carvalho Chehab > Cc: linux-me...@vge

Re: [PATCH v2 5/6] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS

2021-03-11 Thread Laurent Pinchart
map |= BIT(i); > + break; > + } > + } > + > list_add_tail(>list, >info.mappings); > uvc_dbg(dev, CONTROL, "Adding mapping '%s' to control %pUl/%u\n", > map->name, ctrl->info.entity, ctrl->info.selector); > diff --git a/drivers/media/usb/uvc/uvcvideo.h > b/drivers/media/usb/uvc/uvcvideo.h > index 97df5ecd66c9..63b5d697a438 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -262,6 +262,11 @@ struct uvc_control_mapping { > u8 *data); > }; > > +struct uvc_control_class { > + u32 id; > + char name[32]; > +}; > + > struct uvc_control { > struct uvc_entity *entity; > struct uvc_control_info info; > @@ -707,6 +712,8 @@ struct uvc_device { > } async_ctrl; > > struct uvc_entity *gpio_unit; > + > + u8 ctrl_class_bitmap; Should this be stored in the chain, as different chains can have different controls ? > }; > > enum uvc_handle_state { -- Regards, Laurent Pinchart

Re: [PATCH v2 1/6] media: v4l2-ioctl: Fix check_ext_ctrls

2021-03-11 Thread Laurent Pinchart
H_DEF_VAL) > return 1; > + if (c->which == V4L2_CTRL_WHICH_REQUEST_VAL) > + return 0; Or possibly switch (c->which) { case V4L2_CTRL_WHICH_CUR_VAL: case V4L2_CTRL_WHICH_DEF_VAL: return 1; case V4L2_CTRL_WHIC

Re: [PATCH v2 4/6] media: uvcvideo: set error_idx to count on EACCESS

2021-03-11 Thread Laurent Pinchart
ctrls->error_idx = i; > + ctrls->error_idx = (ret == -EACCES) ? > + ctrls->count : i; > return ret; > } > } -- Regards, Laurent Pinchart

Re: [PATCH v2 6/6] media: uvcvideo: Set a different name for the metadata entity

2021-03-11 Thread Laurent Pinchart
ies having the same name. Could this be fixed at the same time ? You can use the unit ID of the output terminal to create unique names (and it would be nice if the video and metadata nodes has similar names, with "video" and "metadata" being the only difference between them). > > /* >* Set the driver data before calling video_register_device, otherwise -- Regards, Laurent Pinchart

Re: [PATCH v2 3/6] media: uvcvideo: Return -EIO for control errors

2021-03-11 Thread Laurent Pinchart
Hi Ricardo, On Thu, Mar 11, 2021 at 11:59:27PM +0100, Ricardo Ribalda Delgado wrote: > On Thu, Mar 11, 2021 at 11:53 PM Laurent Pinchart wrote: > > On Thu, Mar 11, 2021 at 11:19:43PM +0100, Ricardo Ribalda wrote: > > > The device is doing something unspected with the contr

Re: [PATCH v2 3/6] media: uvcvideo: Return -EIO for control errors

2021-03-11 Thread Laurent Pinchart
LS: FAIL > > Signed-off-by: Ricardo Ribalda The change looks good to me. Reviewed-by: Laurent Pinchart Which of the error codes below do you get with your camera, and for which control ? > --- > drivers/media/usb/uvc/uvc_video.c | 5 + > 1 file changed, 5 insertions(+)

Re: [PATCH 08/10] media: uvcvideo: Always return a value on V4L2_CTRL_WHICH_DEF_VAL

2021-03-11 Thread Laurent Pinchart
ue; > + ctrl->value = (ret < 0) ? 0 : qc.default_value; That's not great, if an error occurs, it should be reported to the user, not ignored silently. Sounds like this needs to be addressed in v4l2-compliance, as the V4L2 specification doesn't forbid errors being returned from V4L2_CTRL_WHICH_DEF_VAL. > } > > return 0; -- Regards, Laurent Pinchart

Re: [PATCH 07/10] media: uvcvideo: set error_idx to count on EACCESS

2021-03-11 Thread Laurent Pinchart
puzzling, as the interactions with the hardware to read the controls are not supposed to affect the hardware state in a way that applications should care about. It may be an issue in the V4L2 specification. > return ret; > } > } -- Regards, Laurent Pinchart

Re: [PATCH 06/10] media: uvcvideo: Implement UVC_CTRL_CLASS_UNIT

2021-03-11 Thread Laurent Pinchart
define UVC_CC_USER_CLASS1 > +#define UVC_CC_LAST_CLASSUVC_CC_USER_CLASS > > /* ---- > * Driver specific constants. > @@ -375,6 +379,11 @@ struct uvc_entity { > struct gpio_desc *gpio_privacy; > int irq; > } gpio; > + > + struct { > + u8 bControlSize; > + u8 *bmControls; > + } ctrl_class; > }; > > u8 bNrInPins; > @@ -715,6 +724,7 @@ struct uvc_device { > } async_ctrl; > > struct uvc_entity *gpio_unit; > + struct uvc_entity *ctrl_class_unit; > }; > > enum uvc_handle_state { -- Regards, Laurent Pinchart

Re: [PATCH 10/10] media: uvcvideo: Populate only active control classes

2021-03-11 Thread Laurent Pinchart
.bmControls[0] = (1 << (UVC_CC_LAST_CLASS + 1)) - 1; > > > unit->get_info = uvc_ctrl_class_get_info; > > > strncpy(unit->name, "Control Class", sizeof(unit->name) - 1); > > > > > > diff --git a/drivers/media/usb/uvc/uvcvideo.h > > > b/drivers/media/usb/uvc/uvcvideo.h > > > index 1d59ac10c2eb..cc573d63e459 100644 > > > --- a/drivers/media/usb/uvc/uvcvideo.h > > > +++ b/drivers/media/usb/uvc/uvcvideo.h > > > @@ -186,7 +186,6 @@ > > > */ > > > #define UVC_CC_CAMERA_CLASS 0 > > > #define UVC_CC_USER_CLASS1 > > > -#define UVC_CC_LAST_CLASSUVC_CC_USER_CLASS > > > > > > /* > > > > > > * Driver specific constants. -- Regards, Laurent Pinchart

Re: [PATCH 03/10] media: uvcvideo: Return -EIO for control errors

2021-03-11 Thread Laurent Pinchart
uld be useful for userspace to know that the value it sets isn't valid. > > - return -EINVAL; > > + return -EIO; > > default: /* reserved or unknown */ > > break; > > } -- Regards, Laurent Pinchart

Re: [PATCH 02/10] media: uvcvideo: Set capability in s_param

2021-03-11 Thread Laurent Pinchart
fail: v4l2-test-formats.cpp(1241): node->has_frmintervals && > !cap->capability > > Signed-off-by: Ricardo Ribalda Reviewed-by: Laurent Pinchart > --- > drivers/media/usb/uvc/uvc_v4l2.c | 7 +-- > 1 file changed, 5 insertions(+), 2 deletions(-

Re: [PATCH v5 01/14] media: uapi: Add some RGB bus formats for i.MX8qm/qxp pixel combiner

2021-03-10 Thread Laurent Pinchart
component are transmitted on a 30-bit > input bus(10-bit per component) from a display controller or a 36-bit > output bus(12-bit per component) to a pixel link. > > Reviewed-by: Robert Foss > Signed-off-by: Liu Ying Reviewed-by: Laurent Pinchart > --- > v4->v5: >

Re: [PATCH v5 02/14] media: docs: Add some RGB bus formats for i.MX8qm/qxp pixel combiner

2021-03-10 Thread Laurent Pinchart
- 0 I count 32 bits here. Should these two 0 be replaced by spaces ? Same for MEDIA_BUS_FMT_RGB888_1X30-CPADLO. With this fixed, Reviewed-by: Laurent Pinchart > + - r\ :sub:`5` > + - r\ :sub:`4` > + - r\ :sub:`3` > + - r\ :sub:`2` > + - r\ :

Re: [PATCH 2/3] media: i2c: imx219: Serialize during stream start/stop

2021-03-10 Thread Laurent Pinchart
Hi Prabhakar, On Wed, Mar 10, 2021 at 12:46:39PM +, Lad, Prabhakar wrote: > On Wed, Mar 10, 2021 at 12:40 PM Laurent Pinchart wrote: > > On Wed, Mar 10, 2021 at 12:20:13PM +, Lad Prabhakar wrote: > > > Serialize during stream start/stop in suspend/resume callbacks.

Re: [PATCH 3/3] media: i2c: imx219: Balance runtime PM use-count in resume callback

2021-03-10 Thread Laurent Pinchart
> > error: > + client = v4l2_get_subdevdata(>sd); > imx219_stop_streaming(imx219); > + pm_runtime_put(>dev); > imx219->streaming = false; > __v4l2_ctrl_grab(imx219->vflip, false); > __v4l2_ctrl_grab(imx219->hflip, false); Similarly to the __v4l2_ctrl_grab(), it could be better to move pm_runtime_put() to imx219_stop_streaming(). -- Regards, Laurent Pinchart

Re: [PATCH 1/3] media: i2c: imx219: Enable vflip and hflip controls on stream stop

2021-03-10 Thread Laurent Pinchart
__v4l2_ctrl_grab(imx219->hflip, false); It's not very nice to do this manually in imx219_resume(). Shouldn't we move the __v4l2_ctrl_grab() calls from imx219_set_stream() to imx219_start_streaming() and imx219_stop_streaming() instead ? > > return ret; > } -- Regards, Laurent Pinchart

Re: [PATCH 2/3] media: i2c: imx219: Serialize during stream start/stop

2021-03-10 Thread Laurent Pinchart
*dev) > imx219->streaming = false; > __v4l2_ctrl_grab(imx219->vflip, false); > __v4l2_ctrl_grab(imx219->hflip, false); > + mutex_unlock(>mutex); > > return ret; > } -- Regards, Laurent Pinchart

Re: [PATCH] media: videobuf2: Fix integer overrun in allocation

2021-03-10 Thread Laurent Pinchart
Hi Ricardo, On Wed, Mar 10, 2021 at 08:58:39AM +0100, Ricardo Ribalda wrote: > On Wed, Mar 10, 2021 at 8:49 AM Laurent Pinchart wrote: > > On Wed, Mar 10, 2021 at 12:43:17AM +0100, Ricardo Ribalda wrote: > > > The plane_length is an unsigned integer. So, if we have a size o

Re: [PATCH] media: videobuf2: Fix integer overrun in allocation

2021-03-09 Thread Laurent Pinchart
t; /* Memops alloc requires size to be page aligned. */ > - unsigned long size = PAGE_ALIGN(vb->planes[plane].length); > + size = PAGE_ALIGN(size); > > /* Did it wrap around? */ > if (size < vb->planes[plane].length) Doesn't this address the issue already ? -- Regards, Laurent Pinchart

Re: [PATCH v2 1/2] dt-bindings: drm/bridge: MHDP8546 bridge binding changes for HDCP

2021-03-08 Thread Laurent Pinchart
an embedded system, it may be useful to select which HDCP versions to offer based on different constraints at runtime. This really seems like a system configuration parameter to me, not a system description. -- Regards, Laurent Pinchart

Re: [PATCH] phy: zynqmp: Handle the clock enable/disable properly

2021-03-08 Thread Laurent Pinchart
gtr_probe(struct platform_device *pdev) > provider = devm_of_phy_provider_register(>dev, xpsgtr_xlate); > if (IS_ERR(provider)) { > dev_err(>dev, "registering provider failed\n"); > - return PTR_ERR(provider); > + ret = PTR_ERR(provider); > + goto err_clk_put; > } > return 0; > + > +err_clk_put: > + for (i = 0; i < ARRAY_SIZE(gtr_dev->clk); i++) > + clk_disable_unprepare(gtr_dev->clk[i]); > + > + return ret; > } > > static const struct of_device_id xpsgtr_of_match[] = { -- Regards, Laurent Pinchart

Re: [PATCH] arm64: dts: zynqmp: Add compatible strings for si5328

2021-03-08 Thread Laurent Pinchart
= <1>; > #size-cells = <0>; > #clock-cells = <1>; > + compatible = "silabs,si5328"; > clocks = <>; > clock-names = "xtal"; > clock-output-names = "si5328"; -- Regards, Laurent Pinchart

Re: [PATCH v3 1/2] dt-bindings: display: bridge: Add bindings for Chipone ICN6211

2021-03-03 Thread Laurent Pinchart
Hi Jagan, On Wed, Mar 03, 2021 at 08:08:35PM +0530, Jagan Teki wrote: > On Wed, Feb 24, 2021 at 6:44 PM Laurent Pinchart wrote: > > On Wed, Feb 24, 2021 at 06:07:43PM +0530, Jagan Teki wrote: > > > On Mon, Feb 15, 2021 at 5:48 PM Laurent Pinchart wrote: > > > > On S

Re: [PATCH 4/7] misc: Add driver for DAB IP found on Renesas R-Car devices

2021-03-02 Thread Laurent Pinchart
> interface (via driver drivers/media/platform/rcar_drif.c, or from other > > > sources since this IP is decoupled from DRIF), and then when it's time > > > to accelerate FFT, FIC, or MSC, it can request services to the DAB IP, so > > > that the app can go on and use the processor to do some work, while the > > > DAB > > > IP processes things. > > > A framework to connect and exchange processing blocks (either SW or HW) > > > and > > > interfaces is therefore vital to properly place a kernel implementation > > > in the great scheme of things, in its absence a simple driver can help > > > > I'm not entirely sure we are missing a framework. What's missing in > > V4L2 MEM2MEM? > > I was referring to a user space framework (I should have been more specific > with my previous email). > > > Before considering drivers/staging, it would be interesting to figure > > out if V4L2 can do it as-is, and if not, discuss what's missing. > > I think an interim solution would allow us and users to evaluate things a > little bit better, so that we can integrate this IP with V4L2 later on. -- Regards, Laurent Pinchart

Re: [PATCH v2 1/2] dt-bindings: drm/bridge: MHDP8546 bridge binding changes for HDCP

2021-03-01 Thread Laurent Pinchart
ibe the system, not configure it. A way for userspace to configure this would be better. -- Regards, Laurent Pinchart

Re: [PATCH v2 1/2] dt-bindings: drm/bridge: MHDP8546 bridge binding changes for HDCP

2021-03-01 Thread Laurent Pinchart
reg-names = "mhdptx"; > +reg = <0xf0 0xfb00 0x0 0x100>, > + <0x0 0x4f48000 0x0 0x74>; > +reg-names = "mhdptx", "mhdptx-sapb"; > clocks = <_clock>; > phys = <_phy>; > phy-names = "dpphy"; -- Regards, Laurent Pinchart

Re: [PATCH v3] media: add a subsystem profile documentation

2021-03-01 Thread Laurent Pinchart
he > +subsystem as a hole. For core changes, whenever possible, multiple s/hole/whole/ > +media (sub-)maintainers do the review. > + > +The sub-maintainers work on specific areas of the subsystem, as > +described below: > + > +Digital TV: > + Sean Young > + > +HDM

[PATCH 2/2] media: v4l2-async: Safely unregister an non-registered async subdev

2021-02-26 Thread Laurent Pinchart
From: Laurent Pinchart Make the V4L2 async framework a bit more robust by allowing to unregister a non-registered async subdev. Otherwise the v4l2_async_cleanup() will attempt to delete the async subdev from the subdev_list with the corresponding list_head not initialized. Signed-off

[PATCH 1/2] list: Add list_is_null() to check if a list_head has been initialized

2021-02-26 Thread Laurent Pinchart
From: Laurent Pinchart The new function checks if the list_head prev and next pointers are NULL, in order to see if a list_head that has been zeroed when allocated has been initialized with INIT_LIST_HEAD() or added to a list. This can be used in cleanup functions that want to support being

Re: [PATCH 4/7] misc: Add driver for DAB IP found on Renesas R-Car devices

2021-02-26 Thread Laurent Pinchart
mber; /* > > +* Orthogonal Frequency Division > > +* Multiplexing (OFDM). > > +* Minimum value is 1, maximum > > value is > > +

Re: [PATCH 3/7] dt-bindings: misc: Add binding for R-Car DAB

2021-02-26 Thread Laurent Pinchart
axItems: 1 I usually try to describe clocks: clocks: items: - description: The module functional clock but as there's a single clock, it may not be worth it. Up to you. > + > + clock-names: > +const: dab With Geert's and Sergei's comments addressed, Reviewed-by

Re: [PATCH 7/7] arm64: configs: Add R-Car DAB support

2021-02-26 Thread Laurent Pinchart
AT25=m > CONFIG_UACCE=m > +CONFIG_RCAR_DAB=m > # CONFIG_SCSI_PROC_FS is not set > CONFIG_BLK_DEV_SD=y > CONFIG_SCSI_SAS_ATA=y -- Regards, Laurent Pinchart

Re: [PATCH 2/7] clk: renesas: r8a77965: Add DAB clock

2021-02-26 Thread Laurent Pinchart
Hz, while S3D1 on E3 runs at 266 MHz. > Probably it doesn't matter that much, as your driver doesn't care > about the actual clock rate. I have the exact same concerns, here and for 1/7. > > DEF_MOD("scu-all", 1017, R8A77965_CLK_S3D4), > > DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)), > > DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)), -- Regards, Laurent Pinchart

Re: [PATCH 5/7] arm64: dts: renesas: r8a77990: Add DAB support

2021-02-26 Thread Laurent Pinchart
clocks = < CPG_MOD 1016>; As the clock isn't documented in the documentation, I can't verify this of the resets property :-S > + clock-names = "dab"; I'll comment on the clock name in the DT bindings. Reviewed-by

Re: [PATCH 6/7] arm64: dts: renesas: r8a77965: Add DAB support

2021-02-26 Thread Laurent Pinchart
quot;; > + power-domains = < R8A77965_PD_ALWAYS_ON>; > + resets = < 1016>; Same comments as for r8a77990. Reviewed-by: Laurent Pinchart > + status = "disabled"; > + }; > + >

Re: [PATCH 0/7] Add FFT Support for R-Car Gen3 devices

2021-02-26 Thread Laurent Pinchart
rcar_dev.c > create mode 100644 drivers/misc/rcar_dab/rcar_dev.h > create mode 100644 drivers/misc/rcar_dab/rcar_fft.c > create mode 100644 include/uapi/linux/rcar_dab.h -- Regards, Laurent Pinchart

Re: [PATCH 01/16] media: i2c: rdacm20: Enable noise immunity

2021-02-24 Thread Laurent Pinchart
Hi Jacopo, On Mon, Feb 22, 2021 at 03:59:05PM +0100, Jacopo Mondi wrote: > On Mon, Feb 22, 2021 at 02:49:34AM +0200, Laurent Pinchart wrote: > > On Wed, Feb 17, 2021 at 12:55:19PM +, Kieran Bingham wrote: > > > On 16/02/2021 17:41, Jacopo Mondi wrote: > > >

Re: [PATCH 09/16] media: i2c: rdacm21: Re-work OV10640 initialization

2021-02-24 Thread Laurent Pinchart
Hi Jacopo, On Mon, Feb 22, 2021 at 04:19:13PM +0100, Jacopo Mondi wrote: > On Mon, Feb 22, 2021 at 03:27:25AM +0200, Laurent Pinchart wrote: > > On Tue, Feb 16, 2021 at 06:41:39PM +0100, Jacopo Mondi wrote: > > > The OV10640 image sensor reset and powerdown on signals are co

Re: [PATCH 07/16] media: i2c: rdacm2x: Fix wake up delay

2021-02-24 Thread Laurent Pinchart
Hi Jacopo, On Mon, Feb 22, 2021 at 04:11:41PM +0100, Jacopo Mondi wrote: > On Mon, Feb 22, 2021 at 03:18:53AM +0200, Laurent Pinchart wrote: > > On Wed, Feb 17, 2021 at 01:33:01PM +, Kieran Bingham wrote: > > > On 16/02/2021 17:41, Jacopo Mondi wrote: > > >

Re: [PATCH 03/16] media: i2c: rdacm20: Replace goto with a loop

2021-02-24 Thread Laurent Pinchart
Hi Jacopo, On Mon, Feb 22, 2021 at 04:06:43PM +0100, Jacopo Mondi wrote: > On Mon, Feb 22, 2021 at 03:05:03AM +0200, Laurent Pinchart wrote: > > Hi Jacopo, > > > > Reviewed-by: Laurent Pinchart > > > > On Wed, Feb 17, 2021 at 01:01:26PM +, Kieran Bingham

Re: [PATCH v3 1/2] dt-bindings: display: bridge: Add bindings for Chipone ICN6211

2021-02-24 Thread Laurent Pinchart
Hi Jagan, On Wed, Feb 24, 2021 at 06:07:43PM +0530, Jagan Teki wrote: > On Mon, Feb 15, 2021 at 5:48 PM Laurent Pinchart wrote: > > On Sun, Feb 14, 2021 at 11:22:10PM +0530, Jagan Teki wrote: > > > ICN6211 is MIPI-DSI to RGB Convertor bridge from Chipone. > > &

Re: [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver

2021-02-24 Thread Laurent Pinchart
Hi Daniel, On Tue, Feb 23, 2021 at 10:36:18PM +, Daniel Scally wrote: > On 23/02/2021 20:04, Laurent Pinchart wrote: > >> + > >> +/* > >> + * Here follows platform specific mapping information that we can pass to > >> + * the functions mapping resources

Re: [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver

2021-02-23 Thread Laurent Pinchart
sensor that is dependent on this entry. > > This commit adds a new module, registering a platform driver to deal > with the 3rd scenario plus an i2c driver to deal with #1 and #2, by > querying the CLDB buffer found against INT3472 entries to determine > which is most appropriate. >

Re: [PATCH v3 5/7] drm: bridge: Queue the bridge chain instead of stacking

2021-02-21 Thread Laurent Pinchart
ch_entry() in drm_atomic_bridge_chain_pre_enable(). Still, this will likely break drivers that depend on the existing order, so I don't think that's an acceptable solution as-is. > > if (bridge->funcs->attach) { > ret = bridge->funcs->attach(bridge, flags); -- Regards, Laurent Pinchart

Re: [PATCH 16/16] media: i2c: gmsl: Use 339Kbps I2C bit-rate

2021-02-21 Thread Laurent Pinchart
ex 80b6f16f87a8..552985026458 100644 > > --- a/drivers/media/i2c/rdacm21.c > > +++ b/drivers/media/i2c/rdacm21.c > > @@ -442,7 +442,7 @@ static int rdacm21_init(struct v4l2_subdev *sd, > > unsigned int val) > > ret = max9271_configure_i2c(>serializer, > > MAX9271_I2CSLVSH_469NS_234NS | > > MAX9271_I2CSLVTO_1024US | > > - MAX9271_I2CMSTBT_105KBPS); > > + MAX9271_I2CMSTBT_339KBPS); > > if (ret) > > return ret; > > -- Regards, Laurent Pinchart

Re: [PATCH 14/16] media: i2c: max9286: Initialize remotes when bound

2021-02-21 Thread Laurent Pinchart
- Disable auto-ack as communication on the control channel are now >* stable. >*/ > - max9286_reverse_channel_setup(priv, MAX9286_REV_AMP_HIGH); > max9286_check_config_link(priv, priv->source_mask); > > /* -- Regards, Laurent Pinchart

Re: [PATCH 13/16] media: i2c: rdacm2x: Implement .init() subdev op

2021-02-21 Thread Laurent Pinchart
Hi Jacopo, Reviewed-by: Laurent Pinchart On Thu, Feb 18, 2021 at 04:13:14PM +, Kieran Bingham wrote: > On 16/02/2021 17:41, Jacopo Mondi wrote: > > The current probe() procedure of the RDACM20 and RDACM20 performs > > and RDACM21? > > > initialization of the

Re: [PATCH 12/16] media: i2c: max9286: Define high channel amplitude

2021-02-21 Thread Laurent Pinchart
channel amplitude to compensate for the > - * remote ends high threshold, if not done already > + * remote ends high threshold I would have done this in the previous patch, but it doesn't matter much. Reviewed-by: Laurent Pinchart >* - Verify all configuration lin

Re: [PATCH 11/16] media: i2c: max9286: Cache channel amplitude

2021-02-21 Thread Laurent Pinchart
ondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/max9286.c | 13 ++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c > index 1f14cd817fbf..4afb5ca06448 100644 > --- a

Re: [PATCH 09/16] media: i2c: rdacm21: Re-work OV10640 initialization

2021-02-21 Thread Laurent Pinchart
tests after fixing this. > usleep_range(3000, 5000); > > /* Read OV10640 ID to test communications. */ -- Regards, Laurent Pinchart

Re: [PATCH 10/16] media: i2c: max9286: Rename reverse_channel_mv

2021-02-21 Thread Laurent Pinchart
priv->reverse_channel_mv = reverse_channel_microvolt / 1000U; > + priv->init_rev_chan_mv = reverse_channel_microvolt / 1000U; > > priv->route_mask = priv->source_mask; > -- Regards, Laurent Pinchart

<    1   2   3   4   5   6   7   8   9   10   >