Message ID | 20191126131541.47393-1-mihail.atanassov@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/bridge: Add device links for lifetime control | expand |
What happened with the patches I posted doing exactly this? On Tue, Nov 26, 2019 at 01:15:58PM +0000, Mihail Atanassov wrote: > 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 > >
On Tuesday, 26 November 2019 15:27:16 GMT Russell King - ARM Linux admin wrote: > What happened with the patches I posted doing exactly this? Hi Russell, > > [snip] > > > > Russell King (1): > > drm/bridge: add support for device links to bridge ^^^ Do you mean this one? It's 29/30 in the series, you're Cc'd on it. I've kept the non-trivial part identical to https://patchwork.freedesktop.org/patch/337181/ , which is the only recent patch of yours that I'm aware of on the topic. I've preserved the authorship. > > > > .../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(-) > > > >