[PATCH v3 3/3] dt-bindings: display: mxsfb: Add compatible for i.MX8MM

2021-01-15 Thread Laurent Pinchart
From: Marek Vasut NXP's i.MX8MM has an LCDIF as well. Signed-off-by: Marek Vasut Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- Changes since v1: - Rebased on top of the YAML conversion Cc: Fabio Estevam Cc: Guido Günther Cc: Lucas Stach Cc: NXP Linux Team Cc

Re: [PATCH v2 1/7] dt-bindings: display: mxsfb: Convert binding to YAML

2021-01-15 Thread Laurent Pinchart
e addition of the new properties on top ? -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH 2/3] drm/ingenic: Register devm action to cleanup encoders

2021-01-18 Thread Laurent Pinchart
ridge_attach(encoder, bridge, NULL, 0); > if (ret) { > dev_err(dev, "Unable to attach bridge\n"); -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH 1/3] drm: bridge/panel: Cleanup connector on bridge detach

2021-01-18 Thread Laurent Pinchart
7 ("drm/bridge: Refactor out the panel wrapper from the > lvds-encoder bridge.") > Cc: # 4.12+ > Cc: Andrzej Hajda > Cc: Neil Armstrong > Cc: Laurent Pinchart > Cc: Jonas Karlman > Cc: Jernej Skrabec > Signed-off-by: Paul Cercueil > --- > drivers/gpu/

Re: [PATCH 2/2] drm: bridge: Add SN65DSI84 DSI to LVDS bridge

2021-01-20 Thread Laurent Pinchart
gt; > > diff) > > > > +{ > > > > + unsigned long next; > > > > + int i; > > > > + > > > > + for (i = min; i <= max; i++) { > > > > + next = start + diff; > > > > + if (start <= clock && clock < next) > > > > + return i; > > > > + > > > > + start += diff; > > > > + } > > > > + > > > > + return -EINVAL; > > > > +} > > > > + > > > > +static void sn65dsi_enable(struct drm_bridge *bridge) > > > > +{ > > > > + struct sn65dsi *sn = bridge_to_sn65dsi(bridge); > > > > + struct drm_display_mode *mode = bridge_to_mode(bridge); > > > > + int bpp = mipi_dsi_pixel_format_to_bpp(sn->dsi->format); > > > > + unsigned int lanes = sn->dsi->lanes; > > > > + unsigned int pixel_clk = mode->clock * 1000; > > > > + unsigned int dsi_clk = pixel_clk * bpp / (lanes * 2); > > > > + unsigned int val; > > > > + > > > > + /* set SOFT_RESET bit */ > > > > + regmap_write(sn->regmap, SN65DSI_SOFT_RESET, SN65DSI_RESET_EN); > > > > + > > > > + msleep(10); > > > > + > > > > + /* set PLL_EN bit */ > > > > + regmap_write(sn->regmap, SN65DSI_CLK_PLL, 0x0); > > > > + > > > > + msleep(10); > > > > + > > > > + /* setup lvds clock */ > > > > + val = sn65dsi_get_clk_range(0, 5, pixel_clk, 2500, > > > > 2500); > > > > + if (val < 0) { > > > > + DRM_DEV_ERROR(sn->dev, "invalid LVDS clock range %d\n", > > > > val); > > > > + return; > > > > + } > > > > + > > > > + regmap_update_bits(sn->regmap, SN65DSI_LVDS_CLK, > > > > + SN65DSI_LVDS_CLK_MASK, > > > > + val << SN65DSI_LVDS_CLK_SHIFT); > > > > + > > > > + regmap_update_bits(sn->regmap, SN65DSI_LVDS_CLK, > > > > + SN65DSI_LVDS_CLK_SRC_DSI, > > > > + SN65DSI_LVDS_CLK_SRC_DSI); > > > > + > > > > + msleep(10); > > > > + > > > > + /* setup bridge clock divider */ > > > > + val = (dsi_clk / pixel_clk) - 1; > > > > + regmap_update_bits(sn->regmap, SN65DSI_CLK_DIV, > > > > + SN65DSI_CLK_DIV_MASK, > > > > + val << SN65DSI_CLK_DIV_SHIFT); > > > > + msleep(10); > > > > + > > > > + /* configure dsi */ > > > > + regmap_update_bits(sn->regmap, SN65DSI_DSI_CFG, > > > > + SN65DSI_DSI_LANE_MASK, > > > > + lanes << SN65DSI_DSI_LANE_SHIFT); > > > > + msleep(10); > > > > + > > > > > > Most of those, look like. I don't know why it does not work without. > > > Where is mention in datasheet? > > > > > > > + /* dsi clock range */ > > > > + val = sn65dsi_get_clk_range(8, 100, dsi_clk, 4000, 500); > > > > + if (val < 0) { > > > > + DRM_DEV_ERROR(sn->dev, "invalid DSI clock range %d\n", > > > > val); > > > > + return; > > > > + } > > > > + > > > > + regmap_write(sn->regmap, SN65DSI_DSI_CLK_RANGE, val); > > > > + > > > > + msleep(10); > > > > + > > > > + /* setup lvds channels */ > > > > + regmap_read(sn->regmap, SN65DSI_LVDS_MODE, &val); > > > > + if (bpp == 24) > > > > + val |= SN65DSI_LVDS_CHA_24BPP; > > > > + regmap_write(sn->regmap, SN65DSI_LVDS_MODE, val); > > > > + > > > > + msleep(10); > > > > + > > > > + /* TODO Channel B required to set up for dual-link LVDS */ > > > > + sn65dsi_setup_channels(sn, mode); > > > > + > > > > > > If you are supporting 84 this code can be drop. > > > > Right now the above function is setting up channel A for single-link > > LVDS. 84 support Single and Dual link LVDS. -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v2 09/11] drm/atomic: Pass the full state to planes atomic disable and update

2021-01-21 Thread Laurent Pinchart
- > > Changes from v1: > - Reintroduce the old_plane_state check in zynqmp_disp_crtc_atomic_disable > --- > drivers/gpu/drm/drm_atomic_helper.c | 8 > drivers/gpu/drm/drm_simple_kms_helper.c | 4 +++- > drivers/gpu/drm/mxsfb/mxsfb_k

Re: [PATCH RESEND v3 1/6] drm/of: Change the prototype of drm_of_lvds_get_dual_link_pixel_order

2021-01-26 Thread Laurent Pinchart
Hi Maxime, On Wed, Nov 18, 2020 at 06:48:05PM +0100, Maxime Ripard wrote: > On Mon, Oct 12, 2020 at 02:00:30AM +0300, Laurent Pinchart wrote: > > > -static int drm_of_lvds_get_remote_pixels_type( > > > - const struct device_node *port_no

Re: [PATCH v2 10/16] drm/exynos: implement a drm bridge

2021-02-04 Thread Laurent Pinchart
gt; >>>>>>> breaks the nice feature of DSI attach/detach callbacks and > > >>>>>>> apparently > > >>>>>>> can cause different issues depending on device bind order. > > >>>>>>> > > >>>

Re: [PATCH] drm/bridge: make a const array static, makes object smaller

2021-02-04 Thread Laurent Pinchart
sion 10.2.0) > > Signed-off-by: Colin Ian King Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/bridge/tc358768.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/bridge/tc358768.c > b/drivers/gpu/drm/bridge/tc358768.c &

Re: [PATCH v2 2/2] drm: bridge: Add SN65DSI84 DSI to LVDS bridge

2021-02-04 Thread Laurent Pinchart
} > + } > + } > + > + sn->dsi_lanes = len / sizeof(u32); > + if (sn->dsi_lanes < 1 || sn->dsi_lanes > 4) > + return -EINVAL; > + > + sn->host_node = of_graph_get_remote_node(dev->of_node, 0, 0); > +

Re: [PATCH 2/2] dt-bindings: display: Add "disable-hpd" binding

2021-02-08 Thread Laurent Pinchart
Do you have a system with an HDMI panel that is always connected, with the HPD signal of the dw-hdmi not connected ? > Example: -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH] drm/bridge: dw-mipi-dsi: Move drm_bridge_add into probe

2021-02-15 Thread Laurent Pinchart
of_find_panel_or_bridge(dev->of_node, 1, 0, > > + &panel, &bridge); > > + if (ret) > > + return ERR_PTR(ret); > > + > > + if (panel) { > > + bridge = drm_panel_bridge_add_typed(panel,

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

2021-02-15 Thread Laurent Pinchart
bridge_out_dsi: endpoint { This label should be bridge_in_dsi. > + remote-endpoint = <&dsi_out_bridge>; > +}; > + }; > + > + bridge_out: port@1 { You can drop this label too. > +reg = <1>; > + > +bridge_out_panel: endpoint { > + remote-endpoint = <&panel_out_bridge>; > +}; > + }; > +}; > + }; > +}; -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH 1/5] drm: drm_bridge: add cec_init/exit bridge ops

2021-02-19 Thread Laurent Pinchart
implement the &drm_bridge_funcs->get_modes callback. >*/ > DRM_BRIDGE_OP_MODES = BIT(3), > + /** > + * @DRM_BRIDGE_OP_CEC: The bridge supports a CEC adapter. > + * Bridges that set this flag shall implement the > + * &drm_bridge_funcs->cec_init and &drm_bridge_funcs->cec_exit > + * callbacks. > + */ > + DRM_BRIDGE_OP_CEC = BIT(4), > }; > > /** -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH 2/5] drm/omap: hdmi4: switch to the cec bridge ops

2021-02-19 Thread Laurent Pinchart
re_data *core, > - struct hdmi_wp_data *wp); > +struct hdmi_wp_data *wp, struct drm_connector *conn); > void hdmi4_cec_uninit(struct hdmi_core_data *core); > #else > static inline void hdmi4_cec_set_phys_addr(struct hdmi_core_data *core, u16 > pa) > @@ -41,8 +41

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 thi

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] 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 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.

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

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

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

2021-03-01 Thread Laurent Pinchart
t; -reg-names = "mhdptx"; > +reg = <0xf0 0xfb00 0x0 0x100>, > + <0x0 0x4f48000 0x0 0x74>; > +reg-names = "mhdptx", "mhdptx-sapb"; > clocks = <&mhdp_clock>; > phys = <&dp_phy>; > phy-names = "dpphy"; -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH 1/5] drm: drm_bridge: add cec_init/exit bridge ops

2021-03-01 Thread Laurent Pinchart
Hi Hans, (CC'ing the DRM bridge maintainers and Daniel Vetter) On Mon, Mar 01, 2021 at 11:56:28AM +0100, Hans Verkuil wrote: > On 19/02/2021 13:02, Laurent Pinchart wrote: > > On Thu, Feb 11, 2021 at 11:36:59AM +0100, Hans Verkuil wrote: > >> Add bridge cec_init/exit

Re: [PATCH 2/5] drm/omap: hdmi4: switch to the cec bridge ops

2021-03-01 Thread Laurent Pinchart
Hi Hans, On Mon, Mar 01, 2021 at 12:07:56PM +0100, Hans Verkuil wrote: > On 19/02/2021 13:07, Laurent Pinchart wrote: > > On Thu, Feb 11, 2021 at 11:37:00AM +0100, Hans Verkuil wrote: > >> Implement the new CEC bridge ops. This makes it possible to associate > >&g

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

2021-03-01 Thread Laurent Pinchart
describe the system, not configure it. A way for userspace to configure this would be better. -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH] drm: rcar-du: Use drmm_encoder_alloc() to manage encoder

2021-03-02 Thread Laurent Pinchart
ne". > > > > JFYI, the WARNING is now in v5.12-rc1, the fix isn't. > > Does this patch go through you to get into the DRM tree? Or do I need to > re-send it to someone else? I can send a pull request with this for the -fixes branch, but as there's a single patch, maybe David or Daniel could pick it up ? -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

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

Re: [PATCH v5 1/2] dt-bindings: usb: add analogix,anx7688.yaml

2021-03-05 Thread Laurent Pinchart
roperties/port > +description: USB port for the USB3 input. > + > + port@2: > + $ref: /schemas/graph.yaml#/properties/port > +description: USB Type-c connector, see connector/usb-connector.yaml. > + > +required: > + - port@0 As all the ports exist at t

Re: [PATCH v5 2/2] drm/bridge: anx7688: Add ANX7688 bridge driver support

2021-03-05 Thread Laurent Pinchart
8; > + u16 vendor, device, fw_version; > + u8 buffer[4]; > + int ret; > + > + anx7688 = devm_kzalloc(dev, sizeof(*anx7688), GFP_KERNEL); > + if (!anx7688) > + return -ENOMEM; > + > + anx7688->client = client; > + i2c_set_clientdata(client, anx7688);

Re: [PATCH v5 1/2] dt-bindings: usb: add analogix,anx7688.yaml

2021-03-05 Thread Laurent Pinchart
Hi Dafna, On Fri, Mar 05, 2021 at 04:14:03PM +0100, Dafna Hirschfeld wrote: > On 05.03.21 15:34, Laurent Pinchart wrote: > > On Fri, Mar 05, 2021 at 01:43:50PM +0100, Dafna Hirschfeld wrote: > >> ANX7688 is a USB Type-C port controller with a MUX. It converts HDMI 2.0 to &g

[PATCH 0/3] drm: xlnx: zynqmp_dpsub: Fix plane handling

2021-03-06 Thread Laurent Pinchart
Hello, This small patch series fixes two issues related to plane handling and blending, and add global alpha support to the overlay plane. There isn't much to say here, please refer to individual patches for details. Laurent Pinchart (3): drm: xlnx: zynqmp_dpsub: Fix plane ordering drm:

[PATCH 1/3] drm: xlnx: zynqmp_dpsub: Fix plane ordering

2021-03-06 Thread Laurent Pinchart
on to userspace. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index 148add0ca1d6..6296f6d5acbc 100644 --- a/drivers/gpu/drm

[PATCH 3/3] drm: xlnx: zynqmp_dpsub: Add global alpha support

2021-03-06 Thread Laurent Pinchart
The top (graphics) plane has a global alpha setting. Expose it through the plane's alpha property. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/driver

[PATCH 2/3] drm: xlnx: zynqmp_dpsub: Fix graphics layer blending

2021-03-06 Thread Laurent Pinchart
To display the graphics layer, the global alpha needs to be enabled. Enable it when the graphics plane is enabled (with full opacity), and disable it otherwise. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 9 - 1 file changed, 8 insertions(+), 1 deletion

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

2021-03-08 Thread Laurent Pinchart
ontext of an embedded system, it may be useful to select which HDCP versions to offer based on different constraints at runtime. This really seems like a system configuration parameter to me, not a system description. -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

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

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

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

Re: [PATCH V3 2/2] drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 driver

2021-05-06 Thread Laurent Pinchart
ap, REG_RC_RESET, 0x00); > >> + regmap_write(ctx->regmap, REG_RC_PLL_EN, 0x00); > >> + > >> + /* Reference clock derived from DSI link clock. */ > >> + regmap_write(ctx->regmap, REG_RC_LVDS_PLL, > >> + > >> REG_RC_LVDS_PLL_LVDS_CLK_RANGE(sn65dsi83_get_lvds_range(ctx)) | > >> + REG_RC_LVDS_PLL_HS_CLK_SRC_DPHY); > > > > (Checkpatch whinge for "Alignment should match open parenthesis" on > > several lines through this function) > > Do you have any extra checkpatch settings somewhere ? > I get this on current next: > > linux-2.6$ ./scripts/checkpatch.pl -f drivers/gpu/drm/bridge/ti-sn65dsi83.c > total: 0 errors, 0 warnings, 625 lines checked > > [...] -- Regards, Laurent Pinchart

Re: [v3 1/2] dt-bindings: backlight: add DisplayPort aux backlight

2021-05-11 Thread Laurent Pinchart
st); > > static void drm_dp_aux_add(struct drm_dp_aux *aux) > { > mutex_lock(&dp_aux_lock); > list_add_tail(&aux->list, &dp_aux_list); > mutex_unlock(&dp_aux_lock); > } > > static void drm_dp_aux_remove(struct drm_dp_aux *aux) > { > mutex_lock(&dp_aux_lock); > list_del_init(&aux->list); > mutex_unlock(&dp_aux_lock); > } > > #ifdef CONFIG_OF > struct drm_dp_aux *of_drm_find_dp_aux_by_node(struct device_node *np) > { > struct drm_dp_aux *aux; > mutex_lock(&dp_aux_lock); > > list_for_each_entry(aux, &dp_aux_list, list) { > if (aux->dev->of_node == np) { > mutex_unlock(&dp_aux_lock); > return aux; > } > } > > mutex_unlock(&dp_aux_lock); > return NULL; > } > EXPORT_SYMBOL(of_drm_find_dp_aux_by_node); > #endif > > > int drm_dp_aux_init(struct drm_dp_aux *aux) > { > INIT_LIST_HEAD(&aux->list); > ... > } > > int drm_dp_aux_register(struct drm_dp_aux *aux) > { > ... > drm_dp_aux_add(aux); > > return 0; > } > > void drm_dp_aux_unregister(struct drm_dp_aux *aux) > { > drm_dp_aux_remove(aux); > ... > } Overall this seems like a good approach, but there's one unanswered question: what happens if drm_dp_aux_unregister() is called while a panel holds a reference to it ? The drm_dp_aux instances likely need to be reference-counted. > > I guess an alternate way to solve this (I'm not totally sure whether > > it's better or worse) would be to add a function that would walk up > > the chain of parent bridges and ask them for a pointer to the aux bus. > > I definitely haven't thought it all the way through, but I'd imagine > > something like drm_bridge_chain_get_ddc_aux(). This is _probably_ > > better than adding the "ddc-aux-bus" property but it assumes that the > > aux bus is provided by one of our parents. Hrm, looking at this > > briefly, though, I'm not sure how to do it. It doesn't seem possible > > to get the parent bridges from the panel structure. Even if you assume > > that your parent is wrapping you with a panel_bridge it still doesn't > > seem possible? > > > > This probably needs more drm-expertise. -- Regards, Laurent Pinchart

Re: [PATCH] dt-bindings: display: bridge: lvds-codec: Fix spacing

2021-05-15 Thread Laurent Pinchart
at it ? Reviewed-by: Laurent Pinchart > Signed-off-by: Marek Vasut > Cc: Laurent Pinchart > Cc: Rob Herring > Cc: Sam Ravnborg > Cc: devicet...@vger.kernel.org > To: dri-devel@lists.freedesktop.org > --- > .../devicetree/bindings/display/panel/lvds.yaml | 12 +++

Re: [PATCH] dt-bindings: display: bridge: lvds-codec: Fix spacing

2021-05-15 Thread Laurent Pinchart
Hi Marek, On Sun, May 16, 2021 at 01:49:11AM +0200, Marek Vasut wrote: > On 5/15/21 11:48 PM, Laurent Pinchart wrote: > > Hi Marek, > > Hi, > > > Thank you for the patch. > > > > On Sat, May 15, 2021 at 10:39:32PM +0200, Marek Vasut wrote: > >> Add

Re: [PATCH V2] dt-bindings: display: Fix spacing in lvds.yaml

2021-05-17 Thread Laurent Pinchart
Hi Marek, Thank you for the patch. On Tue, May 18, 2021 at 12:43:36AM +0200, Marek Vasut wrote: > Add missing spaces to make the diagrams readable, no functional change. > > Signed-off-by: Marek Vasut > Cc: Laurent Pinchart > Cc: Rob Herring > Cc: Sam Ravnb

Re: [PATCH 1/2] dt-bindings: display: bridge: lvds-codec: Document LVDS data mapping select

2021-05-17 Thread Laurent Pinchart
DT property to the strapping case though, but I don't have a real preference here, so I'm fine with this approach. > Signed-off-by: Marek Vasut > Cc: Laurent Pinchart > Cc: Rob Herring > Cc: Sam Ravnborg > Cc: devicet...@vger.kernel.org > To: dri-devel@lists.fre

Re: [PATCH 2/2] drm/bridge: lvds-codec: Add support for LVDS data mapping select

2021-05-17 Thread Laurent Pinchart
nce there are still > legacy bindings which do not specify this property. > > Signed-off-by: Marek Vasut > Cc: Laurent Pinchart > Cc: Sam Ravnborg > To: dri-devel@lists.freedesktop.org > --- > drivers/gpu/drm/bridge/lvds-codec.c | 50 +

Re: [PATCH 1/2] dt-bindings: display: bridge: lvds-codec: Document LVDS data mapping select

2021-05-17 Thread Laurent Pinchart
And another thing: On Tue, May 18, 2021 at 02:02:24AM +0300, Laurent Pinchart wrote: > On Sat, May 15, 2021 at 10:46:55PM +0200, Marek Vasut wrote: > > Decoder input LVDS format is a property of the decoder chip or even > > its strapping. Add DT property data-mapping the same

[PATCH v3 0/4] Converter R-Car DU to the DRM bridge connector helper

2021-05-19 Thread Laurent Pinchart
4 finally makes use of the drm_bridge_connector_init() helper. The series has been tested on the Renesas R-Car Salvator-XS and Draak boards with the VGA, HDMI and LVDS outputs. Laurent Pinchart (4): drm: bridge: dw-hdmi: Attach to next bridge if available drm: rcar-du: lvds: Convert to DRM pane

[PATCH v3 1/4] drm: bridge: dw-hdmi: Attach to next bridge if available

2021-05-19 Thread Laurent Pinchart
bridge attach handler. Signed-off-by: Laurent Pinchart Reviewed-by: Neil Armstrong --- Changes since v1: - Make missing endpoint a fatal error --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 54 ++- include/drm/bridge/dw_hdmi.h | 2 + 2 files changed, 55

[PATCH v3 3/4] drm: rcar-du: dw-hdmi: Set output port number

2021-05-19 Thread Laurent Pinchart
Report the DT output port number in dw_hdmi_plat_data to connect to the next bridge in the dw-hdmi driver. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c b/drivers/gpu/drm

[PATCH v3 2/4] drm: rcar-du: lvds: Convert to DRM panel bridge helper

2021-05-19 Thread Laurent Pinchart
Replace the manual panel handling with usage of the DRM panel bridge helper. This simplifies the driver, and brings support for DRM_BRIDGE_ATTACH_NO_CONNECTOR as an added bonus. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/rcar-du/rcar_lvds.c | 120 +++- 1 file

[PATCH v3 4/4] drm: rcar-du: Use drm_bridge_connector_init() helper

2021-05-19 Thread Laurent Pinchart
Use the drm_bridge_connector_init() helper to create a drm_connector for each output, instead of relying on the bridge drivers doing so. Attach the bridges with the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag to instruct them not to create a connector. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo

Re: [V2][PATCH 1/2] drm: xlnx: add is_layer_vid() to simplify the code

2021-05-20 Thread Laurent Pinchart
sion. > Acked-by: Paul Cercueil > Signed-off-by: Quanyang Wang Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/xlnx/zynqmp_disp.c | 39 +- > 1 file changed, 22 insertions(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/xlnx/zynqmp_d

Re: [V2][PATCH 2/2] drm: xlnx: consolidate the functions which programming AUDIO_VIDEO_SELECT register

2021-05-20 Thread Laurent Pinchart
NQMP_DISP_AV_BUF_PATTERN_GEN_SELECT0x100 Following my comment above, let's write this #define ZYNQMP_DISP_AV_BUF_OUTPUT_LIVE 0 #define ZYNQMP_DISP_AV_BUF_OUTPUT_MEM 1 #define ZYNQMP_DISP_AV_BUF_OUTPUT_PATTERN 2 #define ZYNQMP_DISP_AV_BUF_OUTPUT_NONE 3 #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID1(v) ((v) << 0) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID1_MASK GENMASK(1, 0) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID2(v) ((v) << 2) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID2_MASK GENMASK(3, 2) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID3(v) ((v) << 4) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID3_MASK GENMASK(5, 4) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID4(v) ((v) << 6) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID4_MASK GENMASK(7, 6) Or possibly better, #define ZYNQMP_DISP_AV_BUF_OUTPUT_LIVE 0 #define ZYNQMP_DISP_AV_BUF_OUTPUT_MEM 1 #define ZYNQMP_DISP_AV_BUF_OUTPUT_PATTERN 2 #define ZYNQMP_DISP_AV_BUF_OUTPUT_NONE 3 #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID(n, v) ((v) << ((n) * 2)) #define ZYNQMP_DISP_AV_BUF_OUTPUT_VID_MASK(n) GENMASK((n)+1, (n)) -- Regards, Laurent Pinchart

[PATCH v3] drm: xlnx: zynqmp: Add zynqmp_disp_layer_is_video() to simplify the code

2021-05-20 Thread Laurent Pinchart
From: Quanyang Wang Add a new function zynqmp_disp_layer_is_video() to simplify the code that judges if a layer is the video layer. Acked-by: Paul Cercueil Signed-off-by: Quanyang Wang Reviewed-by: Laurent Pinchart [Renamed is_layer_vid() to zynqmp_disp_layer_is_video()]] Signed-off-by

[PATCH] drm: xlnx: zynqmp_dpsub: Pass disp structure to all internal functions

2021-05-20 Thread Laurent Pinchart
-pointers to the zynqmp_disp in order to access fields such as the device pointer for debug messages, and this isn't worth it. Instead, merge those structures with the zynqmp_disp structure, and pass the zynqmp_disp pointer to all internal functions. Signed-off-by: Laurent Pinchart --- dr

[PATCH v2 0/3] drm: xlnx: zynqmp_dpsub: Fix plane handling

2021-05-20 Thread Laurent Pinchart
en the name "overlay"). Laurent Pinchart (3): drm: xlnx: zynqmp_dpsub: Fix graphics layer blending drm: xlnx: zynqmp_dpsub: Add global alpha support drm: xlnx: zynqmp_dpsub: Expose plane ordering to userspace drivers/gpu/drm/xlnx/zynqmp_disp.c | 18 +- 1 file changed

[PATCH v2 2/3] drm: xlnx: zynqmp_dpsub: Add global alpha support

2021-05-20 Thread Laurent Pinchart
The graphics plane has a global alpha setting. Expose it through the plane's alpha property. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gp

[PATCH v2 1/3] drm: xlnx: zynqmp_dpsub: Fix graphics layer blending

2021-05-20 Thread Laurent Pinchart
To display the graphics layer, the global alpha needs to be enabled. Enable it when the graphics plane is enabled (with full opacity), and disable it otherwise. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion

[PATCH v2 3/3] drm: xlnx: zynqmp_dpsub: Expose plane ordering to userspace

2021-05-20 Thread Laurent Pinchart
While the DPSUB has a fixed plane order, it still makes sense to expose it to userspace to avoid hardcoding assumptions. Do so by adding an immutable zpos property to planes. Signed-off-by: Laurent Pinchart --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 1 + 1 file changed, 1 insertion(+) diff --git

Re: [PATCH] drm/omap: sdi: fix bridge enable/disable

2020-11-28 Thread Laurent Pinchart
gt; Reported-by: Aaro Koskinen > Fixes: 8bef8a6d5da81b909a190822b96805a47348146f ("drm/omap: sdi: Register a > drm_bridge") > Cc: sta...@vger.kernel.org # v5.7+ > Tested-by: Ivaylo Dimitrov Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/sdi.c | 10

Re: [PATCH] drm/panel: sony-acx565akm: Fix race condition in probe

2020-11-28 Thread Laurent Pinchart
he omapdrm specific driver has been removed in > 45f16c82db7e ("drm/omap: displays: Remove unused panel drivers"). > > Reported-by: Jarkko Nikula > Reported-by: Peter Ujfalusi > Reported-by: Tony Lindgren > Reported-by: Aaro Koskinen > Reported-by: Ivaylo D

Re: [PATCH] drm/panel: sony-acx565akm: Fix race condition in probe

2020-11-29 Thread Laurent Pinchart
Hi Sebastian, On Sun, Nov 29, 2020 at 01:53:31AM +0100, Sebastian Reichel wrote: > On Sun, Nov 29, 2020 at 12:08:47AM +0200, Laurent Pinchart wrote: > > On Fri, Nov 27, 2020 at 09:04:29PM +0100, Sebastian Reichel wrote: > > > The probe routine acquires the reset GPIO using GPIOD

Re: [PATCH v3 1/6] drm: bridge: Propagate the bus flags from bridge->timings

2020-11-30 Thread Laurent Pinchart
commented in his review of v1 that bus flags should be set in atomic_check, even when they're static ? We're moving towards removing timings->input_bus_flags, so this patch goes in the wrong direction :-S > } > > /** -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v3 2/6] drm/bridge: tfp410: Support format negotiation hooks

2020-11-30 Thread Laurent Pinchart
hooks in the drm_bridge_funcs. > Use helper functions for state management. > > Output format is expected to be MEDIA_BUS_FMT_FIXED > Input format is the one selected by the bridge from DT properties. > > Signed-off-by: Nikhil Devshatwar > Reviewed-by: Tomi Valkeine

Re: [PATCH v3 4/6] drm/tidss: Set bus_format correctly from bridge/connector

2020-11-30 Thread Laurent Pinchart
ate->bus_format == MEDIA_BUS_FMT_FIXED) { > + > + dev_err(ddev->dev, "Bridge connected to the encoder did not > specify media bus format\n"); > return -EINVAL; > } > > - // XXX any cleaner way to set bus format and flags? > - tcrtc_state->bus_format = di->bus_formats[0]; > - if (!bus_flags_set) > - tcrtc_state->bus_flags = di->bus_flags; > - > return 0; > } > -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v3 4/6] drm/tidss: Set bus_format correctly from bridge/connector

2020-11-30 Thread Laurent Pinchart
My understanding is that currently, the format negotiation logic does > not negotiate all the way till encoder, it stops only at the > first_bridge. Should we then implement a bridge in the tidss driver to model the internal encoder, in order to support format negotiation all the way to the tidss ? -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v3 1/6] drm: bridge: Propagate the bus flags from bridge->timings

2020-11-30 Thread Laurent Pinchart
Hi Tomi, On Mon, Nov 30, 2020 at 11:46:31AM +0200, Tomi Valkeinen wrote: > On 30/11/2020 11:36, Laurent Pinchart wrote: > > On Thu, Nov 19, 2020 at 09:31:29PM +0530, Nikhil Devshatwar wrote: > >> bus_flags can be specified by a bridge in the timings. > >> If the bridg

Re: [PATCH v4 55/80] drm/panel: panel-dsi-cm: use MIPI_DCS_GET_ERROR_COUNT_ON_DSI

2020-11-30 Thread Laurent Pinchart
Hi Tomi, Thank you for the patch. On Tue, Nov 24, 2020 at 02:45:13PM +0200, Tomi Valkeinen wrote: > Use the common MIPI_DCS_GET_ERROR_COUNT_ON_DSI define instead of > driver's own. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/d

Re: [PATCH v4 56/80] drm/panel: panel-dsi-cm: cleanup tear enable

2020-11-30 Thread Laurent Pinchart
Hi Tomi, Thank you for the patch. On Tue, Nov 24, 2020 at 02:45:14PM +0200, Tomi Valkeinen wrote: > Simplify the code by moving code from _dsicm_enable_te() into > dsicm_power_on(). > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/pa

Re: [PATCH v4 57/80] ARM: dts: omap5: add address-cells & size-cells to dsi

2020-11-30 Thread Laurent Pinchart
<&dss_clkctrl > OMAP5_DSS_CORE_CLKCTRL 10>; > clock-names = "fck", "sys_clk"; > + > + #address-c

Re: [PATCH v4 58/80] drm/omap: pll: fix iteration loop check

2020-11-30 Thread Laurent Pinchart
gt; Fix this by failing early on such cases. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/pll.c | 6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/omapdrm/dss/pll.c > b/drivers/gpu/drm

Re: [PATCH v4 59/80] drm/omap: dsi: set trans_mode according to client mode_flags

2020-11-30 Thread Laurent Pinchart
mi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 7 +++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/drivers/gpu/drm/omapdrm/dss/dsi.c > index c3592c6db977..7fee9cf8782d 100644 >

Re: [PATCH v4 60/80] drm/panel: panel-dsi-cm: set column & page at setup

2020-11-30 Thread Laurent Pinchart
gt; { > struct panel_drv_data *ddata = dev_get_drvdata(&dev->dev); > @@ -308,6 +328,10 @@ static int dsicm_power_on(struct panel_drv_data *ddata) > if (r) > goto err; > > + r = dsicm_set_update_window(ddata); &

Re: [PATCH v4 61/80] drm/omap: dsi: send nop instead of page & column

2020-11-30 Thread Laurent Pinchart
eds to > be revisited later. This is important information, could you capture it in a comment in the code ? Reviewed-by: Laurent Pinchart > Signed-off-by: Tomi Valkeinen > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 41 +-- > 1 file changed, 12 insertions

Re: [PATCH v4 62/80] drm/omap: dsi: simplify VC handling

2020-11-30 Thread Laurent Pinchart
Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 49 --- > 1 file changed, 13 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/drivers/gpu/drm/omapdrm/dss

Re: [PATCH RESEND v3 1/2] dt-bindings: dp-connector: add binding for DisplayPort connector

2020-11-30 Thread Laurent Pinchart
tems: 1 > + > + dp-pwr-supply: > +description: Power supply for the DP_PWR pin > +maxItems: 1 > + > + port: > +description: Connection to controller providing DP signals Now that the OF graph schema has landed, could you add the corresponding $ref ? Revi

Re: [PATCH RESEND v3 2/2] drm/bridge: display-connector: add DP support

2020-11-30 Thread Laurent Pinchart
, "hpd", >GPIOD_IN); > if (IS_ERR(conn->hpd_gpio)) { > @@ -223,6 +227,38 @@ static int display_connector_probe(struct > platform_device *pdev) > } > } > > + /* Get the DP PWR for DP connector

Re: [PATCH v2 1/5] drm: add legacy support for using degamma for gamma

2020-11-30 Thread Laurent Pinchart
u16 *red, u16 *green, u16 *blue, > uint32_t size, > struct drm_modeset_acquire_ctx *ctx); > +int drm_atomic_helper_legacy_degamma_set(struct drm_crtc *crtc, > + u16 *red, u16 *green, u16 *blue, > + uint32_t size, > + struct drm_modeset_acquire_ctx *ctx); > > /** > * drm_atomic_crtc_for_each_plane - iterate over planes currently attached > to CRTC -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v2 2/5] drm/omap: use degamma property for gamma table

2020-11-30 Thread Laurent Pinchart
; degamma -> ctm -> out > > and the legacy ioctl will continue working as before. > > Signed-off-by: Tomi Valkeinen > Reviewed-by: Pekka Paalanen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 14 +++--- > 1 file changed, 7 inserti

Re: [PATCH v2 3/5] drm/omap: Implement CTM property for CRTC using OVL managers CPR matrix

2020-11-30 Thread Laurent Pinchart
ff-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 39 +++-- > 1 file changed, 37 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c > b/drivers/gpu/drm/omapdrm/omap_crtc.c

Re: [PATCH v2 4/5] drm/omap: rearrange includes in omapdss.h

2020-11-30 Thread Laurent Pinchart
Hi Tomi, Thank you for the patch. On Tue, Nov 03, 2020 at 10:03:09AM +0200, Tomi Valkeinen wrote: > Drop "uapi/" and rearrange alphabetically. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/omapdss.h | 8

Re: [PATCH v2 5/5] drm/omap: Enable COLOR_ENCODING and COLOR_RANGE properties for planes

2020-11-30 Thread Laurent Pinchart
== DRM_FORMAT_YUYV || > + formats[i] == DRM_FORMAT_UYVY || > + formats[i] == DRM_FORMAT_NV12) > + return true; > + > + return false; > +} > + > static const char *plane_id_to_name[] = { > [OMAP_DSS_GFX] = "gfx", > [OMAP

Re: [PATCH v2 5/5] drm/omap: Enable COLOR_ENCODING and COLOR_RANGE properties for planes

2020-11-30 Thread Laurent Pinchart
Hi Tomi, On Mon, Nov 30, 2020 at 01:53:25PM +0200, Tomi Valkeinen wrote: > On 30/11/2020 12:50, Laurent Pinchart wrote: > > On Tue, Nov 03, 2020 at 10:03:10AM +0200, Tomi Valkeinen wrote: > >> From: Jyri Sarha > >> > >> Adds support for COLOR_EN

Re: [PATCH v3 1/6] drm: bridge: Propagate the bus flags from bridge->timings

2020-11-30 Thread Laurent Pinchart
Hi Tomi, On Mon, Nov 30, 2020 at 12:04:27PM +0200, Tomi Valkeinen wrote: > On 30/11/2020 12:02, Tomi Valkeinen wrote: > > On 30/11/2020 11:47, Laurent Pinchart wrote: > > > >>>> Hasn't Boris commented in his review of v1 that bus flags should be set > &

Re: [PATCH v4 63/80] drm/omap: dsi: drop useless channel checks

2020-11-30 Thread Laurent Pinchart
keinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 11 --- > 1 file changed, 11 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/drivers/gpu/drm/omapdrm/dss/dsi.c > index 63338324c564..fbf05097612f 100644 > ---

Re: [PATCH v4 64/80] drm/omap: dsi: cleanup channel usages

2020-11-30 Thread Laurent Pinchart
DSS_CLK_SRC_PLL1_1 : > DSS_CLK_SRC_PLL2_1); > > @@ -4012,19 +4012,19 @@ static int dsi_display_init_dispc(struct dsi_data > *dsi) > dss_mgr_unregister_framedone_handler(&dsi->output, > dsi_framedo

Re: [PATCH v4 65/80] drm/omap: dsi: skip dsi_vc_enable_hs when already in correct mode

2020-11-30 Thread Laurent Pinchart
d state instead of reading it back from the hardware, as it's (marginally) more efficient. In either case, Reviewed-by: Laurent Pinchart > WARN_ON(!dsi_bus_is_locked(dsi)); > > dsi_vc_enable(dsi, vc, 0); > @@ -2456,8 +2458,6 @@ static void dsi_vc_enable_hs(

Re: [PATCH v4 66/80] drm/omap: dsi: set LP/HS before update

2020-11-30 Thread Laurent Pinchart
er, if we use a different VC for video data, the VC is in LP mode. > Fix this by always setting the LP/HS mode before starting a frame > update. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 2 ++ > 1 file change

Re: [PATCH v4 67/80] drm/omap: dsi: use separate VCs for cmd and video

2020-11-30 Thread Laurent Pinchart
-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 12 +++- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/drivers/gpu/drm/omapdrm/dss/dsi.c > index 41d6231d6e31..0

Re: [PATCH v4 68/80] drm/panel: panel-dsi-cm: remove extra 'if'

2020-11-30 Thread Laurent Pinchart
DISPLAY_BRIGHTNESS, > + level); If !ddata->enabled, won't r be uninitialized ? > > mutex_unlock(&ddata->lock); > -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v4 69/80] drm/panel: panel-dsi-cm: add panel database to driver

2020-11-30 Thread Laurent Pinchart
.xres = 864, > + .yres = 480, > + .refresh = 60, > + .width_mm = 0, > + .height_mm = 0, > + .max_hs_rate = 3, > + .max_lp_rate = 1000, > +}; > + > +static const struct dsic_panel_data himalaya_data = { > + .xres = 480, &g

Re: [PATCH v4 70/80] drm/panel: panel-dsi-cm: drop unneeded includes

2020-11-30 Thread Laurent Pinchart
#include This could go to the patch that moves TE handling to the code. > #include > -#include I'd keep module.h as you use macros it defines, and we shouldn't depend in indirect includes. Reviewed-by: Laurent Pinchart > -#include > -#include &

Re: [PATCH v4 71/80] drm/omap: dsi: move structs & defines to dsi.h

2020-11-30 Thread Laurent Pinchart
tart_time; > -#endif > - int debug_read; > - int debug_write; > - struct { > - struct dss_debugfs_entry *irqs; > - struct dss_debugfs_entry *regs; > - struct dss_debugfs_entry *clks; > - } debugfs; > - > -#ifdef CONFIG_OMAP

Re: [PATCH v4 72/80] drm/omap: dsi: move enable/disable to bridge enable/disable

2020-11-30 Thread Laurent Pinchart
Hi Tomi, Thank you for the patch. On Tue, Nov 24, 2020 at 02:45:30PM +0200, Tomi Valkeinen wrote: > Clean up the code by inlining dsi_enable_video_outputs and > dsi_disable_video_outputs functions. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- >

Re: [PATCH v4 73/80] drm/omap: dsi: display_enable cleanup

2020-11-30 Thread Laurent Pinchart
e WARN_ON() is needed anymore ? Reviewed-by: Laurent Pinchart > Signed-off-by: Tomi Valkeinen > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 16 +++- > 1 file changed, 3 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/dri

Re: [PATCH v4 74/80] drm/omap: dsi: display_disable cleanup

2020-11-30 Thread Laurent Pinchart
x27;d actually squash the two. Reviewed-by: Laurent Pinchart > Signed-off-by: Tomi Valkeinen > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 19 +++ > 1 file changed, 3 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c > b/driver

Re: [PATCH v4 75/80] drm/omap: dsi: rename dsi_display_* functions

2020-11-30 Thread Laurent Pinchart
isplay_enable which just enables the DSI interface). > Rename them by dropping the "display". > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 36 +++ > 1 file changed, 18 insertions(+

Re: [PATCH v4 76/80] drm/omap: dsi: cleanup initial vc setup

2020-11-30 Thread Laurent Pinchart
i_if_enable(dsi, 1); > + > + dsi_force_tx_stop_mode_io(dsi); > + > + /* start the DDR clock by sending a NULL packet */ > + if (dsi->vm_timings.ddr_clk_always_on) > + dsi_vc_send_null(dsi, VC_CMD, dsi->dsidev->channel); > +} > + > static int dsi_init

Re: [PATCH v4 77/80] drm/omap: dsi: split video mode enable/disable into separate func

2020-11-30 Thread Laurent Pinchart
Hi Tomi, Thank you for the patch. On Tue, Nov 24, 2020 at 02:45:35PM +0200, Tomi Valkeinen wrote: > Clean up the code by separating video-mode enable/disable code into > functions of their own. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drive

Re: [PATCH v4 78/80] drm/omap: dsi: fix and cleanup ddr_clk_always_on

2020-11-30 Thread Laurent Pinchart
always_on field which seems pretty useless. > > Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 12 +--- > drivers/gpu/drm/omapdrm/dss/dsi.h | 2 -- > 2 files changed, 5 insertions(+), 9 deletions(-) > > d

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