* [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state
@ 2026-06-08 14:35 Maxime Ripard
2026-06-08 14:35 ` [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state Maxime Ripard
` (6 more replies)
0 siblings, 7 replies; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:35 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Laurent Pinchart,
Jagan Teki, Liu Ying, Frank Li, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, imx, linux-arm-kernel,
Andy Yan, Phong LE, Douglas Anderson, Inki Dae, Marek Szyprowski,
Philipp Zabel, Paul Cercueil, linux-mips, Chun-Kuang Hu,
Matthias Brugger, AngeloGioacchino Del Regno, linux-mediatek,
linux-kernel, Kevin Hilman, Jerome Brunet, Martin Blumenstingl,
linux-amlogic, Tomi Valkeinen, Geert Uytterhoeven, Magnus Damm,
Kieran Bingham, linux-renesas-soc, Biju Das, Heiko Stuebner,
Sandy Huang, linux-rockchip, Yannick Fertre, Raphael Gallais-Pou,
Philippe Cornu, Maxime Coquelin, Alexandre Torgue, linux-stm32,
Jyri Sarha, Tomi Valkeinen, Dave Stevenson, Maíra Canal,
Raspberry Pi Kernel Maintenance, Icenowy Zheng, Laurent Pinchart,
Michal Simek
Hi,
All the bridges use reset to create a blank state only and don't use it
to reset the hardware at all. This is what the new atomic_create_state
is exactly supposed to be doing, so we can convert all existing bridge
users to it, and remove the reset hook and helpers.
Let me know what you think,
Maxime
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
Changes in v2:
- Split the return value fix for cadence bridges into their own patches
- Fix bisection
- Collect tags
- Link to v1: https://lore.kernel.org/r/20260530-drm-no-more-bridge-reset-v1-0-875d828d31bc@kernel.org
---
Maxime Ripard (78):
drm/bridge: cdns-dsi: Return an error pointer on allocation failure
drm/bridge: cdns-mhdp8546: Return an error pointer on allocation failure
drm/atomic-state-helper: Rename __drm_atomic_helper_bridge_reset()
drm/atomic-state-helper: Reorder __drm_atomic_helper_bridge_state_init() arguments
drm/atomic-state-helper: Drop memset from __drm_atomic_helper_bridge_state_init()
drm/bridge: Add new atomic_create_state callback
drm/atomic-state-helper: Add drm_atomic_helper_bridge_create_state()
drm/bridge: adv7511: Switch to atomic_create_state
drm/bridge: analogix_dp: Switch to atomic_create_state
drm/bridge: anx7625: Switch to atomic_create_state
drm/bridge: chipone-icn6211: Switch to atomic_create_state
drm/bridge: display-connector: Switch to atomic_create_state
drm/bridge: fsl-ldb: Switch to atomic_create_state
drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state
drm/bridge: imx8qm-ldb: Switch to atomic_create_state
drm/bridge: imx8qxp-ldb: Switch to atomic_create_state
drm/bridge: imx8qxp-pixel-combiner: Switch to atomic_create_state
drm/bridge: imx8qxp-pixel-link: Switch to atomic_create_state
drm/bridge: imx8qxp-pxl2dpi: Switch to atomic_create_state
drm/bridge: inno-hdmi: Switch to atomic_create_state
drm/bridge: ite-it6263: Switch to atomic_create_state
drm/bridge: ite-it6505: Switch to atomic_create_state
drm/bridge: ite-it66121: Switch to atomic_create_state
drm/bridge: lontium-lt9211: Switch to atomic_create_state
drm/bridge: lontium-lt9611: Switch to atomic_create_state
drm/bridge: lvds-codec: Switch to atomic_create_state
drm/bridge: nwl-dsi: Switch to atomic_create_state
drm/bridge: panel: Switch to atomic_create_state
drm/bridge: parade-ps8640: Switch to atomic_create_state
drm/bridge: samsung-dsim: Switch to atomic_create_state
drm/bridge: sii902x: Switch to atomic_create_state
drm/bridge: ssd2825: Switch to atomic_create_state
drm/bridge: dw-dp: Switch to atomic_create_state
drm/bridge: dw-hdmi-qp: Switch to atomic_create_state
drm/bridge: dw-hdmi: Switch to atomic_create_state
drm/bridge: dw-mipi-dsi: Switch to atomic_create_state
drm/bridge: dw-mipi-dsi2: Switch to atomic_create_state
drm/bridge: tc358762: Switch to atomic_create_state
drm/bridge: tc358767: Switch to atomic_create_state
drm/bridge: tc358768: Switch to atomic_create_state
drm/bridge: tc358775: Switch to atomic_create_state
drm/bridge: ti-dlpc3433: Switch to atomic_create_state
drm/bridge: ti-sn65dsi83: Switch to atomic_create_state
drm/bridge: ti-sn65dsi86: Switch to atomic_create_state
drm/bridge: ti-tdp158: Switch to atomic_create_state
drm/bridge: ti-tfp410: Switch to atomic_create_state
drm/imx: parallel-display: Switch to atomic_create_state
drm/ingenic: Switch to atomic_create_state
drm/mediatek: dp: Switch to atomic_create_state
drm/mediatek: dpi: Switch to atomic_create_state
drm/mediatek: dsi: Switch to atomic_create_state
drm/mediatek: hdmi: Switch to atomic_create_state
drm/mediatek: hdmi_v2: Switch to atomic_create_state
drm/meson: encoder_cvbs: Switch to atomic_create_state
drm/meson: encoder_dsi: Switch to atomic_create_state
drm/meson: encoder_hdmi: Switch to atomic_create_state
drm/msm: dp: Switch to atomic_create_state
drm/msm: hdmi: Switch to atomic_create_state
drm/omap: hdmi4: Switch to atomic_create_state
drm/omap: hdmi5: Switch to atomic_create_state
drm/renesas: rcar-du: lvds: Switch to atomic_create_state
drm/renesas: rcar-du: mipi_dsi: Switch to atomic_create_state
drm/renesas: rz-du: mipi_dsi: Switch to atomic_create_state
drm/rockchip: cdn-dp: Switch to atomic_create_state
drm/rockchip: rk3066_hdmi: Switch to atomic_create_state
drm/rockchip: lvds: Switch to atomic_create_state
drm/stm: lvds: Switch to atomic_create_state
drm/tests: bridge: Switch to atomic_create_state
drm/tidss: encoder: Switch to atomic_create_state
drm/tidss: oldi: Switch to atomic_create_state
drm/vc4: dsi: Switch to atomic_create_state
drm/verisilicon: Switch to atomic_create_state
drm/xlnx: zynqmp_dp: Switch to atomic_create_state
drm/atomic-state-helper: Remove drm_atomic_helper_bridge_reset()
drm/bridge: cdns-dsi: Use __drm_atomic_helper_bridge_state_init()
drm/bridge: cdns-dsi: Switch to atomic_create_state
drm/bridge: cdns-mhdp8546: Switch to atomic_create_state
drm/bridge: Remove atomic_reset support
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 2 +-
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +-
drivers/gpu/drm/bridge/analogix/anx7625.c | 2 +-
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 9 +++---
.../gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 8 ++---
drivers/gpu/drm/bridge/chipone-icn6211.c | 2 +-
drivers/gpu/drm/bridge/display-connector.c | 2 +-
drivers/gpu/drm/bridge/fsl-ldb.c | 2 +-
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 2 +-
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c | 2 +-
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c | 2 +-
.../gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c | 2 +-
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 2 +-
drivers/gpu/drm/bridge/inno-hdmi.c | 2 +-
drivers/gpu/drm/bridge/ite-it6263.c | 2 +-
drivers/gpu/drm/bridge/ite-it6505.c | 2 +-
drivers/gpu/drm/bridge/ite-it66121.c | 2 +-
drivers/gpu/drm/bridge/lontium-lt9211.c | 2 +-
drivers/gpu/drm/bridge/lontium-lt9611.c | 2 +-
drivers/gpu/drm/bridge/lvds-codec.c | 2 +-
drivers/gpu/drm/bridge/nwl-dsi.c | 2 +-
drivers/gpu/drm/bridge/panel.c | 2 +-
drivers/gpu/drm/bridge/parade-ps8640.c | 2 +-
drivers/gpu/drm/bridge/samsung-dsim.c | 2 +-
drivers/gpu/drm/bridge/sii902x.c | 2 +-
drivers/gpu/drm/bridge/ssd2825.c | 2 +-
drivers/gpu/drm/bridge/synopsys/dw-dp.c | 2 +-
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 2 +-
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 2 +-
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 2 +-
drivers/gpu/drm/bridge/tc358762.c | 2 +-
drivers/gpu/drm/bridge/tc358767.c | 4 +--
drivers/gpu/drm/bridge/tc358768.c | 2 +-
drivers/gpu/drm/bridge/tc358775.c | 2 +-
drivers/gpu/drm/bridge/ti-dlpc3433.c | 2 +-
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 2 +-
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 2 +-
drivers/gpu/drm/bridge/ti-tdp158.c | 2 +-
drivers/gpu/drm/bridge/ti-tfp410.c | 2 +-
drivers/gpu/drm/drm_atomic_state_helper.c | 34 ++++++++++++----------
drivers/gpu/drm/drm_bridge.c | 4 +--
drivers/gpu/drm/imx/ipuv3/parallel-display.c | 2 +-
drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 2 +-
drivers/gpu/drm/mediatek/mtk_dp.c | 2 +-
drivers/gpu/drm/mediatek/mtk_dpi.c | 2 +-
drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +-
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 +-
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c | 2 +-
drivers/gpu/drm/meson/meson_encoder_cvbs.c | 2 +-
drivers/gpu/drm/meson/meson_encoder_dsi.c | 2 +-
drivers/gpu/drm/meson/meson_encoder_hdmi.c | 2 +-
drivers/gpu/drm/msm/dp/dp_drm.c | 4 +--
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 2 +-
drivers/gpu/drm/omapdrm/dss/hdmi4.c | 2 +-
drivers/gpu/drm/omapdrm/dss/hdmi5.c | 2 +-
drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c | 2 +-
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 2 +-
drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c | 2 +-
drivers/gpu/drm/rockchip/cdn-dp-core.c | 2 +-
drivers/gpu/drm/rockchip/rk3066_hdmi.c | 2 +-
drivers/gpu/drm/rockchip/rockchip_lvds.c | 2 +-
drivers/gpu/drm/stm/lvds.c | 2 +-
drivers/gpu/drm/tests/drm_bridge_test.c | 2 +-
drivers/gpu/drm/tidss/tidss_encoder.c | 2 +-
drivers/gpu/drm/tidss/tidss_oldi.c | 2 +-
drivers/gpu/drm/vc4/vc4_dsi.c | 2 +-
drivers/gpu/drm/verisilicon/vs_bridge.c | 4 +--
drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 +-
include/drm/drm_atomic_state_helper.h | 6 ++--
include/drm/drm_bridge.h | 33 +++++++--------------
72 files changed, 112 insertions(+), 120 deletions(-)
---
base-commit: 60dc0946bbad3eef8bc66a5a8b09b98dbc6e09c0
change-id: 20260530-drm-no-more-bridge-reset-ca20d5e22740
Best regards,
--
Maxime Ripard <mripard@kernel.org>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
@ 2026-06-08 14:35 ` Maxime Ripard
2026-06-08 15:45 ` sashiko-bot
2026-06-09 6:47 ` Liu Ying
2026-06-08 14:35 ` [PATCH v2 15/78] drm/bridge: imx8qm-ldb: " Maxime Ripard
` (5 subsequent siblings)
6 siblings, 2 replies; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:35 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Liu Ying, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Liu Ying <victor.liu@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
index 7d5fda7173e5..a31d4fc76f35 100644
--- a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
+++ b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
@@ -129,11 +129,11 @@ static const struct drm_bridge_funcs imx_hdmi_pvi_bridge_funcs = {
.atomic_enable = imx8mp_hdmi_pvi_bridge_enable,
.atomic_disable = imx8mp_hdmi_pvi_bridge_disable,
.atomic_get_input_bus_fmts = imx8mp_hdmi_pvi_bridge_get_input_bus_fmts,
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
};
static int imx8mp_hdmi_pvi_probe(struct platform_device *pdev)
{
struct device_node *remote;
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 15/78] drm/bridge: imx8qm-ldb: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
2026-06-08 14:35 ` [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state Maxime Ripard
@ 2026-06-08 14:35 ` Maxime Ripard
2026-06-09 6:51 ` Liu Ying
2026-06-08 14:35 ` [PATCH v2 16/78] drm/bridge: imx8qxp-ldb: " Maxime Ripard
` (4 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:35 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Liu Ying, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Liu Ying <victor.liu@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c b/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
index a6ca4f5c6cc6..a654c27356a7 100644
--- a/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
+++ b/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
@@ -387,11 +387,11 @@ imx8qm_ldb_bridge_mode_valid(struct drm_bridge *bridge,
}
static const struct drm_bridge_funcs imx8qm_ldb_bridge_funcs = {
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
.mode_valid = imx8qm_ldb_bridge_mode_valid,
.attach = ldb_bridge_attach_helper,
.atomic_check = imx8qm_ldb_bridge_atomic_check,
.mode_set = imx8qm_ldb_bridge_mode_set,
.atomic_enable = imx8qm_ldb_bridge_atomic_enable,
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 16/78] drm/bridge: imx8qxp-ldb: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
2026-06-08 14:35 ` [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state Maxime Ripard
2026-06-08 14:35 ` [PATCH v2 15/78] drm/bridge: imx8qm-ldb: " Maxime Ripard
@ 2026-06-08 14:35 ` Maxime Ripard
2026-06-09 6:52 ` Liu Ying
2026-06-08 14:35 ` [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: " Maxime Ripard
` (3 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:35 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Liu Ying, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Liu Ying <victor.liu@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c b/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
index a7906314ade1..1c71697a2083 100644
--- a/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
+++ b/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
@@ -402,11 +402,11 @@ imx8qxp_ldb_bridge_mode_valid(struct drm_bridge *bridge,
static const struct drm_bridge_funcs imx8qxp_ldb_bridge_funcs = {
.destroy = imx8qxp_ldb_bridge_destroy,
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
.mode_valid = imx8qxp_ldb_bridge_mode_valid,
.attach = ldb_bridge_attach_helper,
.atomic_check = imx8qxp_ldb_bridge_atomic_check,
.mode_set = imx8qxp_ldb_bridge_mode_set,
.atomic_pre_enable = imx8qxp_ldb_bridge_atomic_pre_enable,
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
` (2 preceding siblings ...)
2026-06-08 14:35 ` [PATCH v2 16/78] drm/bridge: imx8qxp-ldb: " Maxime Ripard
@ 2026-06-08 14:35 ` Maxime Ripard
2026-06-08 15:55 ` sashiko-bot
2026-06-09 6:53 ` Liu Ying
2026-06-08 14:36 ` [PATCH v2 18/78] drm/bridge: imx8qxp-pixel-link: " Maxime Ripard
` (2 subsequent siblings)
6 siblings, 2 replies; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:35 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Liu Ying, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Liu Ying <victor.liu@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
index e0ee51a9ca7f..941ce2f91e9e 100644
--- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
+++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
@@ -249,11 +249,11 @@ imx8qxp_pc_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
}
static const struct drm_bridge_funcs imx8qxp_pc_bridge_funcs = {
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
.mode_valid = imx8qxp_pc_bridge_mode_valid,
.attach = imx8qxp_pc_bridge_attach,
.mode_set = imx8qxp_pc_bridge_mode_set,
.atomic_disable = imx8qxp_pc_bridge_atomic_disable,
.atomic_get_input_bus_fmts =
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 18/78] drm/bridge: imx8qxp-pixel-link: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
` (3 preceding siblings ...)
2026-06-08 14:35 ` [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: " Maxime Ripard
@ 2026-06-08 14:36 ` Maxime Ripard
2026-06-09 6:54 ` Liu Ying
2026-06-08 14:36 ` [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: " Maxime Ripard
2026-06-08 14:36 ` [PATCH v2 47/78] drm/imx: parallel-display: " Maxime Ripard
6 siblings, 1 reply; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:36 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Liu Ying, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Liu Ying <victor.liu@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
index ee6b6dbbe952..92b8b1ac35d0 100644
--- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
+++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
@@ -227,11 +227,11 @@ imx8qxp_pixel_link_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
}
static const struct drm_bridge_funcs imx8qxp_pixel_link_bridge_funcs = {
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
.attach = imx8qxp_pixel_link_bridge_attach,
.mode_set = imx8qxp_pixel_link_bridge_mode_set,
.atomic_enable = imx8qxp_pixel_link_bridge_atomic_enable,
.atomic_disable = imx8qxp_pixel_link_bridge_atomic_disable,
.atomic_get_input_bus_fmts =
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
` (4 preceding siblings ...)
2026-06-08 14:36 ` [PATCH v2 18/78] drm/bridge: imx8qxp-pixel-link: " Maxime Ripard
@ 2026-06-08 14:36 ` Maxime Ripard
2026-06-08 16:00 ` sashiko-bot
2026-06-09 6:54 ` Liu Ying
2026-06-08 14:36 ` [PATCH v2 47/78] drm/imx: parallel-display: " Maxime Ripard
6 siblings, 2 replies; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:36 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Liu Ying, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Liu Ying <victor.liu@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
index 87305d3e0c39..2fc9831f7e61 100644
--- a/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
+++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
@@ -208,11 +208,11 @@ imx8qxp_pxl2dpi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
}
static const struct drm_bridge_funcs imx8qxp_pxl2dpi_bridge_funcs = {
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
.attach = imx8qxp_pxl2dpi_bridge_attach,
.destroy = imx8qxp_pxl2dpi_bridge_destroy,
.atomic_check = imx8qxp_pxl2dpi_bridge_atomic_check,
.mode_set = imx8qxp_pxl2dpi_bridge_mode_set,
.atomic_disable = imx8qxp_pxl2dpi_bridge_atomic_disable,
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 47/78] drm/imx: parallel-display: Switch to atomic_create_state
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
` (5 preceding siblings ...)
2026-06-08 14:36 ` [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: " Maxime Ripard
@ 2026-06-08 14:36 ` Maxime Ripard
6 siblings, 0 replies; 17+ messages in thread
From: Maxime Ripard @ 2026-06-08 14:36 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Dmitry Baryshkov, dri-devel, Maxime Ripard, Philipp Zabel,
Frank Li, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
imx, linux-arm-kernel
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
To: Philipp Zabel <p.zabel@pengutronix.de>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/gpu/drm/imx/ipuv3/parallel-display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/imx/ipuv3/parallel-display.c b/drivers/gpu/drm/imx/ipuv3/parallel-display.c
index 0f06db95f00f..eb75827394f8 100644
--- a/drivers/gpu/drm/imx/ipuv3/parallel-display.c
+++ b/drivers/gpu/drm/imx/ipuv3/parallel-display.c
@@ -178,11 +178,11 @@ static int imx_pd_bridge_attach(struct drm_bridge *bridge,
return drm_bridge_attach(encoder, imxpd->next_bridge, bridge, flags);
}
static const struct drm_bridge_funcs imx_pd_bridge_funcs = {
.attach = imx_pd_bridge_attach,
- .atomic_reset = drm_atomic_helper_bridge_reset,
+ .atomic_create_state = drm_atomic_helper_bridge_create_state,
.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
.atomic_check = imx_pd_bridge_atomic_check,
.atomic_get_input_bus_fmts = imx_pd_bridge_atomic_get_input_bus_fmts,
.atomic_get_output_bus_fmts = imx_pd_bridge_atomic_get_output_bus_fmts,
--
2.54.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state
2026-06-08 14:35 ` [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state Maxime Ripard
@ 2026-06-08 15:45 ` sashiko-bot
2026-06-09 6:47 ` Liu Ying
1 sibling, 0 replies; 17+ messages in thread
From: sashiko-bot @ 2026-06-08 15:45 UTC (permalink / raw)
To: Maxime Ripard; +Cc: dri-devel, Frank.Li, imx
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
Pre-existing issues:
- [High] Unbalanced pm_runtime_put and potential unclocked register access if pm_runtime_resume_and_get fails in atomic_enable.
- [High] Use-After-Free and unmapped memory access due to devm_ resource lifetime mismatch when the device is unbound.
--
commit 935043b57c7562e813344d06040c4edaf524faa0
Author: Maxime Ripard <mripard@kernel.org>
drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated.
Switch to the atomic_create_state callback and its
drm_atomic_helper_bridge_create_state() counterpart.
> diff --git a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
> index 7d5fda7173e5f..a31d4fc76f35b 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
> @@ -131,7 +131,7 @@ static const struct drm_bridge_funcs imx_hdmi_pvi_bridge_funcs = {
> .atomic_get_input_bus_fmts = imx8mp_hdmi_pvi_bridge_get_input_bus_fmts,
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
> };
>
> static int imx8mp_hdmi_pvi_probe(struct platform_device *pdev)
[Severity: High]
This isn't a bug introduced by this patch, but does the error handling in
imx8mp_hdmi_pvi_bridge_enable() leave the bridge in a state that could
trigger a regression later?
If pm_runtime_resume_and_get() fails in the enable path, it returns without
setting a flag:
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c:imx8mp_hdmi_pvi_bridge_enable() {
...
if (WARN_ON(pm_runtime_resume_and_get(pvi->dev)))
return;
...
}
Later, imx8mp_hdmi_pvi_bridge_disable() unconditionally writes to the registers
and decrements the usage counter:
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c:imx8mp_hdmi_pvi_bridge_disable() {
...
writel(0x0, pvi->regs + HTX_PVI_CTRL);
pm_runtime_put(pvi->dev);
}
Could this unconditional write to an unclocked IP block cause a synchronous
data abort, and lead to a PM usage counter underflow?
[Severity: High]
This is a pre-existing issue, but could this resource allocation pattern
cause a regression during device unbind?
The bridge structure and I/O registers are allocated using devres in the
probe function:
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c:imx8mp_hdmi_pvi_probe() {
...
pvi = devm_drm_bridge_alloc(&pdev->dev, struct imx8mp_hdmi_pvi,
bridge, &imx_hdmi_pvi_bridge_funcs);
...
pvi->regs = devm_platform_ioremap_resource(pdev, 0);
...
}
If the driver is unbound, these devm-managed resources will be freed and
unmapped. However, since drm_bridge_remove() does not synchronize with active
display pipelines, the DRM core might still hold references to the bridge.
If the pipeline is torn down after unbind, imx8mp_hdmi_pvi_bridge_disable()
would be called:
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c:imx8mp_hdmi_pvi_bridge_disable() {
...
writel(0x0, pvi->regs + HTX_PVI_CTRL);
...
}
Would this result in accessing unmapped registers and the freed bridge
structure during pipeline teardown?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260608-drm-no-more-bridge-reset-v2-0-0a91018bf886@kernel.org?part=14
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: Switch to atomic_create_state
2026-06-08 14:35 ` [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: " Maxime Ripard
@ 2026-06-08 15:55 ` sashiko-bot
2026-06-09 6:53 ` Liu Ying
1 sibling, 0 replies; 17+ messages in thread
From: sashiko-bot @ 2026-06-08 15:55 UTC (permalink / raw)
To: Maxime Ripard; +Cc: dri-devel, Frank.Li, imx
Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
Pre-existing issues:
- [High] Data race on shared register `PC_CTRL_REG` during concurrent `mode_set` calls can cause hardware state corruption.
- [High] Incomplete cleanup in the probe error path leads to Use-After-Free of devm-allocated DRM bridge.
- [High] Unconditional hardware register access and unbalanced clock disable in `imx8qxp_pc_runtime_suspend()` when the clock fails to enable.
- [High] Unconditional hardware register accesses and unbalanced clock disable in `imx8qxp_pc_bridge_mode_set()` if power management or clock enablement fails.
--
commit 10038747477552d55e11391e7ea8feb1269ccfa4
Author: Maxime Ripard <mripard@kernel.org>
drm/bridge: imx8qxp-pixel-combiner: Switch to atomic_create_state
The drm_bridge_funcs.atomic_reset callback and its
drm_atomic_helper_bridge_reset() helper are deprecated. Switch to the
atomic_create_state callback and its counterpart.
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
> index e0ee51a9ca7f8..941ce2f91e9e5 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
> @@ -251,7 +251,7 @@ imx8qxp_pc_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
> static const struct drm_bridge_funcs imx8qxp_pc_bridge_funcs = {
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
> .mode_valid = imx8qxp_pc_bridge_mode_valid,
> .attach = imx8qxp_pc_bridge_attach,
> .mode_set = imx8qxp_pc_bridge_mode_set,
[Severity: High]
This isn't a bug introduced by this patch, but looking at
imx8qxp_pc_bridge_mode_set(), the format configuration uses a software
read-modify-write (RMW) sequence on PC_CTRL_REG:
val = imx8qxp_pc_read(pc, PC_CTRL_REG);
if (ch->stream_id == 0) {
val &= ~PC_DISP0_PIX_DATA_FORMAT_MASK;
val |= PC_DISP0_PIX_DATA_FORMAT(RGB);
} else {
val &= ~PC_DISP1_PIX_DATA_FORMAT_MASK;
val |= PC_DISP1_PIX_DATA_FORMAT(RGB);
}
imx8qxp_pc_write(pc, PC_CTRL_REG, val);
Because the driver supports parallel, non-blocking atomic commits, this
function can run concurrently on multiple CPUs for different channels. Does
this concurrent unprotected RMW cause one of the channel's format
configurations to be overwritten, leading to incorrect display colors or
format?
[Severity: High]
This is a pre-existing issue, but also in imx8qxp_pc_bridge_mode_set(), there
appears to be an unconditional hardware register access if power management or
clock enablement fails:
ret = clk_prepare_enable(pc->clk_apb);
if (ret)
DRM_DEV_ERROR(pc->dev, "%s: failed to enable apb clock: %d\n",
__func__, ret);
/* HSYNC to pixel link is active low. */
imx8qxp_pc_write_clr(pc, PC_CTRL_REG,
PC_DISP_HSYNC_POLARITY(ch->stream_id));
If pm_runtime_get_sync() or clk_prepare_enable() fails, the function prints
an error but continues to execute hardware register writes. On this platform,
could accessing unclocked or unpowered registers cause an external abort and
kernel panic?
Furthermore, does it lead to a clock imbalance by calling
clk_disable_unprepare() at the end when the clock failed to enable?
[Severity: High]
This isn't a bug introduced by this patch, but looking at
imx8qxp_pc_runtime_suspend(), there is a similar pattern:
ret = clk_prepare_enable(pc->clk_apb);
if (ret)
DRM_DEV_ERROR(pc->dev, "%s: failed to enable apb clock: %d\n",
__func__, ret);
/* Disable pixel combiner by full reset. */
imx8qxp_pc_write_clr(pc, PC_SW_RESET_REG, PC_FULL_RESET_N);
If clk_prepare_enable() fails, the function proceeds to access PC_SW_RESET_REG.
Does this cause a bus lockup or asynchronous external abort due to accessing
registers when their clock domain is gated?
Also, does it unconditionally call clk_disable_unprepare() later, resulting
in a clock imbalance?
[Severity: High]
This is a pre-existing issue, but the imx8qxp_pc_bridge_probe() function
seems to have a fragile error path:
free_child:
of_node_put(child);
if (i == 1 && pc->ch[0] && pc->ch[0]->bridge.next_bridge)
drm_bridge_remove(&pc->ch[0]->bridge);
It hardcodes the check to unregister only the first channel. If the second
channel lacks a valid reg property, of_property_read_u32() fails without
updating i, leaving i == 0. Will the error path then skip unregistering ch[0]?
Furthermore, if the first channel processed is reg = <1>, could an error on
the second channel (reg = <0>) fail to unregister ch[1]?
Because the bridge structures are allocated with devm_drm_bridge_alloc(),
they will be freed by devres on probe failure. Does this leave dangling
pointers in the DRM subsystem's global bridge list, causing a use-after-free
when the list is subsequently traversed?
> .atomic_disable = imx8qxp_pc_bridge_atomic_disable,
> .atomic_get_input_bus_fmts =
> imx8qxp_pc_bridge_atomic_get_input_bus_fmts,
> .atomic_get_output_bus_fmts =
> imx8qxp_pc_bridge_atomic_get_output_bus_fmts,
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260608-drm-no-more-bridge-reset-v2-0-0a91018bf886@kernel.org?part=17
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: Switch to atomic_create_state
2026-06-08 14:36 ` [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: " Maxime Ripard
@ 2026-06-08 16:00 ` sashiko-bot
2026-06-09 6:54 ` Liu Ying
1 sibling, 0 replies; 17+ messages in thread
From: sashiko-bot @ 2026-06-08 16:00 UTC (permalink / raw)
To: Maxime Ripard; +Cc: imx, dri-devel, Frank.Li
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Global device state corruption in atomic_check.
--
commit e8d715f17c3f8417137a6f4c52d8a5d876a47307
Author: Maxime Ripard <mripard@kernel.org>
drm/bridge: imx8qxp-pxl2dpi: Switch to atomic_create_state
This commit replaces the deprecated atomic_reset callback and its helper
with the atomic_create_state callback and its counterpart.
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
> index 87305d3e0c398..2fc9831f7e611 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
> @@ -210,7 +210,7 @@ imx8qxp_pxl2dpi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
> static const struct drm_bridge_funcs imx8qxp_pxl2dpi_bridge_funcs = {
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
> .attach = imx8qxp_pxl2dpi_bridge_attach,
> .destroy = imx8qxp_pxl2dpi_bridge_destroy,
> .atomic_check = imx8qxp_pxl2dpi_bridge_atomic_check,
[Severity: High]
This isn't a bug introduced by this patch, but does
imx8qxp_pxl2dpi_bridge_atomic_check() mutate global device state during the
atomic check phase?
In the DRM atomic framework, atomic_check can be executed for test-only
commits (DRM_MODE_ATOMIC_TEST_ONLY), which never proceed to the hardware
commit phase.
Looking at imx8qxp_pxl2dpi_bridge_atomic_check() in
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c:
p2d->in_bus_format = bridge_state->input_bus_cfg.format;
p2d->out_bus_format = bridge_state->output_bus_cfg.format;
For non-blocking commits, the commit tail executes in a background worker
without holding modeset locks. It then calls mode_set where this state is read:
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c:imx8qxp_pxl2dpi_bridge_mode_set() {
...
switch (p2d->out_bus_format) {
...
}
Can a concurrent test-only commit overwrite this global state while an
ongoing non-blocking commit is reading it, leading to the display hardware
being misconfigured with test-only bus formats?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260608-drm-no-more-bridge-reset-v2-0-0a91018bf886@kernel.org?part=19
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state
2026-06-08 14:35 ` [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state Maxime Ripard
2026-06-08 15:45 ` sashiko-bot
@ 2026-06-09 6:47 ` Liu Ying
1 sibling, 0 replies; 17+ messages in thread
From: Liu Ying @ 2026-06-09 6:47 UTC (permalink / raw)
To: Maxime Ripard
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, imx, linux-arm-kernel
On Mon, Jun 08, 2026 at 04:35:56PM +0200, Maxime Ripard wrote:
> The drm_bridge_funcs.atomic_reset callback and its
> drm_atomic_helper_bridge_reset() helper are deprecated.
>
> Switch to the atomic_create_state callback and its
> drm_atomic_helper_bridge_create_state() counterpart.
>
> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> To: Liu Ying <victor.liu@nxp.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Liu Ying <victor.liu@nxp.com>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 15/78] drm/bridge: imx8qm-ldb: Switch to atomic_create_state
2026-06-08 14:35 ` [PATCH v2 15/78] drm/bridge: imx8qm-ldb: " Maxime Ripard
@ 2026-06-09 6:51 ` Liu Ying
0 siblings, 0 replies; 17+ messages in thread
From: Liu Ying @ 2026-06-09 6:51 UTC (permalink / raw)
To: Maxime Ripard
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, imx, linux-arm-kernel
On Mon, Jun 08, 2026 at 04:35:57PM +0200, Maxime Ripard wrote:
> The drm_bridge_funcs.atomic_reset callback and its
> drm_atomic_helper_bridge_reset() helper are deprecated.
>
> Switch to the atomic_create_state callback and its
> drm_atomic_helper_bridge_create_state() counterpart.
>
> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> To: Liu Ying <victor.liu@nxp.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/gpu/drm/bridge/imx/imx8qm-ldb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c b/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
> index a6ca4f5c6cc6..a654c27356a7 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
> @@ -387,11 +387,11 @@ imx8qm_ldb_bridge_mode_valid(struct drm_bridge *bridge,
> }
>
> static const struct drm_bridge_funcs imx8qm_ldb_bridge_funcs = {
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
Nit: drop a tab after .atomic_create_state to align '=' characters vertically.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
> .mode_valid = imx8qm_ldb_bridge_mode_valid,
> .attach = ldb_bridge_attach_helper,
> .atomic_check = imx8qm_ldb_bridge_atomic_check,
> .mode_set = imx8qm_ldb_bridge_mode_set,
> .atomic_enable = imx8qm_ldb_bridge_atomic_enable,
>
> --
> 2.54.0
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 16/78] drm/bridge: imx8qxp-ldb: Switch to atomic_create_state
2026-06-08 14:35 ` [PATCH v2 16/78] drm/bridge: imx8qxp-ldb: " Maxime Ripard
@ 2026-06-09 6:52 ` Liu Ying
0 siblings, 0 replies; 17+ messages in thread
From: Liu Ying @ 2026-06-09 6:52 UTC (permalink / raw)
To: Maxime Ripard
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, imx, linux-arm-kernel
On Mon, Jun 08, 2026 at 04:35:58PM +0200, Maxime Ripard wrote:
> The drm_bridge_funcs.atomic_reset callback and its
> drm_atomic_helper_bridge_reset() helper are deprecated.
>
> Switch to the atomic_create_state callback and its
> drm_atomic_helper_bridge_create_state() counterpart.
>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> To: Liu Ying <victor.liu@nxp.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c b/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
> index a7906314ade1..1c71697a2083 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
> @@ -402,11 +402,11 @@ imx8qxp_ldb_bridge_mode_valid(struct drm_bridge *bridge,
>
> static const struct drm_bridge_funcs imx8qxp_ldb_bridge_funcs = {
> .destroy = imx8qxp_ldb_bridge_destroy,
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
Nit: drop a tab after .atomic_create_state to align '=' characters vertically.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
> .mode_valid = imx8qxp_ldb_bridge_mode_valid,
> .attach = ldb_bridge_attach_helper,
> .atomic_check = imx8qxp_ldb_bridge_atomic_check,
> .mode_set = imx8qxp_ldb_bridge_mode_set,
> .atomic_pre_enable = imx8qxp_ldb_bridge_atomic_pre_enable,
>
> --
> 2.54.0
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: Switch to atomic_create_state
2026-06-08 14:35 ` [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: " Maxime Ripard
2026-06-08 15:55 ` sashiko-bot
@ 2026-06-09 6:53 ` Liu Ying
1 sibling, 0 replies; 17+ messages in thread
From: Liu Ying @ 2026-06-09 6:53 UTC (permalink / raw)
To: Maxime Ripard
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, imx, linux-arm-kernel
On Mon, Jun 08, 2026 at 04:35:59PM +0200, Maxime Ripard wrote:
> The drm_bridge_funcs.atomic_reset callback and its
> drm_atomic_helper_bridge_reset() helper are deprecated.
>
> Switch to the atomic_create_state callback and its
> drm_atomic_helper_bridge_create_state() counterpart.
>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> To: Liu Ying <victor.liu@nxp.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
> index e0ee51a9ca7f..941ce2f91e9e 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
> @@ -249,11 +249,11 @@ imx8qxp_pc_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
> }
>
> static const struct drm_bridge_funcs imx8qxp_pc_bridge_funcs = {
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
Nit: drop a tab after .atomic_create_state to align '=' characters vertically.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
> .mode_valid = imx8qxp_pc_bridge_mode_valid,
> .attach = imx8qxp_pc_bridge_attach,
> .mode_set = imx8qxp_pc_bridge_mode_set,
> .atomic_disable = imx8qxp_pc_bridge_atomic_disable,
> .atomic_get_input_bus_fmts =
>
> --
> 2.54.0
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 18/78] drm/bridge: imx8qxp-pixel-link: Switch to atomic_create_state
2026-06-08 14:36 ` [PATCH v2 18/78] drm/bridge: imx8qxp-pixel-link: " Maxime Ripard
@ 2026-06-09 6:54 ` Liu Ying
0 siblings, 0 replies; 17+ messages in thread
From: Liu Ying @ 2026-06-09 6:54 UTC (permalink / raw)
To: Maxime Ripard
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, imx, linux-arm-kernel
On Mon, Jun 08, 2026 at 04:36:00PM +0200, Maxime Ripard wrote:
> The drm_bridge_funcs.atomic_reset callback and its
> drm_atomic_helper_bridge_reset() helper are deprecated.
>
> Switch to the atomic_create_state callback and its
> drm_atomic_helper_bridge_create_state() counterpart.
>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> To: Liu Ying <victor.liu@nxp.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> index ee6b6dbbe952..92b8b1ac35d0 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> @@ -227,11 +227,11 @@ imx8qxp_pixel_link_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
> }
>
> static const struct drm_bridge_funcs imx8qxp_pixel_link_bridge_funcs = {
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
Nit: drop a tab after .atomic_create_state to align '=' characters vertically.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
> .attach = imx8qxp_pixel_link_bridge_attach,
> .mode_set = imx8qxp_pixel_link_bridge_mode_set,
> .atomic_enable = imx8qxp_pixel_link_bridge_atomic_enable,
> .atomic_disable = imx8qxp_pixel_link_bridge_atomic_disable,
> .atomic_get_input_bus_fmts =
>
> --
> 2.54.0
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: Switch to atomic_create_state
2026-06-08 14:36 ` [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: " Maxime Ripard
2026-06-08 16:00 ` sashiko-bot
@ 2026-06-09 6:54 ` Liu Ying
1 sibling, 0 replies; 17+ messages in thread
From: Liu Ying @ 2026-06-09 6:54 UTC (permalink / raw)
To: Maxime Ripard
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Dmitry Baryshkov,
dri-devel, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, imx, linux-arm-kernel
On Mon, Jun 08, 2026 at 04:36:01PM +0200, Maxime Ripard wrote:
> The drm_bridge_funcs.atomic_reset callback and its
> drm_atomic_helper_bridge_reset() helper are deprecated.
>
> Switch to the atomic_create_state callback and its
> drm_atomic_helper_bridge_create_state() counterpart.
>
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
> To: Liu Ying <victor.liu@nxp.com>
> To: Frank Li <Frank.Li@nxp.com>
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: imx@lists.linux.dev
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c b/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
> index 87305d3e0c39..2fc9831f7e61 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
> @@ -208,11 +208,11 @@ imx8qxp_pxl2dpi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
> }
>
> static const struct drm_bridge_funcs imx8qxp_pxl2dpi_bridge_funcs = {
> .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> - .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
Nit: drop a tab after .atomic_create_state to align '=' characters vertically.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
> .attach = imx8qxp_pxl2dpi_bridge_attach,
> .destroy = imx8qxp_pxl2dpi_bridge_destroy,
> .atomic_check = imx8qxp_pxl2dpi_bridge_atomic_check,
> .mode_set = imx8qxp_pxl2dpi_bridge_mode_set,
> .atomic_disable = imx8qxp_pxl2dpi_bridge_atomic_disable,
>
> --
> 2.54.0
>
--
Regards,
Liu Ying
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2026-06-09 6:53 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-08 14:35 [PATCH v2 00/78] drm/bridge: Convert all reset users to create_state Maxime Ripard
2026-06-08 14:35 ` [PATCH v2 14/78] drm/bridge: imx8mp-hdmi-pvi: Switch to atomic_create_state Maxime Ripard
2026-06-08 15:45 ` sashiko-bot
2026-06-09 6:47 ` Liu Ying
2026-06-08 14:35 ` [PATCH v2 15/78] drm/bridge: imx8qm-ldb: " Maxime Ripard
2026-06-09 6:51 ` Liu Ying
2026-06-08 14:35 ` [PATCH v2 16/78] drm/bridge: imx8qxp-ldb: " Maxime Ripard
2026-06-09 6:52 ` Liu Ying
2026-06-08 14:35 ` [PATCH v2 17/78] drm/bridge: imx8qxp-pixel-combiner: " Maxime Ripard
2026-06-08 15:55 ` sashiko-bot
2026-06-09 6:53 ` Liu Ying
2026-06-08 14:36 ` [PATCH v2 18/78] drm/bridge: imx8qxp-pixel-link: " Maxime Ripard
2026-06-09 6:54 ` Liu Ying
2026-06-08 14:36 ` [PATCH v2 19/78] drm/bridge: imx8qxp-pxl2dpi: " Maxime Ripard
2026-06-08 16:00 ` sashiko-bot
2026-06-09 6:54 ` Liu Ying
2026-06-08 14:36 ` [PATCH v2 47/78] drm/imx: parallel-display: " Maxime Ripard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox