Re: [PATCH v5 0/5] Add r8a77965 DRIF support

2021-03-27 Thread Laurent Pinchart
Hi Hans, On Sat, Mar 27, 2021 at 11:05:01AM +0100, Hans Verkuil wrote: > On 21/10/2020 23:43, Laurent Pinchart wrote: > > On Wed, Oct 21, 2020 at 02:53:27PM +0100, Fabrizio Castro wrote: > >> Dear All, > >> > >> this series is to add DRIF support for the r8a779

Re: [PATCH v4 1/7] dt-bindings: media: max9286: Re-indent example

2021-04-15 Thread Laurent Pinchart
y. > > Signed-off-by: Jacopo Mondi Tested by applying and verifying that `git show -b` shows an empty diff. Reviewed-by: Laurent Pinchart > --- > .../bindings/media/i2c/maxim,max9286.yaml | 214 +- > 1 file changed, 107 insertions(+), 107 deletions(-

Re: [PATCH v4 4/7] arm64: dts: renesas: r8a77970: Add csi40 port@0

2021-04-15 Thread Laurent Pinchart
the hardware level, so including it here sounds good. The DT binding even makes the port mandatory :-) Reviewed-by: Laurent Pinchart > --- > arch/arm64/boot/dts/renesas/r8a77970.dtsi | 4 > 1 file changed, 4 insertions(+) > > diff --git a/arch/arm64/boot/dts/renesas/r8a7797

Re: [PATCH v4 4/7] arm64: dts: renesas: r8a77970: Add csi40 port@0

2021-04-15 Thread Laurent Pinchart
On Thu, Apr 15, 2021 at 06:47:48PM +0200, Geert Uytterhoeven wrote: > On Thu, Apr 15, 2021 at 4:47 PM Laurent Pinchart wrote: > > On Thu, Apr 15, 2021 at 02:25:59PM +0200, Jacopo Mondi wrote: > > > Declare port@0 in the csi40 device node and leave it un-connected. > > >

Re: [PATCH v3 2/5] media: i2c: max9286: Use "maxim,gpio-poc" property

2021-04-15 Thread Laurent Pinchart
Hi Jacopo, On Thu, Apr 15, 2021 at 08:58:48AM +0200, Jacopo Mondi wrote: > On Thu, Apr 15, 2021 at 03:00:56AM +0300, Laurent Pinchart wrote: > > On Wed, Apr 14, 2021 at 03:51:25PM +0200, Jacopo Mondi wrote: > > > The 'maxim,gpio-poc' property is used when the remote

Re: [PATCH v4 3/7] media: i2c: max9286: Use "maxim,gpio-poc" property

2021-04-15 Thread Laurent Pinchart
*/ > max9286_configure_i2c(priv, false); > > - ret = max9286_register_gpio(priv); > + ret = max9286_parse_gpios(priv); > if (ret) > goto err_powerdown; > > - priv->regulator = devm_regulator_get(&client->dev, "poc"); > - if (IS_ERR(priv->regulator)) { > - if (PTR_ERR(priv->regulator) != -EPROBE_DEFER) > - dev_err(&client->dev, > - "Unable to get PoC regulator (%ld)\n", > - PTR_ERR(priv->regulator)); > - ret = PTR_ERR(priv->regulator); > - goto err_powerdown; > - } > - > ret = max9286_parse_dt(priv); > if (ret) > goto err_powerdown; > @@ -1326,7 +1393,7 @@ static int max9286_remove(struct i2c_client *client) > > max9286_v4l2_unregister(priv); > > - regulator_disable(priv->regulator); > + max9286_poc_enable(priv, false); > > gpiod_set_value_cansleep(priv->gpiod_pwdn, 0); > -- Regards, Laurent Pinchart

Re: [PATCH 0/2] drm/bridge: dw-hdmi: disable loading of DW-HDMI CEC sub-driver

2021-04-16 Thread Laurent Pinchart
rs/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +- > drivers/gpu/drm/meson/meson_dw_hdmi.c | 1 + > include/drm/bridge/dw_hdmi.h | 2 ++ > 3 files changed, 4 insertions(+), 1 deletion(-) > -- Regards, Laurent Pinchart

Re: [PATCH 20/40] drm/xlnx/zynqmp_disp: Fix incorrectly documented enum 'zynqmp_disp_id'

2021-04-16 Thread Laurent Pinchart
isp_layer_id instead > > Cc: Hyun Kwon > Cc: Laurent Pinchart > Cc: David Airlie > Cc: Daniel Vetter > Cc: Michal Simek > Cc: dri-de...@lists.freedesktop.org > Cc: linux-arm-ker...@lists.infradead.org > Signed-off-by: Lee Jones Reviewed-by: Laurent Pinchart > ---

Re: [PATCH 21/40] drm/xlnx/zynqmp_dp: Fix a little potential doc-rot

2021-04-16 Thread Laurent Pinchart
in() instead > > Cc: Hyun Kwon > Cc: Laurent Pinchart > Cc: David Airlie > Cc: Daniel Vetter > Cc: Michal Simek > Cc: Philipp Zabel > Cc: dri-de...@lists.freedesktop.org > Cc: linux-arm-ker...@lists.infradead.org > Signed-off-by: Lee Jones Reviewed-by: Laurent

Re: [PATCH v3 2/5] media: i2c: max9286: Use "maxim,gpio-poc" property

2021-04-16 Thread Laurent Pinchart
Hi Jacopo, On Fri, Apr 16, 2021 at 09:43:07AM +0200, Jacopo Mondi wrote: > On Thu, Apr 15, 2021 at 10:14:05PM +0300, Laurent Pinchart wrote: > > > > > + /* GPIO values default to high */ > > > > > + priv->gpio_state = BIT(0) |

Re: [Outreachy kernel][PATCH 1/4 v2] staging: media: omap4iss: Replace macro function by static inline function in file iss.c

2021-04-12 Thread Laurent Pinchart
TUS(5)); > + iss_print_register(iss, HL_IRQENABLE_SET(5)); > + iss_print_register(iss, HL_IRQENABLE_CLR(5)); > + iss_print_register(iss, CTRL); > + iss_print_register(iss, CLKCTRL); > + iss_print_register(iss, CLKSTAT); > > dev_dbg(iss->dev, "---\n"); > } -- Regards, Laurent Pinchart

Re: [Outreachy kernel][PATCH 1/4 v2] staging: media: omap4iss: Replace macro function by static inline function in file iss.c

2021-04-12 Thread Laurent Pinchart
Hi Aline, On Mon, Apr 12, 2021 at 10:58:45AM -0300, ascordeiro wrote: > Em seg, 2021-04-12 às 16:40 +0300, Laurent Pinchart escreveu: > > While testing on a device isn't a requirement as you can't be expected > > to have the necessary hardware, changes are expected t

Re: [PATCH 1/1] staging: ipu3-imgu: Move the UAPI header from include under include/uapi

2021-04-13 Thread Laurent Pinchart
width than "VIDEO" > mode. > +TNR will be enabled in "VIDEO" mode and bypassed by "STILL" mode. ImgU is > +running at “VIDEO” mode by default, the user can use v4l2 control > +V4L2_CID_INTEL_IPU3_MODE (currently defined in > +drivers/staging/media/ipu3

Re: [PATCH v3 1/3] dt-bindings: display: bridge: add it66121 bindings

2021-04-13 Thread Laurent Pinchart
ault"; > +pinctrl-0 = <&ite_pins_default>; > +vcn33-supply = <&mt6358_vcn33_wifi_reg>; > +vcn18-supply = <&mt6358_vcn18_reg>; > +vrf12-supply = <&mt6358_vrf12_reg>; > +reset-gpios = <&pio 1

Re: [PATCH v3 1/3] dt-bindings: display: bridge: add it66121 bindings

2021-04-13 Thread Laurent Pinchart
gt; > +vcn33-supply = <&mt6358_vcn33_wifi_reg>; > > +vcn18-supply = <&mt6358_vcn18_reg>; > > + vrf12-supply = <&mt6358_vrf12_reg>; > > +reset-gpios = <&pio 160 1 /* GPIO_ACTIVE_LOW */>; > > +interrupt-parent = <&pio>; > > +interrupts = <4 8 /* IRQ_TYPE_LEVEL_LOW */>; > > +reg = <0x4c>; > > + > > +ports { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + port@0 { > > +reg = <0>; > > +it66121_in: endpoint { > > + bus-width = <12>; > > + remote-endpoint = <&display_out>; > > +}; > > + }; > > + > > + port@1 { > > +reg = <1>; > > +hdmi_conn_out: endpoint { > > + remote-endpoint = <&hdmi_conn_in>; > > +}; > > + }; > > +}; > > + }; > > +}; -- Regards, Laurent Pinchart

Re: [PATCH v3 2/3] drm: bridge: add it66121 driver

2021-04-14 Thread Laurent Pinchart
about hot plug detection > >>> events. > >> > >> It's implemented in the IRQ handler with the > >> IT66121_INT_STATUS1_HPD_STATUS event. > > > > I didn't even get that far :) > > > > Either way, the HPD support should be exposed in drm_bridge_funcs > > (.hpd_enable, .hpd_disable (and possibly .hpd_notify)) and > > drm_bridge.ops (DRM_BRIDGE_OP_HPD). > > Indeed I forgot these calls in the NO_CONNECTOR implementation... For new bridges, you should no implement connector creation, only the DRM_BRIDGE_ATTACH_NO_CONNECTOR case should be supported. -- Regards, Laurent Pinchart

Re: [PATCH v4 08/17] media: i2c: rdacm21: Add dealy after OV490 reset

2021-04-14 Thread Laurent Pinchart
subject line, Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm21.c | 6 +- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/rdacm21.c b/drivers/media/i2c/rdacm21.c > index 553e3f03752b..6be8ce130e78 100644 > --- a/drivers/me

Re: [PATCH v4 10/17] media: i2c: rdacm21: Power up OV10640 before OV490

2021-04-14 Thread Laurent Pinchart
853b3b4b ("media: i2c: Add driver for RDACM21 camera module") > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm21.c | 46 ++--- > 1 file changed, 32 insertions(+), 14 deletions(-) > > diff --

Re: [PATCH v4 11/17] media: i2c: rdacm20: Enable noise immunity

2021-04-14 Thread Laurent Pinchart
tion on the control channel > more reliable. > > Reviewed-by: Kieran Bingham > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm20.c | 14 +- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/dri

Re: [PATCH v3 1/5] dt-bindings: media: max9286: Define 'maxim,gpio-poc'

2021-04-14 Thread Laurent Pinchart
#address-cells = <1>; > + #size-cells = <0>; > + > + port@4 { > + reg = <4>; > + }; > +}; > + > +i2c-mux { > + #address-cells = <1>; > + #size-cells = <0>; > +}; > + }; > }; It's customary to indent DT examples with 4 spaces. The existing examples use two spaces, so maybe a patch on top of this would be useful to increase readability ? Reviewed-by: Laurent Pinchart -- Regards, Laurent Pinchart

Re: [PATCH v3 3/5] arm64: dts: renesas: eagle: Enable MAX9286

2021-04-14 Thread Laurent Pinchart
d > after these definitions. > > Signed-off-by: Kieran Bingham > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > .../arm64/boot/dts/renesas/r8a77970-eagle.dts | 119 ++ > 1 file changed, 119 insertions(+) > > diff --git a/arch/arm64/boo

Re: [PATCH v3 5/5] arm64: dts: renesas: eagle: Include eagle-gmsl

2021-04-14 Thread Laurent Pinchart
gt; > status = "okay"; > }; > + > +/* FAKRA Overlay */ > +#include "eagle-gmsl.dtsi" -- Regards, Laurent Pinchart

Re: [PATCH v3 4/5] arm64: dts: renesas: eagle: Add GMSL .dtsi

2021-04-14 Thread Laurent Pinchart
remote-endpoint = > <&max9286_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 = > <&max9286_in3>; > + }; > + }; > + }; > + }; > +#endif > + }; > +}; > +#endif -- Regards, Laurent Pinchart

Re: [PATCH v3 2/5] media: i2c: max9286: Use "maxim,gpio-poc" property

2021-04-14 Thread Laurent Pinchart
uct i2c_client *client) >*/ > max9286_configure_i2c(priv, false); > > - ret = max9286_register_gpio(priv); > + ret = max9286_parse_gpios(priv); > if (ret) > goto err_powerdown; > > - priv->regulator = devm_regulator_get(&client->dev, "poc"); > - if (IS_ERR(priv->regulator)) { > - if (PTR_ERR(priv->regulator) != -EPROBE_DEFER) > - dev_err(&client->dev, > - "Unable to get PoC regulator (%ld)\n", > - PTR_ERR(priv->regulator)); > - ret = PTR_ERR(priv->regulator); > - goto err_powerdown; > - } > - > ret = max9286_parse_dt(priv); > if (ret) > goto err_powerdown; > @@ -1326,7 +1393,7 @@ static int max9286_remove(struct i2c_client *client) > > max9286_v4l2_unregister(priv); > > - regulator_disable(priv->regulator); > + max9286_poc_enable(priv, false); > > gpiod_set_value_cansleep(priv->gpiod_pwdn, 0); > -- Regards, Laurent Pinchart

Re: [PATCH v2 11/14] drm/bridge: ti-sn65dsi86: Power things properly for reading the EDID

2021-04-14 Thread Laurent Pinchart
ice connected to the DDC/AUX port to read the EDID and provide modes. The panel driver won't be able to handle it on its own. > >> - ddc driver on i2c request should power up the panel - seems also correct, > > > > Right, so I could put the > > "drm_bridge_chain_pre_enable(&pdata->bridge)" into the > > ti_sn_aux_transfer() function. I talked about that a little bit "after > > the cut" in my post where I said: > > > >> - If everyone loves the "runtime PM" in the panel driver then we > >> could, in theory, put the pre-enable chaining straight in the "aux > >> transfer" function. > > > > The reason for the dependence on "runtime PM" in the panel driver is > > that we are doing DDC over AUX and it breaks the EDID reading into > > lots of chunks so if we did the powering up and powering down there it > > would be crazy slow without the delayed poweroff. > > OK, it resembles to me DSI-controlled panel - to query/configure panel > panel driver asks DSI-host to transfer some bytes to the panel and/or > back via DSI-bus. > > In case of eDP panels we could do similar thing to read edid - we call > drm_panel_get_modes - it calls drm_panel_funcs.get_modes callback and it > decides (based on DT) if it should fill modes according to hardcoded > info into the driver or to ask the physical panel via DP-controller - > this way all the players (the panel, AUX/DDC device) will know what to > power-up. > > I guess there is missing pieces - there is no DP bus :), I am not sure > if there is straight way to access panel's aux/ddc from the panel > driver, maybe somehow via drm_connector ??? If the SN65DSI86 has to call drm_panel_get_modes(), which will then call back into the SN65DSI86 driver to perform the EDID read, it seems to me that the panel driver shouldn't be involved at all. DRM bridges have "recently" gained new operations to retrieve EDID, and there's a helper (drm_bridge_connector) that creates a connector for a chain of bridges, delegating connector operations to the appropriate bridge in the chain. This seems a better way forward to me (but I'm biased, as I've authored that code :-)). > Of course this only my idea - to be discussed with others. -- Regards, Laurent Pinchart

Re: [PATCH v3 12/12] drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare

2021-04-14 Thread Laurent Pinchart
t; how to enable (or disable) this new delayed behavior selectively. > - In order for this to work we now have a hard dependency on > "PM". From memory this is a legit thing to assume these days and we > don't have to find some fallback to keep working if someone wants t

Re: [PATCH v3 12/12] drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare

2021-04-14 Thread Laurent Pinchart
Hi Doug, On Wed, Apr 14, 2021 at 06:22:57PM -0700, Doug Anderson wrote: > On Wed, Apr 14, 2021 at 5:58 PM Laurent Pinchart wrote: > > On Fri, Apr 02, 2021 at 03:28:46PM -0700, Douglas Anderson wrote: > > > Unpreparing and re-preparing a panel can be a really heavy >

Re: [PATCH v3 01/12] drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable()

2021-04-14 Thread Laurent Pinchart
Hi Doug, On Wed, Apr 14, 2021 at 06:19:13PM -0700, Doug Anderson wrote: > On Sun, Apr 4, 2021 at 5:50 PM Laurent Pinchart wrote: > > On Fri, Apr 02, 2021 at 03:28:35PM -0700, Douglas Anderson wrote: > > > The drm_bridge_chain_pre_enable() is not the

Re: [PATCH] drm: bridge: rename the function drm_bridge_hpd_notify to drm_bridge_hpd_cb

2021-04-06 Thread Laurent Pinchart
ection status occurs. >* >* This callback is optional and shall only be implemented by bridges > @@ -878,8 +878,8 @@ void drm_bridge_hpd_enable(struct drm_bridge *bridge, > enum drm_connector_status status), > void *data); > void drm_bridge_hpd_disable(struct drm_bridge *bridge); > -void drm_bridge_hpd_notify(struct drm_bridge *bridge, > -enum drm_connector_status status); > +void drm_bridge_hpd_cb(struct drm_bridge *bridge, > +enum drm_connector_status status); > > #ifdef CONFIG_DRM_PANEL_BRIDGE > struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel); -- Regards, Laurent Pinchart

Re: [PATCH v6 4/5] drm/bridge: anx7625: add HDCP support

2021-04-02 Thread Laurent Pinchart
t? I'll use Connector's ".atomic_check()" > interface to detect Content Protection property change. > (https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2674580) Please note that upstream review happens on mailing lists, not in gerrit. Internal reviews for Chrome OS development are certainly fine there, but that will not mean the patch will then be accepted upstream as-is, it will still need to go through the upstream review process, without any shortcut. I strongly recommend using an upstream-first strategy, with public review. > > > > > + > > > > > if (ctx->pdata.is_dpi) > > > > > ret = anx7625_dpi_config(ctx); > > > > > else > > > > /snip -- Regards, Laurent Pinchart

Re: [PATCH 24/32] MAINTAINERS: update imi,rdacm2x-gmsl.yaml reference

2021-04-02 Thread Laurent Pinchart
M2x") > Signed-off-by: Mauro Carvalho Chehab > --- > MAINTAINERS | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 1644b6e9697c..b405ee71f730 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -15258,7 +1

Re: [PATCH 24/32] MAINTAINERS: update imi,rdacm2x-gmsl.yaml reference

2021-04-02 Thread Laurent Pinchart
On Fri, Apr 02, 2021 at 12:01:35PM +0300, Laurent Pinchart wrote: > Hi Mauro, > > Thank you for the patch. > > On Thu, Apr 01, 2021 at 02:17:44PM +0200, Mauro Carvalho Chehab wrote: > > The file name: Documentation/devicetree/bindings/media/i2c/rdacm2x-gmsl.yaml &

Re: [PATCH 12/16] dt-bindings: media: Add DT bindings for TI CSI2RX driver

2021-04-02 Thread Laurent Pinchart
be useful to include it in the example below, to show how it's supposed to be used. > > + > > +required: > > + - compatible > > + - reg > > + - dmas > > + - dma-names > > + - power-domains > > + - "#address-cells" > > + - "#size-cells" > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > +#include > > + > > +ti_csi2rx0: ticsi2rx { > > +compatible = "ti,csi2rx"; > > +dmas = <&main_udmap 0x4940>; > > +dma-names = "rx0"; > > +reg = <0x0 0x450 0x0 0x1000>; > > +power-domains = <&k3_pds 26 TI_SCI_PD_EXCLUSIVE>; > > +#address-cells = <2>; > > +#size-cells = <2>; > > +}; -- Regards, Laurent Pinchart

Re: [PATCH 14/16] dt-bindings: phy: Convert Cadence DPHY binding to YAML

2021-04-02 Thread Laurent Pinchart
compatible > + - reg > + - clocks > + - clock-names > + - "#phy-cells" > + > +additionalProperties: false > + > +examples: > + - | > + > +dphy0: dphy@fd0e{ This is copied verbatim from the existing description, but while at it, I'd rename the

Re: [PATCH 15/16] dt-bindings: phy: cdns,dphy: make clocks optional

2021-04-02 Thread Laurent Pinchart
- "#phy-cells" > > additionalProperties: false -- Regards, Laurent Pinchart

Re: [PATCH 16/16] dt-bindings: phy: cdns,dphy: add power-domains property

2021-04-02 Thread Laurent Pinchart
cdns,dphy.yaml > +++ b/Documentation/devicetree/bindings/phy/cdns,dphy.yaml > @@ -30,6 +30,9 @@ properties: >"#phy-cells": > const: 0 > > + power-domains: > +maxItems: 1 > + Would it be useful to add power-domains to the example ? Reviewed-by: Lau

Re: [PATCH 03/16] phy: cdns-dphy: Allow setting mode

2021-04-02 Thread Laurent Pinchart
SUPP; > + } > + > + return 0; > +} > + > static const struct phy_ops cdns_dphy_ops = { > .configure = cdns_dphy_configure, > .validate = cdns_dphy_validate, > .power_on = cdns_dphy_power_on, > .power_off = cdns_dphy_power_off, > + .set_mode = cdns_dphy_set_mode, > }; > > static int cdns_dphy_probe(struct platform_device *pdev) -- Regards, Laurent Pinchart

Re: [PATCH 10/16] media: cadence: csi2rx: Add wrappers for subdev calls

2021-04-02 Thread Laurent Pinchart
d_ops = { > + .enum_mbus_code = csi2rx_enum_mbus_code, > + .get_fmt= csi2rx_get_fmt, > + .set_fmt= csi2rx_set_fmt, > + .enum_frame_size = csi2rx_enum_frame_size, > + .enum_frame_interval = csi2rx_enum_frame_interval, > }; > > static const struct v4l2_subdev_ops csi2rx_subdev_ops = { > .video = &csi2rx_video_ops, > + .pad= &csi2rx_pad_ops, > }; > > static int csi2rx_async_bound(struct v4l2_async_notifier *notifier, -- Regards, Laurent Pinchart

Re: [PATCH 12/16] dt-bindings: media: Add DT bindings for TI CSI2RX driver

2021-04-02 Thread Laurent Pinchart
On Fri, Apr 02, 2021 at 01:01:22PM +0300, Laurent Pinchart wrote: > On Thu, Apr 01, 2021 at 10:52:01AM -0500, Rob Herring wrote: > > On Tue, Mar 30, 2021 at 11:03:44PM +0530, Pratyush Yadav wrote: > > > TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate &

Re: [PATCH 09/16] media: cadence: csi2rx: Turn subdev power on before starting stream

2021-04-02 Thread Laurent Pinchart
ll(csi2rx->source_subdev, core, s_power, false); > + if (ret && ret != -ENOIOCTLCMD) > + dev_warn(csi2rx->dev, "Couldn't power off subdev\n"); > + > if (csi2rx->dphy) { > writel(0, csi2rx->base + CSI2RX_DPHY_LANE_CTRL_REG); > -- Regards, Laurent Pinchart

Re: [PATCH 00/16] CSI2RX support on J721E

2021-04-02 Thread Laurent Pinchart
; include/linux/phy/phy-mipi-dphy.h | 13 + > > 11 files changed, 1754 insertions(+), 70 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/media/ti,csi2rx.yaml > > delete mode 100644 Documentation/devicetree/bindings/phy/cdns,dphy.txt > > create mode 100644 Documentation/devicetree/bindings/phy/cdns,dphy.yaml > > create mode 100644 drivers/media/platform/ti-vpe/ti-csi2rx.c -- Regards, Laurent Pinchart

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

2021-03-17 Thread Laurent Pinchart
Hi Jacopo, On Wed, Mar 17, 2021 at 11:14:12AM +0100, Jacopo Mondi wrote: > On Tue, Mar 16, 2021 at 12:15:16AM +0200, Laurent Pinchart wrote: > > On Mon, Mar 15, 2021 at 05:30:25PM +0100, Jacopo Mondi wrote: > > > The MAX9286 GMSL deserializer features gpio controller capabil

Re: [PATCH v3 3/4] drm/bridge: ti-sn65dsi86: Read EDID blob over DDC

2021-03-17 Thread Laurent Pinchart
gt; Reviewed-by: Laurent Pinchart > Cc: Jonas Karlman > Cc: Jernej Skrabec > Cc: Sean Paul > Acked-by: Sam Ravnborg > Signed-off-by: Stephen Boyd > --- > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 20 > 1 file changed, 20 insertions(+) > > diff --git

Re: [PATCH 1/2] media: v4l2-core: ignore native time32 ioctls on 64-bit

2021-03-18 Thread Laurent Pinchart
Tested-by: Hans Verkuil > Signed-off-by: Arnd Bergmann v4l2_event vs. v4l2_event32 vs. v4l2_event_time32 vs. v4l2_event32_time32 is a bit confusing. Do I understand correctly that the code below runs for the non-compat path, thus native userspace (32-bit on 32-bit machines, 64-bit on 64-bit ma

Re: [PATCH 2/2] media: v4l2-core: explicitly clear ioctl input data

2021-03-18 Thread Laurent Pinchart
n leak. > > To be on the safe side, always clear the entire ioctl buffer before > calling the conversion handler functions that are meant to initialize > them. > > Signed-off-by: Arnd Bergmann Reviewed-by: Laurent Pinchart > --- > drivers/media/v4l2-core/v4l2-ioct

Re: [PATCH v3 01/12] drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable()

2021-04-04 Thread Laurent Pinchart
gt; list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) { > if (iter->funcs->pre_enable) > iter->funcs->pre_enable(iter); > + > + if (iter == bridge) > + break; This looks

Re: [PATCH v3 03/12] drm/bridge: ti-sn65dsi86: Remove incorrectly tagged kerneldoc comment

2021-04-04 Thread Laurent Pinchart
Hi Doug, Thank you for the patch. On Fri, Apr 02, 2021 at 03:28:37PM -0700, Douglas Anderson wrote: > A random comment inside a function had "/**" in front of it. That > doesn't make sense. Remove. > > Signed-off-by: Douglas Anderson > Reviewed-by: Andrzej Hajda

Re: [PATCH v3 04/12] drm/bridge: ti-sn65dsi86: Reorder remove()

2021-04-04 Thread Laurent Pinchart
move us closer to > a proper remove. > > Signed-off-by: Douglas Anderson > Reviewed-by: Andrzej Hajda Reviewed-by: Laurent Pinchart > --- > > Changes in v3: > - Removed "NOTES" from commit message. > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 15 +

Re: [PATCH v3 05/12] drm/bridge: ti-sn65dsi86: Move drm_panel_unprepare() to post_disable()

2021-04-04 Thread Laurent Pinchart
() to make sure things are powered on (and then off again) > when reading the EDID. > > Signed-off-by: Douglas Anderson > Reviewed-by: Andrzej Hajda Reviewed-by: Laurent Pinchart > --- > > (no changes since v1) > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++-- >

Re: [PATCH v3 06/12] drm/bridge: ti-sn65dsi86: Get rid of the useless detect() function

2021-04-04 Thread Laurent Pinchart
> Reviewed-by: Andrzej Hajda Reviewed-by: Laurent Pinchart > --- > > (no changes since v1) > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 12 > 1 file changed, 12 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > b/driver

Re: [PATCH v3 07/12] drm/bridge: ti-sn65dsi86: Remove extra call: drm_connector_update_edid_property()

2021-04-04 Thread Laurent Pinchart
reason for us > to call it again. > > Signed-off-by: Douglas Anderson > Reviewed-by: Andrzej Hajda Reviewed-by: Laurent Pinchart This looks like a widespread issue, would you be able to send a patch to address all the other drivers ? > --- > > (no changes since v1) >

Re: [PATCH v3 10/12] drm/bridge: ti-sn65dsi86: Read the EDID only if refclk was provided

2021-04-04 Thread Laurent Pinchart
he bridge chip without the "refclk" they're > in no worse shape than they were before the (fairly recent) commit > 58074b08c04a ("drm/bridge: ti-sn65dsi86: Read EDID blob over DDC"). > > Signed-off-by: Douglas Anderson Reviewed-by: Laurent Pinchart > --- &g

Re: [PATCH v3 11/12] drm/bridge: ti-sn65dsi86: Print an error if we fallback to panel modes

2021-04-04 Thread Laurent Pinchart
y: > - Putting an error message in the logs if we fall back. > - Putting a comment in saying what's going on. > > Signed-off-by: Douglas Anderson Reviewed-by: Laurent Pinchart > --- > > (no changes since v1) > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 7 ++

Re: [PATCH 06/30] drm/bridge/ti-sn65dsi86: (Un)register aux device on bridge attach/detach

2021-02-21 Thread Laurent Pinchart
working with - when the drm_bridge is attached. > Likewise, we unregister the AUX adapter on bridge detachment by adding a > ti_sn_bridge_detach() callback. > > Signed-off-by: Lyude Paul Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 18 +

Re: [PATCH 15/30] drm/dp: Add backpointer to drm_device in drm_dp_aux

2021-02-21 Thread Laurent Pinchart
@name: user-visible name of this AUX channel and the I2C-over-AUX adapter > * @ddc: I2C adapter that can be used for I2C-over-AUX communication > * @dev: pointer to struct device that is the parent for this AUX channel > + * @drm_dev: pointer to the &drm_device that owns this AUX channel. Beware, > this may be %NULL > + * before drm_dp_aux_register() has been called. > * @crtc: backpointer to the crtc that is currently using this AUX channel > * @hw_mutex: internal mutex used for locking transfers > * @crc_work: worker that captures CRCs for each frame > * @crc_count: counter of captured frame CRCs > * @transfer: transfers a message representing a single AUX transaction > * > - * The @dev field should be set to a pointer to the device that implements > the AUX channel. > + * The @dev field should be set to a pointer to the device that implements > the AUX channel. As well, > + * the @drm_dev field should be set to the &drm_device that will be using > this AUX channel as early > + * as possible. For many graphics drivers this should happen before > drm_dp_aux_init(), however it's > + * perfectly fine to set this field later so long as it's assigned before > calling > + * drm_dp_aux_register(). > * > * The @name field may be used to specify the name of the I2C adapter. If > set to %NULL, dev_name() > * of @dev will be used. > @@ -1866,6 +1872,7 @@ struct drm_dp_aux { > const char *name; > struct i2c_adapter ddc; > struct device *dev; > + struct drm_device *drm_dev; > struct drm_crtc *crtc; > struct mutex hw_mutex; > struct work_struct crc_work; -- Regards, Laurent Pinchart

Re: [PATCH 19/30] drm/dp: Pass drm_dp_aux to drm_dp_link_train_clock_recovery_delay()

2021-02-21 Thread Laurent Pinchart
Hi Lyude, Thank you for the patch. On Fri, Feb 19, 2021 at 04:53:15PM -0500, Lyude Paul wrote: > So that we can start using drm_dbg_*() in > drm_dp_link_train_clock_recovery_delay(). > > Signed-off-by: Lyude Paul Reviewed-by: Laurent Pinchart > --- > drivers/

Re: [PATCH 20/30] drm/dp: Pass drm_dp_aux to drm_dp*_link_train_channel_eq_delay()

2021-02-21 Thread Laurent Pinchart
Hi Lyude, Thank you for the patch. On Fri, Feb 19, 2021 at 04:53:16PM -0500, Lyude Paul wrote: > So that we can start using drm_dbg_*() for > drm_dp_link_train_channel_eq_delay() and > drm_dp_lttpr_link_train_channel_eq_delay(). > > Signed-off-by: Lyude Paul Reviewed-by: L

Re: [PATCH v2.1 1/3] v4l: common: v4l2_get_link_freq: add printing a warning

2021-02-21 Thread Laurent Pinchart
Hi Andrey, Thank you for the patch. On Thu, Feb 18, 2021 at 08:16:40PM +0300, Andrey Konovalov wrote: > Print a warning if V4L2_CID_LINK_FREQ control is not implemented. > > Signed-off-by: Andrey Konovalov > Reviewed-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- &

Re: [PATCH] drm/dsi: Add _NO_ to MIPI_DSI_* flags disabling features

2021-02-21 Thread Laurent Pinchart
the flag names, e.g. > MIPI_DSI_MODE_NO_EOT_PACKET. > > Signed-off-by: Nicolas Boichat This looks good to me, it increases readability. Reviewed-by: Laurent Pinchart Please however see the end of the mail for a comment. > --- > I considered adding _DISABLE_ instead, but that&#

Re: [PATCH] staging: media: omap4iss: code style - avoid macro argument precedence issues

2021-02-21 Thread Laurent Pinchart
(0x88 + (0x20 * > (i))) > > -#define CSI2_CTX_CTRL3(i)(0x8c + (0x20 * i)) > +#define CSI2_CTX_CTRL3(i)(0x8c + (0x20 * (i))) > #define CSI2_CTX_CTRL3_ALPHA_SHIFT 5 > #define CSI2_CTX_CTRL3_ALPHA_MASK\ > (0x3fff << CSI2_CTX_CTRL3_ALPHA_SHIFT) -- Regards, Laurent Pinchart

Re: [PATCH] staging: media: omap4iss: code style - avoid macro argument precedence issues

2021-02-21 Thread Laurent Pinchart
parentheses in a subsequent patch if desired. -- Regards, Laurent Pinchart

Re: [PATCH] staging: media: omap4iss: code style - avoid macro argument precedence issues

2021-02-21 Thread Laurent Pinchart
s.h > > Signed-off-by: Nikolay Kyx Reviewed-by: Laurent Pinchart > --- > > Additionally some style warnings remain valid here and could be fixed by > another patch. > > drivers/staging/media/omap4iss/iss_regs.h | 16 > 1 file changed, 8 insertions(+), 8

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

2021-02-21 Thread Laurent Pinchart
tch must also be accompanied by the > update in max9286 somehow? > > I guess we can't keep 'test bisectability' with this very easily so it > probably doesn't matter too much, the end result will be the interesting > part. > > Reviewed-by: Kieran Bingham > > > } > > > > static int rdacm20_probe(struct i2c_client *client) -- Regards, Laurent Pinchart

Re: [PATCH 02/16] media: i2c: rdacm20: Embedded 'serializer' field

2021-02-21 Thread Laurent Pinchart
ral rule, peek into the max9271_device structure directly. It may be nice to add a max9271_init() function that will initialize the client field, and move the client->addr assignment to max9271_set_address(). Maybe you've already done so in the rest of the series, I'll find out soon :-) For

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

2021-02-21 Thread Laurent Pinchart
Hi Jacopo, Reviewed-by: Laurent Pinchart On Wed, Feb 17, 2021 at 01:01:26PM +, Kieran Bingham wrote: > On 16/02/2021 17:41, Jacopo Mondi wrote: > > During the camera module initialization the image sensor PID is read to > > verify it can correctly be identified. The current

Re: [PATCH 04/16] media: i2c: rdacm20: Report camera module name

2021-02-21 Thread Laurent Pinchart
tic change only. > > Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart > --- > drivers/media/i2c/rdacm20.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c > index 6504ed0bd3bc..56

Re: [PATCH 05/16] media: i2c: rdacm20: Check return values

2021-02-21 Thread Laurent Pinchart
CSLVSH_469NS_234NS | > + MAX9271_I2CSLVTO_1024US | > + MAX9271_I2CMSTBT_105KBPS); > + if (ret) > + return ret; > > - max9271_configure_gmsl_link(&dev->serializer); > + ret = max9271_configure_gmsl_link(&dev->serialize

Re: [PATCH 06/16] media: i2c: rdacm20: Re-work ov10635 reset

2021-02-21 Thread Laurent Pinchart
set and initialize it. */ > ret = max9271_set_gpios(&dev->serializer, MAX9271_GPIO1OUT); > if (ret) > return ret; > - usleep_range(1, 15000); Maybe a comment here to state that the delay has to be at least 2048 XVCLK cycles would be useful ? With

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

2021-02-21 Thread Laurent Pinchart
ile too, and the RDACM's shouldn't care about it. I think this is a good idea. With this addressed, Reviewed-by: Laurent Pinchart > If we end up moving the max9271 'library' into more of a module/device > then this would have to be done in it's 'probe'

Re: [PATCH 08/16] media: i2c: max9286: Adjust parameters indent

2021-02-21 Thread Laurent Pinchart
(chan)); > + max9286_i2c_mux_configure(priv, MAX9286_FWDCCEN(chan) | > + MAX9286_REVCCEN(chan)); I feel obliged to say I would have written max9286_i2c_mux_configure(priv, MAX9286_FWDCCEN(chan) | MAX9286

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

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

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

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 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 configuratio

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 seri

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

2021-02-21 Thread Laurent Pinchart
tected >* - 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 16/16] media: i2c: gmsl: Use 339Kbps I2C bit-rate

2021-02-21 Thread Laurent Pinchart
> > index 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(&dev->serializer, > > MAX9271_I2CSLVSH_469NS_234NS | > > MAX9271_I2CSLVTO_1024US | > > - MAX9271_I2CMSTBT_105KBPS); > > + MAX9271_I2CMSTBT_339KBPS); > > if (ret) > > return ret; > > -- Regards, Laurent Pinchart

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

2021-02-21 Thread Laurent Pinchart
r to do so in the operations themselves, for instance replacing list_for_each_entry_reverse() with list_for_each_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] drivers: usb: gadget: prefer pr_*() functions over raw printk()

2020-12-09 Thread Laurent Pinchart
Hi Enrico, On Wed, Dec 09, 2020 at 12:11:36PM +0100, Enrico Weigelt, metux IT consult wrote: > On 08.12.20 16:54, Laurent Pinchart wrote: > >> diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c > >> b/drivers/usb/gadget/udc/atmel_usba_udc.c > >> index 2b8

Re: [PATCH 01/18] property: Return true in fwnode_device_is_available for node types that do not implement this operation

2020-11-30 Thread Laurent Pinchart
ilability of a device that doesn't > actually exist, so if the check isn't implemented just assume that the > "device" is present. > > Suggested-by: Laurent Pinchart > Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart > --- > Changes since

Re: [PATCH 02/18] property: Add support for calling fwnode_graph_get_endpoint_by_id() for fwnode->secondary

2020-11-30 Thread Laurent Pinchart
d support to fwnode_graph_get_endpoint_by_id() to > find those endpoints by recursively calling itself passing the ptr to > fwnode->secondary in the event no endpoint is found for the primary. > > Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart > --- > Changes since RFC v3

Re: [PATCH 03/18] software_node: Fix failure to put() and get() references to children in software_node_get_next_child()

2020-11-30 Thread Laurent Pinchart
fix that. > > Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart > --- > Changes since RFC v3: > > Put reference to previous child. > > drivers/base/swnode.c | 8 ++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/bas

Re: [PATCH 04/18] software_node: Enforce parent before child ordering of nodes array for software_node_register_nodes()

2020-11-30 Thread Laurent Pinchart
} > + > ret = software_node_register(&nodes[i]); > - if (ret) { > - software_node_unregister_nodes(nodes); > - return ret; > - } > + if (ret) > + go

Re: [PATCH 04/18] software_node: Enforce parent before child ordering of nodes array for software_node_register_nodes()

2020-11-30 Thread Laurent Pinchart
On Mon, Nov 30, 2020 at 06:11:52PM +0200, Laurent Pinchart wrote: > Hi Daniel, > > Thank you for the patch. > > On Mon, Nov 30, 2020 at 01:31:15PM +, Daniel Scally wrote: > > Registering software_nodes with the .parent member set to point to a > > currently unregis

Re: [PATCH 05/18] software_node: Alter software_node_unregister_nodes() to unregister the array in reverse order

2020-11-30 Thread Laurent Pinchart
to child, reverse the order in which > this function unregisters software_nodes. > > Suggested-by: Andy Shevchenko > Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart > --- > Changes since RFC v3: > > Switched this functionality from a new function

Re: [PATCH 06/18] software_node: amend software_node_unregister_node_group() to perform unregistration of array in reverse order to be consistent with software_node_unregister_nodes()

2020-11-30 Thread Laurent Pinchart
cally I"d squash this with the previous patch to avoid introducing an inconsistency. Reviewed-by: Laurent Pinchart > --- > Changes since v3: > > Patch introduced > > drivers/base/swnode.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > >

Re: [PATCH 07/18] software_node: Add support for fwnode_graph*() family of functions

2020-11-30 Thread Laurent Pinchart
t; .put = software_node_put, > @@ -551,7 +655,11 @@ static const struct fwnode_operations software_node_ops > = { > .get_parent = software_node_get_parent, > .get_next_child_node = software_node_get_next_child, > .get_named_child_node = software_node_get_named_child_node, > - .get_reference_args = software_node_get_reference_args > + .get_reference_args = software_node_get_reference_args, > + .graph_get_next_endpoint = software_node_graph_get_next_endpoint, > + .graph_get_remote_endpoint = software_node_graph_get_remote_endpoint, > + .graph_get_port_parent = software_node_graph_get_port_parent, > + .graph_parse_endpoint = software_node_graph_parse_endpoint, > }; > > /* > -- */ -- Regards, Laurent Pinchart

Re: [PATCH 08/18] lib/test_printf.c: Use helper function to unwind array of software_nodes

2020-11-30 Thread Laurent Pinchart
y: Andy Shevchenko > Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart > --- > Changes since RFC v3: > > Changed the called function name - didn't drop the tags since it's > such a trivial change, hope that's alright! > > lib/test_printf.

Re: [PATCH 11/18] media: v4l2-core: v4l2-async: Check possible match in match_fwnode based on sd->fwnode->secondary

2020-11-30 Thread Laurent Pinchart
match against it during match_fwnode() to > accommodate that possibility. > > Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart > --- > Changes since RFC v3: > > - None > > drivers/media/v4l2-core/v4l2-async.c | 8 > 1 file changed, 8 ins

Re: [PATCH 13/18] ipu3-cio2: Add functionality allowing software_node connections to sensors on platforms designed for Windows

2020-11-30 Thread Laurent Pinchart
t; + > +#endif > diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c > b/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c > index 36e354ecf71e..0d69b593e9f0 100644 > --- a/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c > +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c > @@ -1702,6 +1702,22 @@ static void cio2_queues_exit(struct cio2_device *cio2) > cio2_queue_exit(cio2, &cio2->queue[i]); > } > > +static bool cio2_check_fwnode_graph(struct fwnode_handle *fwnode) > +{ > + struct fwnode_handle *endpoint; > + > + if (IS_ERR_OR_NULL(fwnode)) > + return false; > + > + endpoint = fwnode_graph_get_next_endpoint(fwnode, NULL); > + if (endpoint) { > + fwnode_handle_put(endpoint); > + return true; > + } > + > + return cio2_check_fwnode_graph(fwnode->secondary); If we have a fwnode->secondary and this check fails there's something seriously wrong, I wonder if we should print an error message. Overall this is nice. I think the next version will get my ack :-) > +} > + > / PCI interface / > > static int cio2_pci_probe(struct pci_dev *pci_dev, > @@ -1715,6 +1731,17 @@ static int cio2_pci_probe(struct pci_dev *pci_dev, > return -ENOMEM; > cio2->pci_dev = pci_dev; > > + /* > + * On some platforms no connections to sensors are defined in firmware, > + * if the device has no endpoints then we can try to build those as > + * software_nodes parsed from SSDB. > + */ > + if (!cio2_check_fwnode_graph(dev_fwnode(&pci_dev->dev))) { > + r = cio2_bridge_init(pci_dev); > + if (r) > + return r; > + } > + > r = pcim_enable_device(pci_dev); > if (r) { > dev_err(&pci_dev->dev, "failed to enable device (%d)\n", r); > diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.h > b/drivers/media/pci/intel/ipu3/ipu3-cio2.h > index ccf0b85ae36f..520a27c9cdad 100644 > --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.h > +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.h > @@ -437,4 +437,10 @@ static inline struct cio2_queue > *vb2q_to_cio2_queue(struct vb2_queue *vq) > return container_of(vq, struct cio2_queue, vbq); > } > > +#if IS_ENABLED(CONFIG_CIO2_BRIDGE) > +int cio2_bridge_init(struct pci_dev *cio2); > +#else > +int cio2_bridge_init(struct pci_dev *cio2) { return 0; } > +#endif > + > #endif -- Regards, Laurent Pinchart

Re: [PATCH 15/18] i2c: i2c-core-acpi: Add i2c_acpi_dev_name()

2020-11-30 Thread Laurent Pinchart
new_device(struct device *dev, > { > return ERR_PTR(-ENODEV); > } > +static inline char *i2c_acpi_dev_name(struct acpi_device *adev) > +{ > + return NULL; > +} > static inline struct i2c_adapter > *i2c_acpi_find_adapter_by_handle(acpi_handle handle) > { > return NULL; -- Regards, Laurent Pinchart

Re: [PATCH 16/18] i2c: i2c-core-base: Use the new i2c_acpi_dev_name() in i2c_set_dev_name()

2020-11-30 Thread Laurent Pinchart
v) { > - dev_set_name(&client->dev, "i2c-%s", acpi_dev_name(adev)); > + dev_set_name(&client->dev, i2c_acpi_dev_name(adev)); > return; > } > -- Regards, Laurent Pinchart

Re: [PATCH 18/18] ipu3: Add driver for dummy INT3472 ACPI device

2020-11-30 Thread Laurent Pinchart
dummy INT3472 device upon which the sensor depends. This > > driver binds to the dummy acpi device (which does not represent a > > physical PMIC) and maps them into GPIO lines and regulators for use by > > the sensor device instead. > > > > Suggested-by:

Re: [PATCH 02/18] property: Add support for calling fwnode_graph_get_endpoint_by_id() for fwnode->secondary

2020-11-30 Thread Laurent Pinchart
the > secondary in cases where it's not already done. We could also move the !fwnode check to the beginning of the function. > > } > > EXPORT_SYMBOL_GPL(fwnode_graph_get_endpoint_by_id); -- Regards, Laurent Pinchart

Re: [PATCH 14/18] acpi: utils: Add function to fetch dependent acpi_devices

2020-11-30 Thread Laurent Pinchart
} > > + > > + if (candidate == dependee) { > > + acpi_dev_put(candidate); > > + kfree(info); > > + return 1; > > + } > > + > > + kfree(info); > > + } > > + } > > Can you utilize (by moving to here and export for ACPI layer the > acpi_lpss_dep()? -- Regards, Laurent Pinchart

Re: [PATCH 02/18] property: Add support for calling fwnode_graph_get_endpoint_by_id() for fwnode->secondary

2020-11-30 Thread Laurent Pinchart
Hi Andy, On Mon, Nov 30, 2020 at 07:53:19PM +0200, Andy Shevchenko wrote: > On Mon, Nov 30, 2020 at 07:28:57PM +0200, Laurent Pinchart wrote: > > On Mon, Nov 30, 2020 at 07:29:00PM +0200, Andy Shevchenko wrote: > > > On Mon, Nov 30, 2020 at 01:31:13PM +, D

Re: [PATCH 18/18] ipu3: Add driver for dummy INT3472 ACPI device

2020-11-30 Thread Laurent Pinchart
list_head list; > >> +}; > >> + > >> +struct int3472_sensor_regulator_map { > >> + char *sensor_module_name; > >> + unsigned int n_supplies; > >> + struct regulator_consumer_supply *supplies; > >> +}; > >> + > >> +/* > >> + * Here follows platform specific mapping information that we can pass to > >> + * regulator_init_data when we register our regulators. They're just > >> mapped > >> + * via index, I.E. the first regulator pin that the code finds for the > >> + * i2c-OVTI2680:00 device is avdd, the second is dovdd and so on. > >> + */ > >> + > >> +static struct regulator_consumer_supply miix_510_ov2680[] = { > >> + { "i2c-OVTI2680:00", "avdd" }, > >> + { "i2c-OVTI2680:00", "dovdd" }, > >> +}; > >> + > >> +static struct regulator_consumer_supply surface_go2_ov5693[] = { > >> + { "i2c-INT33BE:00", "avdd" }, > >> + { "i2c-INT33BE:00", "dovdd" }, > >> +}; > >> + > >> +static struct regulator_consumer_supply surface_book_ov5693[] = { > >> + { "i2c-INT33BE:00", "avdd" }, > >> + { "i2c-INT33BE:00", "dovdd" }, > >> +}; > >> + > >> +static struct int3472_sensor_regulator_map > >> int3472_sensor_regulator_maps[] = { > >> + { "GNDF140809R", 2, miix_510_ov2680 }, > >> + { "YHCU", 2, surface_go2_ov5693 }, > >> + { "MSHW0070", 2, surface_book_ov5693 }, > >> +}; -- Regards, Laurent Pinchart

Re: [PATCH 18/18] ipu3: Add driver for dummy INT3472 ACPI device

2020-11-30 Thread Laurent Pinchart
e, like > > /* 79234640-9e10-4fea-a5c1b5aa8b19756f */ > const guid_t int3472_gpio_guid = > GUID_INIT(0x79234640, 0x9e10, 0x4fea, > 0xa5, 0xc1, 0xb5, 0xaa, 0x8b, 0x19, 0x75, 0x6f); > > ... > > > +static struct regulator_consumer_supply miix_510_ov2680[] = { > > + { "i2c-OVTI2680:00", "avdd" }, > > + { "i2c-OVTI2680:00", "dovdd" }, > > +}; > > Can we use acpi_dev_first_match_dev() to get instance name out of their HIDs? > > > +static struct regulator_consumer_supply surface_go2_ov5693[] = { > > + { "i2c-INT33BE:00", "avdd" }, > > + { "i2c-INT33BE:00", "dovdd" }, > > +}; > > + > > +static struct regulator_consumer_supply surface_book_ov5693[] = { > > + { "i2c-INT33BE:00", "avdd" }, > > + { "i2c-INT33BE:00", "dovdd" }, > > +}; > > Ditto. > > ... > > > +static struct int3472_sensor_regulator_map int3472_sensor_regulator_maps[] > > = { > > + { "GNDF140809R", 2, miix_510_ov2680 }, > > + { "YHCU", 2, surface_go2_ov5693 }, > > + { "MSHW0070", 2, surface_book_ov5693 }, > > +}; > > Hmm... Usual way is to use DMI for that. I'm not sure above will not give us > false positive matches. -- Regards, Laurent Pinchart

Re: [PATCH 04/12] arm64: dts: zynqmp: Enable and wire reset controller

2020-12-06 Thread Laurent Pinchart
ESET_USB0_HIBERRESET>, > + <&zynqmp_reset ZYNQMP_RESET_USB0_APB>; > + reset-names = "usb0_crst", "usb0_hibrst", "usb0_apbrst"; > }; > > usb1: usb@fe30 { > @@ -743,6 +768,10 @@ usb1: usb@fe30 { > reg = <0x0 0xfe30 0x0 0x4>; > clock-names = "clk_xin", "clk_ahb"; > power-domains = <&zynqmp_firmware PD_USB_1>; > + resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>, > + <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>, > + <&zynqmp_reset ZYNQMP_RESET_USB1_APB>; > + reset-names = "usb1_crst", "usb1_hibrst", "usb1_apbrst"; > }; > > watchdog0: watchdog@fd4d { -- Regards, Laurent Pinchart

Re: [PATCH 06/12] arm64: dts: zynqmp: Add label for zynqmp_ipi

2020-12-06 Thread Laurent Pinchart
On Mon, Dec 07, 2020 at 12:46:56AM +0200, Laurent Pinchart wrote: > Hi Michal, > > Thank you for the patch. > > On Wed, Dec 02, 2020 at 03:06:05PM +0100, Michal Simek wrote: > > Add label which is used by bootloader for adding bootloader specific flag. > > >

<    5   6   7   8   9   10   11   12   13   14   >