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 <[email protected]> --- Changes in v3: - Rebase on current drm-misc-next - Link to v2: https://lore.kernel.org/r/[email protected] 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/[email protected] --- 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 | 40 ++++++++++++---------- 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 | 6 ++-- 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, 117 insertions(+), 125 deletions(-) --- base-commit: 4c85094a73431c26d5774aa74e422fc6bb94a7d5 change-id: 20260530-drm-no-more-bridge-reset-ca20d5e22740 Best regards, -- Maxime Ripard <[email protected]>
