Hi Luca,

On 1/4/2026 10:51 AM, Damon Ding wrote:
Hi Luca,

On 12/31/2025 7:11 PM, Luca Ceresoli wrote:
Hello Damon,

On Wed Dec 17, 2025 at 10:33 AM CET, Damon Ding wrote:
In order to move the panel/bridge parsing and attachmenet to the
Analogix side, add component struct drm_bridge *next_bridge to
platform data struct analogix_dp_plat_data.

The movement makes sense because the panel/bridge should logically
be positioned behind the Analogix bridge in the display pipeline.

Signed-off-by: Damon Ding <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Tested-by: Marek Szyprowski <[email protected]>

---

Changes in v4:
- Rename the &analogix_dp_plat_data.bridge to
   &analogix_dp_plat_data.next_bridge
---
  include/drm/bridge/analogix_dp.h | 1 +
  1 file changed, 1 insertion(+)

diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/ analogix_dp.h
index cf17646c1310..582357c20640 100644
--- a/include/drm/bridge/analogix_dp.h
+++ b/include/drm/bridge/analogix_dp.h
@@ -27,6 +27,7 @@ static inline bool is_rockchip(enum analogix_dp_devtype type)
  struct analogix_dp_plat_data {
      enum analogix_dp_devtype dev_type;
      struct drm_panel *panel;
+    struct drm_bridge *next_bridge;
      struct drm_encoder *encoder;
      struct drm_connector *connector;
      bool skip_connector;

It took a while to understand why you are adding the next_bridge pointer in struct analogix_dp_plat_data instead of struct analogix_dp_device, where it would be more natural. I found an answer in patch 16: with current code you
need to place next_bridge in struct analogix_dp_plat_data because it is
used by user drivers to attach, and those drivers have no access to struct analogix_dp_device. However patch 16 (which looks a very good cleanup BTW)
next_bridge can be moved to struct analogix_dp_device.

So I'd suggest to move patch 16 before this one if it easily doable, so
that you can introduce next_bridge in struct analogix_dp_device from the
beginning. Should that be impossible, you can send a separate patch to move
next_bridge, after patch 16.



Thanks for your nice suggestion! After patch 16, bridge attachment is unified to the Analogix side, which acts as a common bridge driver for both the Rockchip and Exynos sides, so moving next_bridge there makes perfect sense. I will add a separate patch to move next_bridge in v9.



My apologies for reversing the plan to move next_bridge to the Analogix side in v9 -- I only considered the Rockchip side before.

When I tried modifying the code based on your suggestion, I found it better to keep &analogix_plat_data.next_bridge as is. This is because the Exynos side needs to maintain compatibility with the legacy method of parsing panels and bridges, so the next bridge isn't always parsed by the common Analogix side driver.

This patch series has been pending for ages, and I'm even a bit fuzzy on the details myself. ;-)

Best regards,
Damon

Reply via email to