[d-kernel] [PATCH 1/1] drm: rockchip: dwhdmiqp-rockchip: attach next bridge to the HDMI bridge
Daniil Gnusarev
gnusarevda на basealt.ru
Вт Июл 14 09:15:02 MSK 2026
For embedded systems, additional bridges may be connected after
the HDMI bridge being created. To ensure full functionality, they
must be added to the DRM bridge chain.
Signed-off-by: Daniil Gnusarev <gnusarevda на basealt.ru>
---
.../gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
index 409f1a1e82a061..9485d85a16f35c 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
@@ -430,6 +430,8 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
struct drm_connector *connector;
struct drm_encoder *encoder;
struct rockchip_hdmi_qp *hdmi;
+ struct drm_bridge *hdmi_bridge;
+ struct drm_bridge *next_bridge;
struct resource *res;
struct clk_bulk_data *clks;
int ret, irq, i;
@@ -441,6 +443,11 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
if (!hdmi)
return -ENOMEM;
+ next_bridge = NULL;
+ ret = drm_of_find_panel_or_bridge(pdev->dev.of_node, 1, 0, NULL, &next_bridge);
+ if (ret && ret != -ENODEV)
+ return ret;
+
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
return -ENODEV;
@@ -556,6 +563,21 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
return ret;
}
+ if (next_bridge) {
+ hdmi_bridge = drm_bridge_chain_get_last_bridge(encoder);
+ if (hdmi_bridge)
+ ret = drm_bridge_attach(encoder, next_bridge, hdmi_bridge,
+ DRM_BRIDGE_ATTACH_NO_CONNECTOR);
+ else
+ ret = -ENODEV;
+ if (hdmi_bridge)
+ drm_bridge_put(hdmi_bridge);
+ if (ret) {
+ dev_err(hdmi->dev, "failed to attach next bridge: %d\n", ret);
+ return ret;
+ }
+ }
+
connector = drm_bridge_connector_init(drm, encoder);
if (IS_ERR(connector)) {
ret = PTR_ERR(connector);
--
2.42.2
Подробная информация о списке рассылки devel-kernel