drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 53 ++++++++++++------------- 1 file changed, 25 insertions(+), 28 deletions(-)
This v4 contains the leftovers of the v3 series that deprecated
of_drm_find_bridge(), added a replacement which handles bridge refcounting,
and converted some of the direct users. All patches have been applied
except the imx8qxp-pixel-link ones, which still need a review for the first
patch.
@Liu, patch 1 is waiting for a review and it's non-trivial, it would be
nice if you could have a look at that one at least.
This is part of the work to support hotplug of DRM bridges. The grand plan
was discussed in [0].
Here's the work breakdown (➜ marks the current series):
1. ➜ add refcounting to DRM bridges struct drm_bridge,
based on devm_drm_bridge_alloc()
A. ✔ add new alloc API and refcounting (v6.16)
B. ✔ convert all bridge drivers to new API (v6.17)
C. ✔ kunit tests (v6.17)
D. ✔ add get/put to drm_bridge_add/remove() + attach/detach()
and warn on old allocation pattern (v6.17)
E. ➜ add get/put on drm_bridge accessors
1. ✔ drm_bridge_chain_get_first_bridge(), add cleanup action (v6.18)
2. ✔ drm_bridge_get_prev_bridge() (v6.18)
3. ✔ drm_bridge_get_next_bridge() (v6.19)
4. ✔ drm_for_each_bridge_in_chain() (v6.19)
5. ✔ drm_bridge_connector_init (v6.19)
6. … protect encoder bridge chain with a mutex
7. ➜ of_drm_find_bridge()
a. ➜✔… add of_drm_get_bridge(), convert basic direct users
(v6.20?, one driver still pending)
b. convert other direct users
c. convert bridge-only drm_of_find_panel_or_bridge() users
8. drm_of_find_panel_or_bridge, *_of_get_bridge
9. ✔ enforce drm_bridge_add before drm_bridge_attach (v6.19)
F. ✔ debugfs improvements
1. ✔ add top-level 'bridges' file (v6.16)
2. ✔ show refcount and list lingering bridges (v6.19)
2. … handle gracefully atomic updates during bridge removal
A. ✔ Add drm_dev_enter/exit() to protect device resources (v6.20?)
B. … protect private_obj removal from list
3. … DSI host-device driver interaction
4. ✔ removing the need for the "always-disconnected" connector
5. finish the hotplug bridge work, moving code to the core and potentially
removing the hotplug-bridge itself (this needs to be clarified as
points 1-3 are developed)
[0] https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-0-9d6f2c9c3058@bootlin.com/#t
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changes in v4:
- Added review trailers
- Link to v3: https://lore.kernel.org/r/20251216-drm-bridge-alloc-getput-drm_of_find_bridge-v3-0-b5165fab8058@bootlin.com
Changes in v3:
- Completely rewrote using the __drm_bridge_free() idea to prevent
use-after-free of the next_bridge for the common cases
- Added needed cleanups to the imx8qxp-pixel-link and imx8qxp-pxl2dpi
drivers
- Removed various patches converting simple cases, to reduce the number of
e-mails sent; will be moved to the follow-up series
- Link to v2: https://lore.kernel.org/r/20251128-drm-bridge-alloc-getput-drm_of_find_bridge-v2-0-88f8a107eca2@bootlin.com
Changes in v2:
- All patches: renamed drm_of_find_bridge() -> of_drm_get_bridge()
- Various fixes and improvements to patches 1-6, see individual patches
changelog
- Removed bouncing recipient: Edmund Dea <edmund.j.dea@intel.com>
- Link to v1: https://lore.kernel.org/r/20251119-drm-bridge-alloc-getput-drm_of_find_bridge-v1-0-0db98a7fe474@bootlin.com
---
Luca Ceresoli (4):
drm/bridge: imx8qxp-pixel-link: simplify logic to find next bridge
drm/bridge: imx8qxp-pixel-link: simplify freeing of the remote device_node
drm/bridge: imx8qxp-pixel-link: imx8qxp_pixel_link_find_next_bridge: return int, not ERR_PTR
drm/bridge: imx8qxp-pixel-link: get/put the next bridge
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 53 ++++++++++++-------------
1 file changed, 25 insertions(+), 28 deletions(-)
---
base-commit: f12ad2e5233a1a30b3bd6fe1e784b3544caa2383
change-id: 20251117-drm-bridge-alloc-getput-drm_of_find_bridge-74903367448d
Best regards,
--
Luca Ceresoli <luca.ceresoli@bootlin.com>
On 1/7/26 17:56, Luca Ceresoli wrote: > This v4 contains the leftovers of the v3 series that deprecated > of_drm_find_bridge(), added a replacement which handles bridge refcounting, > and converted some of the direct users. All patches have been applied > except the imx8qxp-pixel-link ones, which still need a review for the first > patch. > > @Liu, patch 1 is waiting for a review and it's non-trivial, it would be > nice if you could have a look at that one at least. Luca, I'v been too busy recently for tasks assigned by my employer to give an in-time review, sorry about that. I'll try to review this late next week if not sooner. > > This is part of the work to support hotplug of DRM bridges. The grand plan > was discussed in [0]. > > Here's the work breakdown (➜ marks the current series): > > 1. ➜ add refcounting to DRM bridges struct drm_bridge, > based on devm_drm_bridge_alloc() > A. ✔ add new alloc API and refcounting (v6.16) > B. ✔ convert all bridge drivers to new API (v6.17) > C. ✔ kunit tests (v6.17) > D. ✔ add get/put to drm_bridge_add/remove() + attach/detach() > and warn on old allocation pattern (v6.17) > E. ➜ add get/put on drm_bridge accessors > 1. ✔ drm_bridge_chain_get_first_bridge(), add cleanup action (v6.18) > 2. ✔ drm_bridge_get_prev_bridge() (v6.18) > 3. ✔ drm_bridge_get_next_bridge() (v6.19) > 4. ✔ drm_for_each_bridge_in_chain() (v6.19) > 5. ✔ drm_bridge_connector_init (v6.19) > 6. … protect encoder bridge chain with a mutex > 7. ➜ of_drm_find_bridge() > a. ➜✔… add of_drm_get_bridge(), convert basic direct users > (v6.20?, one driver still pending) > b. convert other direct users > c. convert bridge-only drm_of_find_panel_or_bridge() users > 8. drm_of_find_panel_or_bridge, *_of_get_bridge > 9. ✔ enforce drm_bridge_add before drm_bridge_attach (v6.19) > F. ✔ debugfs improvements > 1. ✔ add top-level 'bridges' file (v6.16) > 2. ✔ show refcount and list lingering bridges (v6.19) > 2. … handle gracefully atomic updates during bridge removal > A. ✔ Add drm_dev_enter/exit() to protect device resources (v6.20?) > B. … protect private_obj removal from list > 3. … DSI host-device driver interaction > 4. ✔ removing the need for the "always-disconnected" connector > 5. finish the hotplug bridge work, moving code to the core and potentially > removing the hotplug-bridge itself (this needs to be clarified as > points 1-3 are developed) > > [0] https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-0-9d6f2c9c3058@bootlin.com/#t > > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> > --- > Changes in v4: > - Added review trailers > - Link to v3: https://lore.kernel.org/r/20251216-drm-bridge-alloc-getput-drm_of_find_bridge-v3-0-b5165fab8058@bootlin.com > > Changes in v3: > - Completely rewrote using the __drm_bridge_free() idea to prevent > use-after-free of the next_bridge for the common cases > - Added needed cleanups to the imx8qxp-pixel-link and imx8qxp-pxl2dpi > drivers > - Removed various patches converting simple cases, to reduce the number of > e-mails sent; will be moved to the follow-up series > - Link to v2: https://lore.kernel.org/r/20251128-drm-bridge-alloc-getput-drm_of_find_bridge-v2-0-88f8a107eca2@bootlin.com > > Changes in v2: > - All patches: renamed drm_of_find_bridge() -> of_drm_get_bridge() > - Various fixes and improvements to patches 1-6, see individual patches > changelog > - Removed bouncing recipient: Edmund Dea <edmund.j.dea@intel.com> > - Link to v1: https://lore.kernel.org/r/20251119-drm-bridge-alloc-getput-drm_of_find_bridge-v1-0-0db98a7fe474@bootlin.com > > --- > Luca Ceresoli (4): > drm/bridge: imx8qxp-pixel-link: simplify logic to find next bridge > drm/bridge: imx8qxp-pixel-link: simplify freeing of the remote device_node > drm/bridge: imx8qxp-pixel-link: imx8qxp_pixel_link_find_next_bridge: return int, not ERR_PTR > drm/bridge: imx8qxp-pixel-link: get/put the next bridge > > drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 53 ++++++++++++------------- > 1 file changed, 25 insertions(+), 28 deletions(-) > --- > base-commit: f12ad2e5233a1a30b3bd6fe1e784b3544caa2383 > change-id: 20251117-drm-bridge-alloc-getput-drm_of_find_bridge-74903367448d > > Best regards, -- Regards, Liu Ying
Hello Liu, On Fri Jan 9, 2026 at 10:53 AM CET, Liu Ying wrote: > > > On 1/7/26 17:56, Luca Ceresoli wrote: >> This v4 contains the leftovers of the v3 series that deprecated >> of_drm_find_bridge(), added a replacement which handles bridge refcounting, >> and converted some of the direct users. All patches have been applied >> except the imx8qxp-pixel-link ones, which still need a review for the first >> patch. >> >> @Liu, patch 1 is waiting for a review and it's non-trivial, it would be >> nice if you could have a look at that one at least. > > Luca, I'v been too busy recently for tasks assigned by my employer to > give an in-time review, sorry about that. I'll try to review this late > next week if not sooner. That would be great, thanks! And I understand, aren't we all busy? :) I have resent as v4 just to ensure it's clear that these patches are not yet applied. My e-mail [0] might have suggested the opposite, due to my total noobness in using the b4 auto-thankanator, sorry if that was the case. Having patch 1 reviewed is the most important thing here. Other patches are already reviewed by Maxime, so your review would of course be very useful but not strictly necessary for this series to go forward. [0] https://lore.kernel.org/lkml/176708623356.127863.8623917477288453126.b4-ty@bootlin.com/ Best regards, Luca -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
On Wed, 07 Jan 2026 10:56:25 +0100, Luca Ceresoli wrote:
> This v4 contains the leftovers of the v3 series that deprecated
> of_drm_find_bridge(), added a replacement which handles bridge refcounting,
> and converted some of the direct users. All patches have been applied
> except the imx8qxp-pixel-link ones, which still need a review for the first
> patch.
>
> @Liu, patch 1 is waiting for a review and it's non-trivial, it would be
> nice if you could have a look at that one at least.
>
> [...]
Applied, thanks!
[1/4] drm/bridge: imx8qxp-pixel-link: simplify logic to find next bridge
commit: 96476ab8690290aa27084b12a481e48f3af7afb2
[2/4] drm/bridge: imx8qxp-pixel-link: simplify freeing of the remote device_node
commit: 42bb487369e56f8f07c82ac11fe771ba2b70cd68
[3/4] drm/bridge: imx8qxp-pixel-link: imx8qxp_pixel_link_find_next_bridge: return int, not ERR_PTR
commit: 4eda1d5fe99db2a71da0156387b7b69e8e0dc32f
Best regards,
--
Luca Ceresoli <luca.ceresoli@bootlin.com>
© 2016 - 2026 Red Hat, Inc.