dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/30] drm/bridge: Add device links for lifetime control
@ 2019-11-26 13:15 Mihail Atanassov
  2019-11-26 13:15 ` Mihail Atanassov
                   ` (31 more replies)
  0 siblings, 32 replies; 77+ messages in thread
From: Mihail Atanassov @ 2019-11-26 13:15 UTC (permalink / raw)
  To: dri-devel@lists.freedesktop.org
  Cc: Martyn Welch, Neil Armstrong, David Airlie, Peter Senna Tschudin,
	Liviu Dudau, Philippe Cornu, Laurent Pinchart, Boris Brezillon,
	Mihail Atanassov, Sam Ravnborg, Jerome Brunet, Rob Clark,
	linux-renesas-soc@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, Russell King,
	Krzysztof Kozlowski, Vasily Khoruzhick, Kukjin Kim,
	james qian wang (Arm Technology China),
	Thierry Reding <treding>

Hi all,

This series adds device links support to drm_bridge. The motivation
behind it is that a drm_bridge in a module could get removed under the
feet of the bridge user without warning, so we need a way to remove and
reprobe the client as needed to avoid peering into the void.

1: Add a drm_bridge_init() function which wraps all initialisation of
the structure prior to calling drm_bridge_add().

2-26,28: Apply the drm_bridge_init() refactor to every bridge that uses
drm_bridge_add().

27: Minor cleanup in rcar-du.

29: Add of_drm_find_bridge_devlink() which functions the same as
of_drm_find_bridge() plus adds a device device link from the owning
drm_device to the bridge device.

30: As a motivating example, convert komeda to exclusively use
drm_bridge for its pipe outputs; this isn't a regression in usability
any more since device links bring the same automatic remove/reprobe
feature as components.

Mihail Atanassov (29):
  drm: Introduce drm_bridge_init()
  drm/bridge: adv7511: Use drm_bridge_init()
  drm/bridge: anx6345: Use drm_bridge_init()
  drm/bridge: anx78xx: Use drm_bridge_init()
  drm/bridge: cdns: Use drm_bridge_init()
  drm/bridge: dumb-vga-dac: Use drm_bridge_init()
  drm/bridge: lvds-encoder: Use drm_bridge_init()
  drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: Use drm_bridge_init()
  drm/bridge: nxp-ptn3460: Use drm_bridge_init()
  drm/bridge: panel: Use drm_bridge_init()
  drm/bridge: ps8622: Use drm_bridge_init()
  drm/bridge: sii902x: Use drm_bridge_init()
  gpu: drm: bridge: sii9234: Use drm_bridge_init()
  drm/bridge: sil_sii8620: Use drm_bridge_init()
  drm/bridge: dw-hdmi: Use drm_bridge_init()
  drm/bridge/synopsys: dsi: Use drm_bridge_init()
  drm/bridge: tc358764: Use drm_bridge_init()
  drm/bridge: tc358767: Use drm_bridge_init()
  drm/bridge: thc63: Use drm_bridge_init()
  drm/bridge: ti-sn65dsi86: Use drm_bridge_init()
  drm/bridge: ti-tfp410: Use drm_bridge_init()
  drm/exynos: mic: Use drm_bridge_init()
  drm/i2c: tda998x: Use drm_bridge_init()
  drm/mcde: dsi: Use drm_bridge_init()
  drm/mediatek: hdmi: Use drm_bridge_init()
  drm: rcar-du: lvds: Use drm_bridge_init()
  drm: rcar-du: lvds: Don't set drm_bridge private pointer
  drm/sti: sti_vdo: Use drm_bridge_init()
  drm/komeda: Use drm_bridge interface for pipe outputs

Russell King (1):
  drm/bridge: add support for device links to bridge

 .../gpu/drm/arm/display/komeda/komeda_drv.c   | 54 ++++++-------
 .../gpu/drm/arm/display/komeda/komeda_kms.c   | 77 ++++++++++++++++--
 .../gpu/drm/arm/display/komeda/komeda_kms.h   |  2 +
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |  5 +-
 .../drm/bridge/analogix/analogix-anx6345.c    |  5 +-
 .../drm/bridge/analogix/analogix-anx78xx.c    |  8 +-
 drivers/gpu/drm/bridge/cdns-dsi.c             |  4 +-
 drivers/gpu/drm/bridge/dumb-vga-dac.c         |  6 +-
 drivers/gpu/drm/bridge/lvds-encoder.c         |  7 +-
 .../bridge/megachips-stdpxxxx-ge-b850v3-fw.c  |  4 +-
 drivers/gpu/drm/bridge/nxp-ptn3460.c          |  4 +-
 drivers/gpu/drm/bridge/panel.c                |  7 +-
 drivers/gpu/drm/bridge/parade-ps8622.c        |  3 +-
 drivers/gpu/drm/bridge/sii902x.c              |  5 +-
 drivers/gpu/drm/bridge/sii9234.c              |  3 +-
 drivers/gpu/drm/bridge/sil-sii8620.c          |  3 +-
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  7 +-
 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  7 +-
 drivers/gpu/drm/bridge/tc358764.c             |  4 +-
 drivers/gpu/drm/bridge/tc358767.c             |  3 +-
 drivers/gpu/drm/bridge/thc63lvd1024.c         |  7 +-
 drivers/gpu/drm/bridge/ti-sn65dsi86.c         |  5 +-
 drivers/gpu/drm/bridge/ti-tfp410.c            |  5 +-
 drivers/gpu/drm/drm_bridge.c                  | 78 +++++++++++++++----
 drivers/gpu/drm/exynos/exynos_drm_mic.c       |  8 +-
 drivers/gpu/drm/i2c/tda998x_drv.c             |  6 +-
 drivers/gpu/drm/mcde/mcde_dsi.c               |  3 +-
 drivers/gpu/drm/mediatek/mtk_hdmi.c           |  4 +-
 drivers/gpu/drm/rcar-du/rcar_lvds.c           |  5 +-
 drivers/gpu/drm/sti/sti_dvo.c                 |  4 +-
 include/drm/drm_bridge.h                      |  8 ++
 31 files changed, 217 insertions(+), 134 deletions(-)

-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 77+ messages in thread

end of thread, other threads:[~2019-12-03  6:12 UTC | newest]

Thread overview: 77+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-26 13:15 [PATCH 00/30] drm/bridge: Add device links for lifetime control Mihail Atanassov
2019-11-26 13:15 ` Mihail Atanassov
2019-11-26 13:15 ` [PATCH 01/30] drm: Introduce drm_bridge_init() Mihail Atanassov
2019-11-26 13:15   ` Mihail Atanassov
2019-11-26 14:26   ` Daniel Vetter
2019-11-26 14:26     ` Daniel Vetter
2019-11-26 15:55     ` Mihail Atanassov
2019-11-26 15:55       ` Mihail Atanassov
2019-11-26 17:04       ` Daniel Vetter
2019-11-26 17:04         ` Daniel Vetter
2019-11-26 19:24       ` Sam Ravnborg
2019-11-27 11:05         ` Mihail Atanassov
2019-11-27 11:05           ` Mihail Atanassov
2019-11-27 11:31           ` Daniel Vetter
2019-12-02  5:55   ` [01/30] " james qian wang (Arm Technology China)
2019-12-02  8:49     ` Daniel Vetter
2019-12-03  6:12       ` james qian wang (Arm Technology China)
2019-12-03  6:12         ` james qian wang (Arm Technology China)
2019-11-26 13:16 ` [PATCH 02/30] drm/bridge: adv7511: Use drm_bridge_init() Mihail Atanassov
2019-11-26 13:16 ` [PATCH 03/30] drm/bridge: anx6345: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 04/30] drm/bridge: anx78xx: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 05/30] drm/bridge: cdns: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 06/30] drm/bridge: dumb-vga-dac: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 07/30] drm/bridge: lvds-encoder: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 08/30] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 09/30] drm/bridge: nxp-ptn3460: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 10/30] drm/bridge: panel: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 11/30] drm/bridge: ps8622: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 12/30] drm/bridge: sii902x: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 13/30] gpu: drm: bridge: sii9234: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 14/30] drm/bridge: sil_sii8620: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 15/30] drm/bridge: dw-hdmi: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 17/30] drm/bridge: tc358764: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 16/30] drm/bridge/synopsys: dsi: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 18/30] drm/bridge: tc358767: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 19/30] drm/bridge: thc63: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 20/30] drm/bridge: ti-sn65dsi86: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 21/30] drm/bridge: ti-tfp410: " Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 22/30] drm/exynos: mic: " Mihail Atanassov
2019-12-03  4:54   ` Inki Dae
2019-11-26 13:16 ` [PATCH 23/30] drm/i2c: tda998x: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 24/30] drm/mcde: dsi: " Mihail Atanassov
2019-11-28  9:08   ` Linus Walleij
2019-11-26 13:16 ` [PATCH 25/30] drm/mediatek: hdmi: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 26/30] drm: rcar-du: lvds: " Mihail Atanassov
2019-11-26 13:16 ` [PATCH 27/30] drm: rcar-du: lvds: Don't set drm_bridge private pointer Mihail Atanassov
2019-11-26 13:16 ` [PATCH 29/30] drm/bridge: add support for device links to bridge Mihail Atanassov
2019-11-26 14:35   ` Daniel Vetter
2019-11-26 14:35     ` Daniel Vetter
2019-11-26 15:55     ` Mihail Atanassov
2019-11-28 15:33     ` Mihail Atanassov
2019-11-26 13:16 ` [PATCH 28/30] drm/sti: sti_vdo: Use drm_bridge_init() Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 19:37   ` Sam Ravnborg
2019-11-26 19:37     ` Sam Ravnborg
2019-11-27 11:02     ` Mihail Atanassov
2019-11-27 16:19       ` Sam Ravnborg
2019-11-27 16:19         ` Sam Ravnborg
2019-11-27 16:30         ` Benjamin Gaignard
2019-11-27 16:30           ` Benjamin Gaignard
2019-11-26 13:16 ` [PATCH 30/30] drm/komeda: Use drm_bridge interface for pipe outputs Mihail Atanassov
2019-11-26 13:16   ` Mihail Atanassov
2019-11-26 15:27 ` [PATCH 00/30] drm/bridge: Add device links for lifetime control Russell King - ARM Linux admin
2019-11-26 15:27   ` Russell King - ARM Linux admin
2019-11-26 15:55   ` Mihail Atanassov
2019-11-26 15:55     ` Mihail Atanassov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox