Re: [PATCH] rcar-csi2: Allow configuring of video standard

2019-03-06 Thread Laurent Pinchart
, FLD_REG, FLD_FLD_NUM(2) | FLD_FLD_EN4 | > - FLD_FLD_EN3 | FLD_FLD_EN2 | FLD_FLD_EN); > + rcsi2_write(priv, FLD_REG, fld); > rcsi2_write(priv, VCDT_REG, vcdt); > if (vcdt2) > rcsi2_write(priv, VCDT2_REG, vcdt2); > @@ -662,6 +687,8 @@ static int rcsi2_get_pad_format(struct v4l2_subdev *sd, > } > > static const struct v4l2_subdev_video_ops rcar_csi2_video_ops = { > + .s_std = rcsi2_s_std, > + .g_std = rcsi2_g_std, > .s_stream = rcsi2_s_stream, > }; > -- Regards, Laurent Pinchart

Re: [PATCH] rcar-csi2: Allow configuring of video standard

2019-03-06 Thread Laurent Pinchart
Hi Niklas, On Thu, Mar 07, 2019 at 01:22:36AM +0100, Niklas Söderlund wrote: > On 2019-03-07 02:13:18 +0200, Laurent Pinchart wrote: > > On Sat, Feb 16, 2019 at 11:57:58PM +0100, Niklas Söderlund wrote: > >> Allow the hardware to to do proper field detection for interlaced fie

Re: [PATCHv2 6/9] v4l2-subdev: add release() internal op

2019-03-07 Thread Laurent Pinchart
Hi Hans, On Thu, Mar 07, 2019 at 09:54:53AM +0100, Hans Verkuil wrote: > On 3/5/19 8:46 PM, Laurent Pinchart wrote: > > On Tue, Mar 05, 2019 at 10:58:44AM +0100, hverkuil-ci...@xs4all.nl wrote: > >> From: Hans Verkuil > >> > >> If the subdevice created a devi

Re: [PATCHv2 4/9] media-entity: set ent_enum->bmap to NULL after freeing it

2019-03-08 Thread Laurent Pinchart
Hi Hans, On Thu, Mar 07, 2019 at 10:23:03AM +0100, Hans Verkuil wrote: > On 3/5/19 8:39 PM, Laurent Pinchart wrote: > > On Tue, Mar 05, 2019 at 10:58:42AM +0100, hverkuil-ci...@xs4all.nl wrote: > >> From: Hans Verkuil > >> > >> Ensure that this pointer is set

Re: [PATCH] media: adv748x: Don't disable CSI-2 on link_setup

2019-03-08 Thread Laurent Pinchart
Hi Jacopo, On Thu, Mar 07, 2019 at 11:35:11AM +0100, Jacopo Mondi wrote: > On Wed, Mar 06, 2019 at 09:15:21PM +0200, Laurent Pinchart wrote: > > On Wed, Mar 06, 2019 at 12:26:59PM +0100, Jacopo Mondi wrote: > >> When both the media links between AFE and HDMI and the two TX CSI-2

Re: [PATCH] rcar-csi2: Allow configuring of video standard

2019-03-08 Thread Laurent Pinchart
Hi Niklas, (CC'ing Sakari) On Thu, Mar 07, 2019 at 01:38:20AM +0100, Niklas Söderlund wrote: > On 2019-03-07 02:26:45 +0200, Laurent Pinchart wrote: > > On Thu, Mar 07, 2019 at 01:22:36AM +0100, Niklas Söderlund wrote: > >> On 2019-03-07 02:13:18 +0200, Laurent Pinchart w

Re: [PATCHv4 7/9] vimc: zero the media_device on probe

2019-03-08 Thread Laurent Pinchart
> vimc is unbound and then bound again. > > So call memset to ensure any left-over values are cleared. > > Signed-off-by: Hans Verkuil Reviewed-by: Laurent Pinchart Do I recall correctly that you mentioned there's work in progress that will allocate this dynamically ? If

Re: [PATCH v6 04/17] media: rkisp1: add Rockchip MIPI Synopsys DPHY driver

2019-03-10 Thread Laurent Pinchart
do so. Signed-off-by: Laurent Pinchart diff --git a/drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c b/drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c index 32140960557a..8a7d070314c9 100644 --- a/drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c +++ b/drivers/media/platform/rockchip

Re: [PATCH v14 08/13] ARM: dts: imx7: Add video mux, csi and mipi_csi and connections

2019-03-10 Thread Laurent Pinchart
; + interrupts = ; > + clocks = <&clks IMX7D_IPG_ROOT_CLK>, > + <&clks IMX7D_MIPI_CSI_ROOT_CLK>, > + <&clks IMX7D_MIPI_DPHY_ROOT_CLK>; > + clock-names = "pclk", "wrap", "phy"; > + power-domains = <&pgc_mipi_phy>; > + phy-supply = <®_1p0d>; > + resets = <&src IMX7_RESET_MIPI_PHY_MRST>; > + reset-names = "mrst"; > + status = "disabled"; How about already declaring port@0 here too (but obviously without any endoint) ? > + }; > }; > > aips3: aips-bus@3080 { -- Regards, Laurent Pinchart

Re: [PATCH v4 06/12] media: dt-bindings: add bindings for i.MX7 media driver

2019-03-10 Thread Laurent Pinchart
>> + > >> +- reg : (required) can take the values 0 or 1, > >> where 0 is the > >> + related sink port and port 1 should be > >> the source one; > >> + > >> +endpoint node > >> +- > >> + > >> +- data-lanes: (required) an array specifying active > >> physical MIPI-CSI2 > >> + data input lanes and their mapping to logical > >> lanes; the > >> + array's content is unused, only its length is > >> meaningful; > >> + > >> +- fsl,csis-hs-settle : (optional) differential receiver > >> (HS-RX) settle time; > > > > Could you calculate this, as other drivers do? It probably > > changes > > depending on the device runtime configuration. > > The only reference to possible values to this parameter is given > by table in [0], can you point me out the formula for imx7 in the > documentation? > > [0] https://community.nxp.com/thread/463777 Can't you use the values from that table ? :-) You can get the link speed by querying the connected subdev and reading its V4L2_CID_PIXEL_RATE control. -- Regards, Laurent Pinchart

Re: [media-workshop] [ANN] Edinburgh Media Summit 2018 meeting report

2019-03-11 Thread Laurent Pinchart
> http://www.retiisi.org.uk/~sailus/v4l2/notes/osseu18-media.html> > > > > > > > > > Attendees > > > - > > > > > > Brad Love > > > Ezequiel Garcia > > > Gustavo Padovan > > > Hans Verku

Re: [PATCH v14 08/13] ARM: dts: imx7: Add video mux, csi and mipi_csi and connections

2019-03-12 Thread Laurent Pinchart
Hi Rui, On Tue, Mar 12, 2019 at 02:05:24PM +, Rui Miguel Silva wrote: > On Sun 10 Mar 2019 at 21:41, Laurent Pinchart wrote: > > Hi Rui, > > > > Thank you for the patch. > > Where have you been for the latest 14 versions? :) Elsewhere I suppose :-) > This is

Re: [PATCH v4 06/12] media: dt-bindings: add bindings for i.MX7 media driver

2019-03-12 Thread Laurent Pinchart
Hi Rui, On Tue, Mar 12, 2019 at 02:07:02PM +, Rui Miguel Silva wrote: > On Sun 10 Mar 2019 at 21:48, Laurent Pinchart wrote: > > On Fri, May 18, 2018 at 09:27:58AM +0100, Rui Miguel Silva wrote: > >> On Fri 18 May 2018 at 06:58, Sakari Ailus wrote: > >>> On T

Re: [linux-uvc-devel] HD Camera (4e45:5501) support

2019-03-12 Thread Laurent Pinchart
URB status: No such file or directory (-ENOENT) (-2) > URB length [bytes]: 0 > Data length [bytes]: 0 > [Request in: 86] > [Time from request: 5.119484000 seconds] > Unused Setup Header > Interval: 0 > Start frame: 0 > Copy of Transfer Flags: 0x0200 > Number of ISO descriptors: 0 > [bInterfaceClass: Video (0x0e)] > [Interface: 0x01] > [Entity: 0x00] > [Control Selector: Probe (0x01)] -- Regards, Laurent Pinchart

Re: [RFP] Which V4L2 ioctls could be replaced by better versions?

2019-03-17 Thread Laurent Pinchart
Hi Tomasz, On Fri, Mar 15, 2019 at 01:18:17PM +0900, Tomasz Figa wrote: > On Fri, Oct 26, 2018 at 10:42 PM Laurent Pinchart wrote: > > On Friday, 26 October 2018 14:41:26 EEST Tomasz Figa wrote: > >> On Thu, Sep 20, 2018 at 11:42 PM Hans Verkuil wrote: > >>>

[GIT PULL FOR v5.2] R-Car FDP1 changes

2019-03-24 Thread Laurent Pinchart
Laurent Pinchart (1): v4l: rcar_fdp1: Fix indentation oddities drivers/media/platform/rcar_fdp1.c | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) -- Regards, Laurent Pinchart

Re: [PATCH v7 00/16] Intel IPU3 ImgU patchset

2019-03-24 Thread Laurent Pinchart
an 02, 2019 at 10:38:33AM +0800, Bingbu Cao wrote: > >> On 12/26/2018 07:03 PM, Laurent Pinchart wrote: > >>> Hello Bingbu, > >>> > > > > [snip] > > > >>>>>>>>> 2. ImgU pipeline needs to be configured for image pro

Re: [PATCH] media: Add missing "Auto" option to the power line frequency control

2019-04-02 Thread Laurent Pinchart
27;t get the information in a generic way by querying the control. One option to keep the code generic would be to add protocol version information to the uvc_control_mapping structure, to condition control information on the protocol version. It could take the form of a [min, max] version range for instance. Entries that don't set the min and max versions would be applicable to all versions. > > > }; > > > > static const struct uvc_menu_info exposure_auto_controls[] = { -- Regards, Laurent Pinchart

Re: [PATCH v1] media: media_device_enum_links32: fix missing reserved field copy

2019-04-02 Thread Laurent Pinchart
d field here instead of copying it, as we know it has to be zero. > + > + return 0; > } > > #define MEDIA_IOC_ENUM_LINKS32 _IOWR('|', 0x02, struct > media_links_enum32) -- Regards, Laurent Pinchart

Re: [PATCH 0/0] media: uvcdriver: add support for Chicony HP Full-HD Camera (04f2:b62f)

2019-04-02 Thread Laurent Pinchart
le device entry isn't added, does the uvcvideo driver print error messages to the kernel log ? > /* Alcor Micro AU3820 (Future Boy PC USB Webcam) */ > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > | USB_DEVICE_ID_MATCH_INT_INFO, -- Regards, Laurent Pinchart

Re: [PATCH] media: staging/imx: add media device to capture register

2019-04-18 Thread Laurent Pinchart
est. If time permits, after getting capture working, I'll see if I can start cleaning it up. > Reported-by: Laurent Pinchart > Signed-off-by: Rui Miguel Silva > --- > drivers/staging/media/imx/imx-ic-prpencvf.c | 2 +- > drivers/staging/media/imx/imx-media-capture.c

Re: [PATCH v3 1/2] media: exynos4-is: Properly report _MPLANE caps

2019-04-18 Thread Laurent Pinchart
bably not in use any more > so I don't really mind. As this driver is quite old I assume there's little interest in investing in it, but is there any chance Samsung would be interested in contributing to libcamera for newer generations ? :-) -- Regards, Laurent Pinchart

[GIT PULL FOR v5.2] VSP1 support for additional 4CCs

2019-04-23 Thread Laurent Pinchart
Laurent Pinchart (6): v4l: Add definitions for missing 32-bit RGB formats v4l: Add definitions for missing 16-bit RGB formats v4l: Add definitions for missing 16-bit RGB555 formats media: vsp1: Add support for missing 32-bit RGB formats media: vsp1: Add

Re: [PATCH 08/30] media: v4l2-ioctl: fix some "too small" warnings

2018-03-27 Thread Laurent Pinchart
Hi Mauro, On Monday, 26 March 2018 23:28:55 EEST Mauro Carvalho Chehab wrote: > Em Mon, 26 Mar 2018 21:47:33 +0300 Laurent Pinchart escreveu: > > On Monday, 26 March 2018 13:08:16 EEST Mauro Carvalho Chehab wrote: > > > Em Fri, 23 Mar 2018 23:53:56 +0200 Sakari Ailus escreveu: &

Re: [PATCH] media: v4l2-compat-ioctl32: don't oops on overlay

2018-03-28 Thread Laurent Pinchart
mpat-ioctl32.c > > @@ -101,7 +101,7 @@ static int get_v4l2_window32(struct v4l2_window __user > > *kp, > > static int put_v4l2_window32(struct v4l2_window __user *kp, > > struct v4l2_window32 __user *up) > > { > > - struct v4l2_clip __user *kclips = kp->clips; > > + struct v4l2_clip __user *kclips; > > struct v4l2_clip32 __user *uclips; > > compat_caddr_t p; > > u32 clipcount; > > @@ -116,6 +116,8 @@ static int put_v4l2_window32(struct v4l2_window __user > > *kp, > > if (!clipcount) > > return 0; > > > > + if (get_user(kclips, &kp->clips)) > > + return -EFAULT; > > if (get_user(p, &up->clips)) > > return -EFAULT; > > uclips = compat_ptr(p); > > Good find. I checked for similar problems elsewhere in the file but could > not find any. > > Reviewed-by: Sakari Ailus Would it be useful to rename kp to something that doesn't imply the memory is kernel memory ? I was confused at first when reading this patch. -- Regards, Laurent Pinchart

Re: [PATCH 02/15] v4l: vsp1: Remove outdated comment

2018-03-28 Thread Laurent Pinchart
Hi Kieran, On Wednesday, 28 March 2018 22:04:49 EEST Kieran Bingham wrote: > On 28/03/18 13:27, Kieran Bingham wrote: > > On 26/02/18 21:45, Laurent Pinchart wrote: > >> The entities in the pipeline are all started when the LIF is setup. > >> Remove the outdated c

Re: [PATCH 05/15] v4l: vsp1: Use vsp1_entity.pipe to check if entity belongs to a pipeline

2018-03-29 Thread Laurent Pinchart
Hi Kieran, On Wednesday, 28 March 2018 17:10:10 EEST Kieran Bingham wrote: > On 26/02/18 21:45, Laurent Pinchart wrote: > > The DRM pipeline handling code uses the entity's pipe list head to check > > whether the entity is already included in a pipeline. This method is a &g

Re: [PATCH 07/15] v4l: vsp1: Move DRM atomic commit pipeline setup to separate function

2018-03-29 Thread Laurent Pinchart
Hi Kieran, On Wednesday, 28 March 2018 17:43:13 EEST Kieran Bingham wrote: > On 26/02/18 21:45, Laurent Pinchart wrote: > > The DRM pipeline setup code used at atomic commit time is similar to the > > setup code used when enabling the pipeline. Move it to a separate > > funct

Re: [PATCH] media: v4l2-compat-ioctl32: don't oops on overlay

2018-03-29 Thread Laurent Pinchart
Hi Sakari, On Thursday, 29 March 2018 10:35:49 EEST Sakari Ailus wrote: > On Thu, Mar 29, 2018 at 09:19:43AM +0300, Laurent Pinchart wrote: > > On Wednesday, 28 March 2018 23:16:08 EEST Sakari Ailus wrote: > > > On Wed, Mar 28, 2018 at 02:59:22PM -0300, Mauro Carvalho Chehab

Re: [PATCH 10/15] v4l: vsp1: Move DRM pipeline output setup code to a function

2018-04-02 Thread Laurent Pinchart
Hi Kieran, On Thursday, 29 March 2018 14:49:12 EEST Kieran Bingham wrote: > Hi Laurent, > > Thank you for another patch :D You're welcome, there will be more ;-) > On 26/02/18 21:45, Laurent Pinchart wrote: > > In order to make the vsp1_du_setup_lif() easier to read, an

Re: [PATCH 12/15] v4l: vsp1: Generalize detection of entity removal from DRM pipeline

2018-04-02 Thread Laurent Pinchart
Hi Kieran, On Thursday, 29 March 2018 14:37:07 EEST Kieran Bingham wrote: > On 26/02/18 21:45, Laurent Pinchart wrote: > > When disabling a DRM plane, the corresponding RPF is only marked as > > removed from the pipeline in the atomic update handler, with the actual > > r

Re: [PATCH v13 00/33] rcar-vin: Add Gen3 with media controller

2018-04-03 Thread Laurent Pinchart
s pointed out by Geert and Sergei, > > > > thanks! > > > > - Refresh patch 2/32 with an updated version, thanks Sakari for pointing > > > > this out. > > > > - Add Sakaris Ack to patch 1/32. > > - Rebase on top of v4.9-rc1 instead of v4.9-rc3 to ease integration > > > > testing together with renesas-drivers tree. > > > > Fabrizio Castro (2): > > dt-bindings: media: rcar_vin: Reverse SoC part number list > > dt-bindings: media: rcar_vin: add device tree support for r8a774[35] > > > > Niklas Söderlund (31): > > rcar-vin: add Gen3 devicetree bindings documentation > > rcar-vin: rename poorly named initialize and cleanup functions > > rcar-vin: unregister video device on driver removal > > rcar-vin: move subdevice handling to async callbacks > > rcar-vin: move model information to own struct > > rcar-vin: move max width and height information to chip information > > rcar-vin: move functions regarding scaling > > rcar-vin: all Gen2 boards can scale simplify logic > > rcar-vin: set a default field to fallback on > > rcar-vin: fix handling of single field frames (top, bottom and > > > > alternate fields) > > > > rcar-vin: update bytesperline and sizeimage calculation > > rcar-vin: align pixelformat check > > rcar-vin: break out format alignment and checking > > rcar-vin: simplify how formats are set and reset > > rcar-vin: cache video standard > > rcar-vin: move media bus configuration to struct rvin_dev > > rcar-vin: enable Gen3 hardware configuration > > rcar-vin: add function to manipulate Gen3 chsel value > > rcar-vin: add flag to switch to media controller mode > > rcar-vin: use different v4l2 operations in media controller mode > > rcar-vin: force default colorspace for media centric mode > > rcar-vin: prepare for media controller mode initialization > > rcar-vin: add group allocator functions > > rcar-vin: change name of video device > > rcar-vin: add chsel information to rvin_info > > rcar-vin: parse Gen3 OF and setup media graph > > rcar-vin: add link notify for Gen3 > > rcar-vin: extend {start,stop}_streaming to work with media controller > > rcar-vin: enable support for r8a7795 > > rcar-vin: enable support for r8a7796 > > rcar-vin: enable support for r8a77970 > > > > .../devicetree/bindings/media/rcar_vin.txt | 137 ++- > > drivers/media/platform/rcar-vin/Kconfig| 2 +- > > drivers/media/platform/rcar-vin/rcar-core.c| 962 > > +++-- drivers/media/platform/rcar-vin/rcar-dma.c > > | 785 ++--- drivers/media/platform/rcar-vin/rcar-v4l2.c > >| 488 ++- drivers/media/platform/rcar-vin/rcar-vin.h | > > 146 +++- > > 6 files changed, 1913 insertions(+), 607 deletions(-) -- Regards, Laurent Pinchart

Re: [PATCH v13 29/33] rcar-vin: add link notify for Gen3

2018-04-03 Thread Laurent Pinchart
MLINK; > + goto out; > + } > + > + /* New valid CHSEL found, set the new value. */ > + ret = rvin_set_channel_routing(group->vin[master_id], __ffs(mask_new)); > +out: > + mutex_unlock(&group->lock); > + > + return ret; > +} > + > +static const struct media_device_ops rvin_media_ops = { > + .link_notify = rvin_group_link_notify, > +}; > + > /* > --- > -- * Gen3 CSI2 Group Allocator > */ > @@ -85,6 +231,7 @@ static int rvin_group_init(struct rvin_group *group, > struct rvin_dev *vin) vin_dbg(vin, "found %u enabled VIN's in DT", > group->count); > > mdev->dev = vin->dev; > + mdev->ops = &rvin_media_ops; > > match = of_match_node(vin->dev->driver->of_match_table, > vin->dev->of_node); -- Regards, Laurent Pinchart

Re: [PATCH v13 27/33] rcar-vin: add chsel information to rvin_info

2018-04-03 Thread Laurent Pinchart
he struct rvin_info. > > Signed-off-by: Niklas Söderlund > Reviewed-by: Hans Verkuil Reviewed-by: Laurent Pinchart > --- > > * Changes since v11 > - Fixed spelling. > - Reorderd filed order in struct rvin_group_route. > - Renamed chan to channel in struct rvin_group_ro

Re: [PATCH v13 23/33] rcar-vin: force default colorspace for media centric mode

2018-04-03 Thread Laurent Pinchart
the API. Until the API is updated to > allow for userspace to set these Hans wants the fields to be set by the > driver to fixed values. > > Signed-off-by: Niklas Söderlund > Reviewed-by: Hans Verkuil Reviewed-by: Laurent Pinchart > --- > drivers/media

Re: [PATCH v13 22/33] rcar-vin: use different v4l2 operations in media controller mode

2018-04-03 Thread Laurent Pinchart
this mode a different set > of v4l2 operations needs to be used. > > Add a new set of v4l2 operations to support operation without directly > interacting with the source subdevice. > > Signed-off-by: Niklas Söderlund > Reviewed-by: Hans Verkuil Reviewed-by: Laurent Pinc

Re: [PATCH v13 15/33] rcar-vin: break out format alignment and checking

2018-04-03 Thread Laurent Pinchart
> + case V4L2_FIELD_INTERLACED_BT: > + case V4L2_FIELD_INTERLACED: > + break; > + case V4L2_FIELD_ALTERNATE: > + /* > + * Driver dose not (yet) support outputting ALTERNATE to a s/dose/does/ Apart from that, Reviewed-by: Laurent Pinchart > + * usersp

Re: [PATCH v13 12/33] rcar-vin: fix handling of single field frames (top, bottom and alternate fields)

2018-04-03 Thread Laurent Pinchart
+ * Driver dose not (yet) support outputting ALTERNATE to a s/dose/does/ Apart from that, I'll overlook the fact that if rvin_reset_format() function is called from S_STD or S_DV_TIMINGS and userspace calls G_FMT immediately after that, the field will be set to V4L2_FIELD_ALT

Re: [PATCH v13 16/33] rcar-vin: simplify how formats are set and reset

2018-04-03 Thread Laurent Pinchart
> - pix->pixelformat = RVIN_DEFAULT_FORMAT; > - > - /* Limit to source capabilities */ > - ret = __rvin_try_format_source(vin, which, pix, source); > - if (ret) > - return ret; > - > - return rvin_format_align(vin, pix); > + ret

Re: [PATCH v13 17/33] rcar-vin: cache video standard

2018-04-03 Thread Laurent Pinchart
t; > Signed-off-by: Niklas Söderlund > Reviewed-by: Hans Verkuil Reviewed-by: Laurent Pinchart > --- > drivers/media/platform/rcar-vin/rcar-core.c | 6 ++ > drivers/media/platform/rcar-vin/rcar-dma.c | 7 ++- > drivers/media/platform/rcar-vin/rcar-v4l2.c |

Re: [PATCH v13 1/2] rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver documentation

2018-04-04 Thread Laurent Pinchart
ices. There are only > a few possible routes which are set by hardware limitations, which are > different for each SoC in the Gen3 family. > > Signed-off-by: Niklas Söderlund > Acked-by: Rob Herring > Acked-by: Sakari Ailus Reviewed-by: Laurent Pinchart > --- > .../bin

Re: [PATCH v13 2/2] rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver

2018-04-04 Thread Laurent Pinchart
->subdev, &pdev->dev); > + snprintf(priv->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s", > + KBUILD_MODNAME, dev_name(&pdev->dev)); > + priv->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE; > + > + priv->subdev.entity.function = MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER; > + priv->subdev.entity.ops = &rcar_csi2_entity_ops; > + > + priv->pads[RCAR_CSI2_SINK].flags = MEDIA_PAD_FL_SINK; > + for (i = RCAR_CSI2_SOURCE_VC0; i < NR_OF_RCAR_CSI2_PAD; i++) > + priv->pads[i].flags = MEDIA_PAD_FL_SOURCE; > + > + ret = media_entity_pads_init(&priv->subdev.entity, NR_OF_RCAR_CSI2_PAD, > + priv->pads); > + if (ret) > + goto error; > + > + pm_runtime_enable(&pdev->dev); > + > + ret = v4l2_async_register_subdev(&priv->subdev); > + if (ret < 0) > + goto error; > + > + dev_info(priv->dev, "%d lanes found\n", priv->lanes); priv->lanes is unsigned you should use %u. > + > + return 0; > + > +error: > + v4l2_async_notifier_unregister(&priv->notifier); > + v4l2_async_notifier_cleanup(&priv->notifier); > + > + return ret; > +} [snip] With these small issues fixed and Kieran's and Maxime's comments addressed as you see fit, Reviewed-by: Laurent Pinchart -- Regards, Laurent Pinchart

Re: [PATCH v13 2/2] rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver

2018-04-04 Thread Laurent Pinchart
/* r8a7795 ES1.x behaves different then ES2.0+ but no own compat */ > > /* > * r8a7795 ES1.x behaves differently than the ES2.0+ but doesn't have it's > own > * compatible string > */ With a period at the end of the sentence if would be perfect :-) > > + attr = soc_device_match(r8a7795es1); > > + if (attr) > > + priv->info = attr->data; > > + > > + priv->dev = &pdev->dev; > > + > > + mutex_init(&priv->lock); > > + priv->stream_count = 0; > > + > > + ret = rcar_csi2_probe_resources(priv, pdev); > > + if (ret) { > > + dev_err(priv->dev, "Failed to get resources\n"); > > + return ret; > > + } > > + > > + platform_set_drvdata(pdev, priv); > > + > > + ret = rcar_csi2_parse_dt(priv); > > + if (ret) > > + return ret; > > + > > + priv->subdev.owner = THIS_MODULE; > > + priv->subdev.dev = &pdev->dev; > > + v4l2_subdev_init(&priv->subdev, &rcar_csi2_subdev_ops); > > + v4l2_set_subdevdata(&priv->subdev, &pdev->dev); > > + snprintf(priv->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s", > > +KBUILD_MODNAME, dev_name(&pdev->dev)); > > + priv->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE; > > + > > + priv->subdev.entity.function = MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER; > > + priv->subdev.entity.ops = &rcar_csi2_entity_ops; > > + > > + priv->pads[RCAR_CSI2_SINK].flags = MEDIA_PAD_FL_SINK; > > + for (i = RCAR_CSI2_SOURCE_VC0; i < NR_OF_RCAR_CSI2_PAD; i++) > > + priv->pads[i].flags = MEDIA_PAD_FL_SOURCE; > > + > > + ret = media_entity_pads_init(&priv->subdev.entity, NR_OF_RCAR_CSI2_PAD, > > +priv->pads); > > + if (ret) > > + goto error; > > + > > + pm_runtime_enable(&pdev->dev); > > + > > + ret = v4l2_async_register_subdev(&priv->subdev); > > + if (ret < 0) > > + goto error; > > + > > + dev_info(priv->dev, "%d lanes found\n", priv->lanes); > > + > > + return 0; > > + > > +error: > > + v4l2_async_notifier_unregister(&priv->notifier); > > + v4l2_async_notifier_cleanup(&priv->notifier); > > + > > + return ret; > > +} [snip] > Well ... phew ... done :) I can go to bed. I wish I could do the same :-) -- Regards, Laurent Pinchart

Re: [PATCH v13 2/2] rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver

2018-04-04 Thread Laurent Pinchart
< NR_OF_RCAR_CSI2_PAD; i++) > > + priv->pads[i].flags = MEDIA_PAD_FL_SOURCE; > > + > > + ret = media_entity_pads_init(&priv->subdev.entity, NR_OF_RCAR_CSI2_PAD, > > +priv->pads); > > + if (ret) > > + goto error; > > + > > + pm_runtime_enable(&pdev->dev); > > Is CONFIG_PM mandatory on Renesas SoCs? If not, you end up with the > device uninitialised at probe, and pm_runtime_get_sync will not > initialise it either if CONFIG_PM is not enabled. I guess you could > call your runtime_resume function unconditionally, and mark the device > as active in runtime_pm using pm_runtime_set_active. > > Looks good otherwise, once fixed (and if relevant): > Reviewed-by: Maxime Ripard -- Regards, Laurent Pinchart

Re: [PATCH 10/15] v4l: vsp1: Move DRM pipeline output setup code to a function

2018-04-04 Thread Laurent Pinchart
Hi Kieran, On Wednesday, 4 April 2018 19:15:19 EEST Kieran Bingham wrote: > On 02/04/18 13:35, Laurent Pinchart wrote: > > > > >>> +/* Setup the output side of the pipeline (WPF and LIF). */ > >>> +static int vsp1_du_pipeline_s

Re: [PATCH 11/15] v4l: vsp1: Add per-display list completion notification support

2018-04-04 Thread Laurent Pinchart
Hi Kieran, On Wednesday, 4 April 2018 19:16:46 EEST Kieran Bingham wrote: > On 26/02/18 21:45, Laurent Pinchart wrote: > > Display list completion is already reported to the frame end handler, > > but that mechanism is global to all display lists. In order to implement

Re: [PATCH 13/15] v4l: vsp1: Assign BRU and BRS to pipelines dynamically

2018-04-04 Thread Laurent Pinchart
e and the details this time. > On 26/02/18 21:45, Laurent Pinchart wrote: > > The VSPDL variant drives two DU channels through two LIF and two > > blenders, BRU and BRS. The DU channels thus share the five available > > VSPDL inputs and expose them as five KMS planes. >

Re: [PATCH v13 2/2] rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver

2018-04-05 Thread Laurent Pinchart
Hi Geert, On Thursday, 5 April 2018 10:33:55 EEST Geert Uytterhoeven wrote: > On Wed, Apr 4, 2018 at 5:26 PM, Laurent Pinchart wrote: > > On Thursday, 29 March 2018 14:30:39 EEST Maxime Ripard wrote: > >> On Tue, Feb 13, 2018 at 12:01:32AM +0100, Niklas Söderlund wrote: >

[PATCH v2 00/15] R-Car VSP1: Dynamically assign blend units to display pipelines

2018-04-05 Thread Laurent Pinchart
d in individual changelogs. Laurent Pinchart (15): v4l: vsp1: Don't start/stop media pipeline for DRM v4l: vsp1: Remove unused field from vsp1_drm_pipeline structure v4l: vsp1: Store pipeline pointer in vsp1_entity v4l: vsp1: Use vsp1_entity.pipe to check if entity belongs to a

[PATCH v2 02/15] v4l: vsp1: Remove unused field from vsp1_drm_pipeline structure

2018-04-05 Thread Laurent Pinchart
The vsp1_drm_pipeline enabled field is set but never used. Remove it. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- drivers/media/platform/vsp1/vsp1_drm.c | 4 drivers/media/platform/vsp1/vsp1_drm.h | 2 -- 2 files changed, 6 deletions(-) diff --git a/drivers/media

[PATCH v2 05/15] v4l: vsp1: Share duplicated DRM pipeline configuration code

2018-04-05 Thread Laurent Pinchart
Move the duplicated DRM pipeline configuration code to a function and call it from vsp1_du_setup_lif() and vsp1_du_atomic_flush(). Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- drivers/media/platform/vsp1/vsp1_drm.c | 95 +++--- 1 file changed, 43

[PATCH v2 08/15] v4l: vsp1: Replace manual DRM pipeline input setup in vsp1_du_setup_lif

2018-04-05 Thread Laurent Pinchart
vsp1_du_pipeline_setup_input() function will not setup any RPF, and will thus not setup formats on the BRU sink pads. This isn't a problem as all inputs are disabled, and the BRU sink pads will be reconfigured from the atomic commit handler when inputs will be enabled. Signed-off-by: Laurent Pinchart Review

[PATCH v2 11/15] v4l: vsp1: Add per-display list internal completion notification support

2018-04-05 Thread Laurent Pinchart
driver. Extend the display list API to support such an internal use of the display list. Signed-off-by: Laurent Pinchart --- Changes since v1: - Use the frame end status flags to report notification - Rename the notify flag to internal --- drivers/media/platform/vsp1/vsp1_dl.c| 23

[PATCH v2 04/15] v4l: vsp1: Use vsp1_entity.pipe to check if entity belongs to a pipeline

2018-04-05 Thread Laurent Pinchart
inter. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- drivers/media/platform/vsp1/vsp1_drm.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c index a7ad85ab0b08..e210917fdc3f 1

[PATCH v2 06/15] v4l: vsp1: Move DRM atomic commit pipeline setup to separate function

2018-04-05 Thread Laurent Pinchart
The DRM pipeline setup code used at atomic commit time is similar to the setup code used when enabling the pipeline. Move it to a separate function in order to share it. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- drivers/media/platform/vsp1/vsp1_drm.c | 347

[PATCH v2 15/15] v4l: vsp1: Rename BRU to BRx

2018-04-05 Thread Laurent Pinchart
registers to stay close to the datasheet. Signed-off-by: Laurent Pinchart Acked-by: Kieran Bingham --- drivers/media/platform/vsp1/Makefile | 2 +- drivers/media/platform/vsp1/vsp1.h | 6 +- .../media/platform/vsp1/{vsp1_bru.c => vsp1_brx.c} |

[PATCH v2 09/15] v4l: vsp1: Move DRM pipeline output setup code to a function

2018-04-05 Thread Laurent Pinchart
In order to make the vsp1_du_setup_lif() easier to read, and for symmetry with the DRM pipeline input setup, move the pipeline output setup code to a separate function. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham -- Changes since v1: - Rename vsp1_du_pipeline_setup_input() to

[PATCH v2 01/15] v4l: vsp1: Don't start/stop media pipeline for DRM

2018-04-05 Thread Laurent Pinchart
rrent implementation is not correct. Remove the incorrect and unneeded code. While at it remove the outdated comment that states that entities are not started when the LIF is setup, as they now are. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham -- Changes since v1: - Remove outdated co

[PATCH v2 07/15] v4l: vsp1: Setup BRU at atomic commit time

2018-04-05 Thread Laurent Pinchart
To implement fully dynamic plane assignment to pipelines, we need to reassign the BRU and BRS to the DRM pipelines in the atomic commit handler. In preparation for this setup factor out the BRU source pad code and call it both at LIF setup and atomic commit time. Signed-off-by: Laurent Pinchart

[PATCH v2 03/15] v4l: vsp1: Store pipeline pointer in vsp1_entity

2018-04-05 Thread Laurent Pinchart
Various types of objects subclassing vsp1_entity currently store a pointer to the pipeline. Move the pointer to vsp1_entity to simplify the code and avoid storing the pipeline in more entity subclasses later. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- drivers/media

[PATCH v2 13/15] v4l: vsp1: Assign BRU and BRS to pipelines dynamically

2018-04-05 Thread Laurent Pinchart
, this requires reconfiguring the other pipeline to free the BRU before processing, which can result in frame drop on both pipelines. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- drivers/media/platform/vsp1/vsp1_drm.c | 161 +++-- drivers/media/platform

[PATCH v2 10/15] v4l: vsp1: Turn frame end completion status into a bitfield

2018-04-05 Thread Laurent Pinchart
We will soon need to return more than a boolean completion status from the vsp1_dlm_irq_frame_end() IRQ handler. Turn the return value into a bitfield to prepare for that. No functional change is introduced here. Signed-off-by: Laurent Pinchart --- drivers/media/platform/vsp1/vsp1_dl.c| 22

[PATCH v2 14/15] v4l: vsp1: Add BRx dynamic assignment debugging messages

2018-04-05 Thread Laurent Pinchart
Dynamic assignment of the BRU and BRS to pipelines is prone to regressions, add messages to make debugging easier. Keep it as a separate commit to ease removal of those messages once the code will deem to be completely stable. Signed-off-by: Laurent Pinchart Acked-by: Kieran Bingham

[PATCH v2 12/15] v4l: vsp1: Generalize detection of entity removal from DRM pipeline

2018-04-05 Thread Laurent Pinchart
done from the atomic update handler. The current implementation is RPF-specific. Make it independent of the entity type by using the entity's pipe pointer to mark removal from the pipeline. This will allow using the mechanism to remove BRU instances. Signed-off-by: Laurent Pinchart Reviewed-

Re: [PATCH 02/16] media: omap3isp: allow it to build with COMPILE_TEST

2018-04-05 Thread Laurent Pinchart
those stubs, sorry. Otherwise where do you stop ? If you have half of the code that is architecture- dependent, would you stub it ? And what if the stubs you define here generate warnings in static analyzers ? If you want to make drivers compile for all architectures, the APIs they use must be defined in linux/, not in asm/. They can be stubbed there when not implemented in a particular architecture, but not in the driver. > #include > #include -- Regards, Laurent Pinchart

Re: [PATCH 03/16] media: omap3isp/isp: remove an unused static var

2018-04-05 Thread Laurent Pinchart
d me. The problem has been there from the start :-/ You should add a fixes tag: Fixes: 9b28ee3c9122 ("[media] omap3isp: Use the common clock framework") Apart from that, Reviewed-by: Laurent Pinchart I think Sakari is planning a pull request for the omap3isp driver so I'll let

Re: [PATCH 15/16] media: omapfb_dss.h: add stubs to build with COMPILE_TEST

2018-04-05 Thread Laurent Pinchart
> +static inline void omapdss_compat_uninit(void) {}; > + > +static inline int omap_dss_get_num_overlay_managers(void) > +{ return 0; }; > + > +static inline struct omap_overlay_manager *omap_dss_get_overlay_manager(int > num) +{ return NULL; }; > + > +static inline int omap_dss_get_num_overlays(void) > +{ return 0; }; > + > +static inline struct omap_overlay *omap_dss_get_overlay(int num) > +{ return NULL; }; > + > + > +#endif /* FB_OMAP2 */ > + > > #endif /* __OMAPFB_DSS_H */ -- Regards, Laurent Pinchart

Re: [PATCH v2 17/19] media: omap4iss: make it build with COMPILE_TEST

2018-04-05 Thread Laurent Pinchart
Hi Mauro, Thank you for the patch. On Thursday, 5 April 2018 23:29:44 EEST Mauro Carvalho Chehab wrote: > This driver compile as-is with COMPILE_TEST. > > Signed-off-by: Mauro Carvalho Chehab Acked-by: Laurent Pinchart I don't have patches pending for the omap4iss driver, c

Re: [PATCH 17/21] media: ispstat: use %p to print the address of a buffer

2018-04-06 Thread Laurent Pinchart
long)buf->dma_addr, > - (unsigned long)buf->virt_addr); > + buf->virt_addr); While at it you can use %pad for buf->dma_addr. dev_dbg(stat->isp->dev, "%s: buffer[%u] allocated. dma=%pad virt=

Re: [PATCH 18/21] media: isppreview: fix __user annotations

2018-04-06 Thread Laurent Pinchart
r to explain what the problem is and how you fix it, otherwise one might be left wondering if the fix is correct, or if it could be a false positive. With the commit message updated, Reviewed-by: Laurent Pinchart > Signed-off-by: Mauro Carvalho Chehab > --- > drivers/media/platform/

[PATCH v2.1 06/15] v4l: vsp1: Move DRM atomic commit pipeline setup to separate function

2018-04-06 Thread Laurent Pinchart
The DRM pipeline setup code used at atomic commit time is similar to the setup code used when enabling the pipeline. Move it to a separate function in order to share it. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- Changes since v2: - Rename vsp1_du_pipeline_setup_input() to

[PATCH v2.1 09/15] v4l: vsp1: Move DRM pipeline output setup code to a function

2018-04-06 Thread Laurent Pinchart
In order to make the vsp1_du_setup_lif() easier to read, and for symmetry with the DRM pipeline input setup, move the pipeline output setup code to a separate function. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham -- Changes since v2: - Moved vsp1_du_pipeline_setup_input

Re: [PATCH v7 1/8] media: vsp1: Reword uses of 'fragment' as 'body'

2018-04-06 Thread Laurent Pinchart
is call, and must not free it > + * explicitly with vsp1_dl_body_free(). > * > - * Fragments are only usable for display lists in header mode. Attempt to > - * add a fragment to a header-less display list will return an error. > + * Additional bodies are only usable for display lists in header mode. > + * Attempting to add a body to a header-less display list will return an > error. > */ [snip] With those two small issues fixed, Reviewed-by: Laurent Pinchart -- Regards, Laurent Pinchart

Re: [PATCH v7 3/8] media: vsp1: Provide a body pool

2018-04-06 Thread Laurent Pinchart
7f986b69a..031032e304d2 > 100644 > --- a/drivers/media/platform/vsp1/vsp1_dl.h > +++ b/drivers/media/platform/vsp1/vsp1_dl.h > @@ -17,6 +17,7 @@ > > struct vsp1_device; > struct vsp1_dl_body; > +struct vsp1_dl_body_pool; > struct vsp1_dl_list; > struct vsp1_dl_manager; > > @@ -34,6 +35,13 @@ void vsp1_dl_list_put(struct vsp1_dl_list *dl); > void vsp1_dl_list_write(struct vsp1_dl_list *dl, u32 reg, u32 data); > void vsp1_dl_list_commit(struct vsp1_dl_list *dl); > > +struct vsp1_dl_body_pool * > +vsp1_dl_body_pool_create(struct vsp1_device *vsp1, unsigned int num_bodies, > + unsigned int num_entries, size_t extra_size); > +void vsp1_dl_body_pool_destroy(struct vsp1_dl_body_pool *pool); > +struct vsp1_dl_body *vsp1_dl_body_get(struct vsp1_dl_body_pool *pool); > +void vsp1_dl_body_put(struct vsp1_dl_body *dlb); > + > struct vsp1_dl_body *vsp1_dl_body_alloc(struct vsp1_device *vsp1, > unsigned int num_entries); > void vsp1_dl_body_free(struct vsp1_dl_body *dlb); -- Regards, Laurent Pinchart

Re: [PATCH v7 4/8] media: vsp1: Convert display lists to use new body pool

2018-04-06 Thread Laurent Pinchart
m->gc_bodies); > - INIT_WORK(&dlm->gc_work, vsp1_dlm_garbage_collect); > + > + /* > + * Initialize the display list body and allocate DMA memory for the body > + * and the optional header. Both are allocated together to avoid memory > + * fragmentation, with the header located right after the body in > + * memory. > + */ > + header_size = dlm->mode == VSP1_DL_MODE_HEADER > + ? ALIGN(sizeof(struct vsp1_dl_header), 8) > + : 0; > + > + dlm->pool = vsp1_dl_body_pool_create(vsp1, prealloc, > + VSP1_DL_NUM_ENTRIES, header_size); > + if (!dlm->pool) > + return NULL; > > for (i = 0; i < prealloc; ++i) { > struct vsp1_dl_list *dl; > > - dl = vsp1_dl_list_alloc(dlm); > + dl = vsp1_dl_list_alloc(dlm, dlm->pool); > if (!dl) > return NULL; > > @@ -955,12 +838,10 @@ void vsp1_dlm_destroy(struct vsp1_dl_manager *dlm) > if (!dlm) > return; > > - cancel_work_sync(&dlm->gc_work); > - > list_for_each_entry_safe(dl, next, &dlm->free, list) { > list_del(&dl->list); > vsp1_dl_list_free(dl); > } > > - vsp1_dlm_bodies_free(dlm); > + vsp1_dl_body_pool_destroy(dlm->pool); > } [snip] -- Regards, Laurent Pinchart

Re: [PATCH v7 5/8] media: vsp1: Use reference counting for bodies

2018-04-06 Thread Laurent Pinchart
> b/drivers/media/platform/vsp1/vsp1_lut.c index 262cb72139d6..77cf7137a0f2 > 100644 > --- a/drivers/media/platform/vsp1/vsp1_lut.c > +++ b/drivers/media/platform/vsp1/vsp1_lut.c > @@ -213,8 +213,13 @@ static void lut_configure(struct vsp1_entity *entity, > lut->lut = NULL; > spin_unlock_irqrestore(&lut->lock, flags); > > - if (dlb) > + if (dlb) { > vsp1_dl_list_add_body(dl, dlb); > + > + /* release our local reference */ s/release/Release/ s/reference/reference./ With these small issues fixed, Reviewed-by: Laurent Pinchart > + vsp1_dl_body_put(dlb); > + } > + > break; > } > } -- Regards, Laurent Pinchart

Re: [PATCH v7 6/8] media: vsp1: Refactor display list configure operations

2018-04-06 Thread Laurent Pinchart
is used for the sole purpose of checking whether to configure frame-related parameters when partition == 0 makes me think that having two separate operations could make sense. > * @max_width: Return the max supported width of data that the entity > can > * process in a single operation. > * @partition: Process the partition construction based on this > entity's [snip] -- Regards, Laurent Pinchart

Re: [PATCH v7 7/8] media: vsp1: Adapt entities to configure into a body

2018-04-06 Thread Laurent Pinchart
> > - vsp1_wpf_write(wpf, dl, VI6_WPF_SRCRPF, srcrpf); > + vsp1_wpf_write(wpf, dlb, VI6_WPF_SRCRPF, srcrpf); > > /* Enable interrupts */ > - vsp1_dl_list_write(dl, VI6_WPF_IRQ_STA(wpf->entity.index), 0); > - vsp1_dl_list_write(dl, VI6_WPF_IRQ_ENB(wpf->entity.index), > -VI6_WFP_IRQ_ENB_DFEE); > + vsp1_dl_body_write(dlb, VI6_WPF_IRQ_STA(wpf->entity.index), 0); > + vsp1_dl_body_write(dlb, VI6_WPF_IRQ_ENB(wpf->entity.index), > +VI6_WFP_IRQ_ENB_DFEE); Here too. > } [snip] With those small issues fixed, Reviewed-by: Laurent Pinchart -- Regards, Laurent Pinchart

Re: [PATCH v7 8/8] media: vsp1: Move video configuration to a cached dlb

2018-04-06 Thread Laurent Pinchart
pipe->dl); > - pipe->dl = NULL; > } > mutex_unlock(&pipe->lock); > > @@ -1240,6 +1247,16 @@ struct vsp1_video *vsp1_video_create(struct > vsp1_device *vsp1, goto error; > } > > + /* > + * Utilise a body pool to cache the constant configuration of the > + * pipeline object. > + */ > + video->dlbs = vsp1_dl_body_pool_create(vsp1, 3, 128, 0); > + if (!video->dlbs) { > + ret = -ENOMEM; > + goto error; > + } > + > return video; > > error: > @@ -1249,6 +1266,8 @@ struct vsp1_video *vsp1_video_create(struct > vsp1_device *vsp1, > > void vsp1_video_cleanup(struct vsp1_video *video) > { > + vsp1_dl_body_pool_destroy(video->dlbs); > + > if (video_is_registered(&video->video)) > video_unregister_device(&video->video); > > diff --git a/drivers/media/platform/vsp1/vsp1_video.h > b/drivers/media/platform/vsp1/vsp1_video.h index 50ea7f02205f..e84f8ee902c1 > 100644 > --- a/drivers/media/platform/vsp1/vsp1_video.h > +++ b/drivers/media/platform/vsp1/vsp1_video.h > @@ -43,6 +43,8 @@ struct vsp1_video { > > struct mutex lock; > > + struct vsp1_dl_body_pool *dlbs; > + struct vsp1_dl_body *pipe_config; > unsigned int pipe_index; > > struct vb2_queue queue; -- Regards, Laurent Pinchart

Re: [PATCH v7 0/8] vsp1: TLB optimisation and DL caching

2018-04-06 Thread Laurent Pinchart
t; drivers/media/platform/vsp1/vsp1_drm.c| 35 +-- > drivers/media/platform/vsp1/vsp1_entity.c | 26 +- > drivers/media/platform/vsp1/vsp1_entity.h | 38 +- > drivers/media/platform/vsp1/vsp1_hgo.c| 26 +-- > drivers/media/platform/vsp1/vsp1_hgt.c| 28 +-- > drivers/media/platform/vsp1/vsp1_hsit.c | 20 +- > drivers/media/platform/vsp1/vsp1_lif.c| 25 +- > drivers/media/platform/vsp1/vsp1_lut.c| 77 +++-- > drivers/media/platform/vsp1/vsp1_lut.h| 1 +- > drivers/media/platform/vsp1/vsp1_pipe.c | 11 +- > drivers/media/platform/vsp1/vsp1_pipe.h | 7 +- > drivers/media/platform/vsp1/vsp1_rpf.c| 183 +-- > drivers/media/platform/vsp1/vsp1_sru.c| 24 +- > drivers/media/platform/vsp1/vsp1_uds.c| 75 ++-- > drivers/media/platform/vsp1/vsp1_uds.h| 2 +- > drivers/media/platform/vsp1/vsp1_video.c | 82 ++--- > drivers/media/platform/vsp1/vsp1_video.h | 2 +- > drivers/media/platform/vsp1/vsp1_wpf.c| 327 +-- > 23 files changed, 845 insertions(+), 691 deletions(-) > > base-commit: 8514509ba5933f4e4ade0d5d81be117f18c1ebd2 -- Regards, Laurent Pinchart

Re: [PATCH v7 1/2] uvcvideo: send a control event when a Control Change interrupt arrives

2018-04-07 Thread Laurent Pinchart
it right away. > On Fri, 23 Mar 2018, Laurent Pinchart wrote: > > Hi Guennadi, > > > > Thank you for the patch. > > > > On Friday, 23 March 2018 11:24:00 EET Laurent Pinchart wrote: > > > From: Guennadi Liakhovetski > > > > > > UVC

Re: [PATCH v7 2/2] uvcvideo: handle control pipe protocol STALLs

2018-04-07 Thread Laurent Pinchart
Hi Guennadi, Thank you for the patch. On Friday, 23 March 2018 11:24:01 EEST Laurent Pinchart wrote: > From: Guennadi Liakhovetski > > When a command ends up in a STALL on the control pipe, use the Request > Error Code control to provide a more precise error information to the >

[PATCH] v4l: omap3isp: Enable driver compilation on ARM with COMPILE_TEST

2018-04-07 Thread Laurent Pinchart
s. Signed-off-by: Laurent Pinchart --- drivers/media/platform/Kconfig | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) Hi Mauro, While we continue the discussions on whether the ARM IOMMU functions should be stubbed in the omap3isp driver itself or not, I propose already merging this

Re: [PATCH 2/2] media: omapfb: relax compilation if COMPILE_TEST

2018-04-07 Thread Laurent Pinchart
PILE_TEST > > select FB_OMAP2_DSS > select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3 -- Regards, Laurent Pinchart

Re: [PATCH 02/16] media: omap3isp: allow it to build with COMPILE_TEST

2018-04-07 Thread Laurent Pinchart
Hi Mauro, On Thursday, 5 April 2018 22:44:44 EEST Mauro Carvalho Chehab wrote: > Em Thu, 05 Apr 2018 21:30:27 +0300 Laurent Pinchart escreveu: > > On Thursday, 5 April 2018 20:54:02 EEST Mauro Carvalho Chehab wrote: > > > There aren't much things required for it to

Re: [PATCH v2 02/19] media: omap3isp: allow it to build with COMPILE_TEST

2018-04-07 Thread Laurent Pinchart
t; +#endif > > #include > #include As just commented on in a reply to v1 I still don't think this is a proper solution. I'm all for extending compile-test coverage, but I don't believe we need to make all drivers compile on every platform. ARM is certainly a mainstream-enough platform nowadays to be worth having the media tree compiled for. -- Regards, Laurent Pinchart

Re: [PATCH] v4l: omap3isp: Enable driver compilation on ARM with COMPILE_TEST

2018-04-07 Thread Laurent Pinchart
Hi Mauro, On Saturday, 7 April 2018 16:16:57 EEST Mauro Carvalho Chehab wrote: > Em Sat, 7 Apr 2018 14:40:08 +0300 Laurent Pinchart escreveu: > > The omap3isp driver can't be compiled on non-ARM platforms but has no > > compile-time dependency on OMAP. It however r

Re: [PATCH 1/6] media: ov772x: allow i2c controllers without I2C_FUNC_PROTOCOL_MANGLING

2018-04-09 Thread Laurent Pinchart
have tested it on the Migo-R board where I have an ov772x installed > and it works fine. > > Although I would like to have a confirmation this is fine by people > how has seen more i2c adapters in action than me :) > > > Cc: Jacopo Mondi > > Cc: Laure

Re: [PATCH] [media] v4l2-core: Rename array 'video_driver' to 'video_drivers'

2018-04-09 Thread Laurent Pinchart
r to find in the code. > > Signed-off-by: Simon Que I like this and agree with the two reasons you have given. Acked-by: Laurent Pinchart > --- > drivers/media/v4l2-core/v4l2-dev.c | 22 +++--- > 1 file changed, 11 insertions(+), 11 deletions(-) > > dif

Re: [PATCH v2 02/12] media: ov5640: Add light frequency control

2018-04-19 Thread Laurent Pinchart
er functions, I propose calling this ov5640_set_ctrl_light_freq(). Apart from that, Reviewed-by: Laurent Pinchart > +{ > + int ret; > + > + ret = ov5640_mod_reg(sensor, OV5640_REG_HZ5060_CTRL01, BIT(7), > + (value == V4L2_CID_POWER_LINE_FRE

Re: [PATCH v2 01/12] media: ov5640: Add auto-focus feature

2018-04-19 Thread Laurent Pinchart
st_pattern_menu); > > + ctrls->auto_focus = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_FOCUS_AUTO, > + 0, 1, 1, 0); > + > if (hdl->error) { > ret = hdl->error; > goto free_ctrls; -- Regards, Laurent Pinchart

Re: [PATCH 3/8] [media] v4l: rcar_fdp1: Change platform dependency to ARCH_RENESAS

2018-04-21 Thread Laurent Pinchart
a more appropriate platform dependency > than the legacy ARCH_SHMOBILE, hence use the former. > > This will allow to drop ARCH_SHMOBILE on ARM and ARM64 in the near > future. > > Signed-off-by: Geert Uytterhoeven Acked-by: Laurent Pinchart How would you like to get this merg

[PATCH] media: i2c: adv748x: Fix pixel rate values

2018-04-21 Thread Laurent Pinchart
removing the computation and returning the incoming pixel clock rate directly. - The AFE performs similar calculation, while it should simply return the fixed pixel rate for analog sources, mandated by the ADV748x to be 28.63636 MHz. Signed-off-by: Laurent Pinchart --- drivers/media/i2c/adv748x

Re: [PATCH 3/8] [media] v4l: rcar_fdp1: Change platform dependency to ARCH_RENESAS

2018-04-22 Thread Laurent Pinchart
Hi Geert, On Saturday, 21 April 2018 11:07:11 EEST Laurent Pinchart wrote: > On Friday, 20 April 2018 16:28:29 EEST Geert Uytterhoeven wrote: > > The Renesas Fine Display Processor driver is used on Renesas R-Car SoCs > > only. Since commit 9b5ba0df4ea4f940 ("ARM:

[PATCH 0/3] R-Car Gen2 support for FDP1

2018-04-22 Thread Laurent Pinchart
indentation oddities I have run across during development. Geert Uytterhoeven (1): v4l: rcar_fdp1: Change platform dependency to ARCH_RENESAS Laurent Pinchart (2): v4l: rcar_fdp1: Enable compilation on Gen2 platforms v4l: rcar_fdp1: Fix indentation oddities drivers/media/platform/Kconfig | 4

[PATCH 1/3] v4l: rcar_fdp1: Change platform dependency to ARCH_RENESAS

2018-04-22 Thread Laurent Pinchart
This will allow to drop ARCH_SHMOBILE on ARM and ARM64 in the near future. Signed-off-by: Geert Uytterhoeven Acked-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- drivers/media/platform/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform

[PATCH 2/3] v4l: rcar_fdp1: Enable compilation on Gen2 platforms

2018-04-22 Thread Laurent Pinchart
ombination ARCH_RENESAS && !VIDEO_RENESAS_FCP. Fix it by handling the dependency the same way the vsp1 driver did in commit 199946731fa4 ("[media] vsp1: clarify FCP dependency"). Fixes: 1d3897143815 ("[media] v4l: rcar_fdp1: add FCP dependency") Signed-off-by: Laurent Pinchar

[PATCH 3/3] v4l: rcar_fdp1: Fix indentation oddities

2018-04-22 Thread Laurent Pinchart
Indentation is odd in several places, especially when printing messages to the kernel log. Fix it to match the usual coding style. Signed-off-by: Laurent Pinchart --- drivers/media/platform/rcar_fdp1.c | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) diff

[GIT PULL FOR v4.18] R-Car VSP1 changes

2018-04-22 Thread Laurent Pinchart
up to 5c0a8b4dfadee010a68b88d82b28f09f373faf86: v4l: vsp1: Rename BRU to BRx (2018-04-22 14:11:06 +0300) Laurent Pinchart (15): v4l: vsp1: Don't start/stop media pipeline for DRM v4l: vsp1: Remove unused field

[PATCH v2 2/8] v4l: vsp1: Share the CLU, LIF and LUT set_fmt pad operation code

2018-04-22 Thread Laurent Pinchart
The implementation of the set_fmt pad operation is identical in the three modules. Move it to a generic helper function. Signed-off-by: Laurent Pinchart --- drivers/media/platform/vsp1/vsp1_clu.c| 65 +-- drivers/media/platform/vsp1/vsp1_entity.c | 75

<    3   4   5   6   7   8   9   10   11   12   >