[PATCH v2 00/78] drm/bridge: Convert all reset users to create_state

Maxime Ripard posted 78 patches 1 day, 23 hours ago
Only 5 patches received!
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(-)
[PATCH v2 00/78] drm/bridge: Convert all reset users to create_state
Posted by Maxime Ripard 1 day, 23 hours ago
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>