[PATCH v3 0/2] Pass down connector to drm bridge detect hook

Andy Yan posted 2 patches 3 months ago
drivers/gpu/drm/bridge/adv7511/adv7511.h      | 16 +++----
.../gpu/drm/bridge/adv7511/adv7511_audio.c    | 12 +++---
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c  |  4 +-
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |  3 +-
drivers/gpu/drm/bridge/analogix/anx7625.c     |  2 +-
.../drm/bridge/cadence/cdns-mhdp8546-core.c   |  3 +-
drivers/gpu/drm/bridge/chrontel-ch7033.c      |  2 +-
drivers/gpu/drm/bridge/display-connector.c    | 11 +++--
drivers/gpu/drm/bridge/ite-it6263.c           |  3 +-
drivers/gpu/drm/bridge/ite-it6505.c           |  2 +-
drivers/gpu/drm/bridge/ite-it66121.c          |  3 +-
drivers/gpu/drm/bridge/lontium-lt8912b.c      |  6 +--
drivers/gpu/drm/bridge/lontium-lt9611.c       | 15 +++----
drivers/gpu/drm/bridge/lontium-lt9611uxc.c    |  3 +-
.../bridge/megachips-stdpxxxx-ge-b850v3-fw.c  |  3 +-
drivers/gpu/drm/bridge/sii902x.c              |  3 +-
drivers/gpu/drm/bridge/simple-bridge.c        |  2 +-
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c  | 14 +++----
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  3 +-
drivers/gpu/drm/bridge/tc358767.c             |  5 ++-
drivers/gpu/drm/bridge/ti-sn65dsi86.c         |  3 +-
drivers/gpu/drm/bridge/ti-tfp410.c            |  2 +-
drivers/gpu/drm/bridge/ti-tpd12s015.c         |  8 +++-
.../gpu/drm/display/drm_bridge_connector.c    | 20 ++++-----
drivers/gpu/drm/drm_bridge.c                  |  5 ++-
drivers/gpu/drm/mediatek/mtk_dp.c             |  3 +-
drivers/gpu/drm/mediatek/mtk_hdmi.c           |  3 +-
drivers/gpu/drm/msm/dp/dp_audio.c             |  8 ++--
drivers/gpu/drm/msm/dp/dp_audio.h             |  8 ++--
drivers/gpu/drm/msm/dp/dp_drm.c               |  3 +-
drivers/gpu/drm/msm/hdmi/hdmi.h               | 10 ++---
drivers/gpu/drm/msm/hdmi/hdmi_audio.c         |  8 ++--
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c        |  2 +-
drivers/gpu/drm/msm/hdmi/hdmi_hpd.c           |  4 +-
drivers/gpu/drm/rockchip/rk3066_hdmi.c        |  2 +-
drivers/gpu/drm/xlnx/zynqmp_dp.c              |  3 +-
include/drm/drm_bridge.h                      | 42 ++++++++++---------
37 files changed, 139 insertions(+), 110 deletions(-)
[PATCH v3 0/2] Pass down connector to drm bridge detect hook
Posted by Andy Yan 3 months ago
In some application scenarios, we hope to get the corresponding
connector when the bridge's detect hook is invoked.

For example, we may want to call drm_dp_read_sink_count_cap(which needs
a drm_connector) at the dp deteck hook, intel_dp and nouveau_dp do this
at it's connector's detetc_ctx/detect hook.

But for a bridge driver, it's detect hook is initiated by the connector,
there is no connector passed down.

In most cases, we can get the connector by
drm_atomic_get_connector_for_encoder
if the encoder attached to the bridge is enabled, however there will
still be some scenarios where the detect hook of the bridge is called
but the corresponding encoder has not been enabled yet. For instance,
this occurs when the device is hot plug in for the first time.

Since the call to bridge's detect is initiated by the connector, passing
down the corresponding connector directly will make things simpler.

Before preparing this patch, we have had some discussions on the details
here[0].

PATCH1 adjust the dp/hdmi_audio_* callback parameters order, make it
maintain the same parameter order as get_modes and edid_read.
PATCH2 add connector to detect hook.

[0]https://patchwork.freedesktop.org/patch/640712/?series=143573&rev=5

Changes in v3:
- Remove redundant SoB

Changes in v2:
- Make dp/hdmi_audio_* callback keep the same par get_modes

Andy Yan (2):
  drm/bridge: Make dp/hdmi_audio_* callback keep the same paramter order
    with get_modes
  drm/bridge: Pass down connector to drm bridge detect hook

 drivers/gpu/drm/bridge/adv7511/adv7511.h      | 16 +++----
 .../gpu/drm/bridge/adv7511/adv7511_audio.c    | 12 +++---
 drivers/gpu/drm/bridge/adv7511/adv7511_cec.c  |  4 +-
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |  3 +-
 drivers/gpu/drm/bridge/analogix/anx7625.c     |  2 +-
 .../drm/bridge/cadence/cdns-mhdp8546-core.c   |  3 +-
 drivers/gpu/drm/bridge/chrontel-ch7033.c      |  2 +-
 drivers/gpu/drm/bridge/display-connector.c    | 11 +++--
 drivers/gpu/drm/bridge/ite-it6263.c           |  3 +-
 drivers/gpu/drm/bridge/ite-it6505.c           |  2 +-
 drivers/gpu/drm/bridge/ite-it66121.c          |  3 +-
 drivers/gpu/drm/bridge/lontium-lt8912b.c      |  6 +--
 drivers/gpu/drm/bridge/lontium-lt9611.c       | 15 +++----
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c    |  3 +-
 .../bridge/megachips-stdpxxxx-ge-b850v3-fw.c  |  3 +-
 drivers/gpu/drm/bridge/sii902x.c              |  3 +-
 drivers/gpu/drm/bridge/simple-bridge.c        |  2 +-
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c  | 14 +++----
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  3 +-
 drivers/gpu/drm/bridge/tc358767.c             |  5 ++-
 drivers/gpu/drm/bridge/ti-sn65dsi86.c         |  3 +-
 drivers/gpu/drm/bridge/ti-tfp410.c            |  2 +-
 drivers/gpu/drm/bridge/ti-tpd12s015.c         |  8 +++-
 .../gpu/drm/display/drm_bridge_connector.c    | 20 ++++-----
 drivers/gpu/drm/drm_bridge.c                  |  5 ++-
 drivers/gpu/drm/mediatek/mtk_dp.c             |  3 +-
 drivers/gpu/drm/mediatek/mtk_hdmi.c           |  3 +-
 drivers/gpu/drm/msm/dp/dp_audio.c             |  8 ++--
 drivers/gpu/drm/msm/dp/dp_audio.h             |  8 ++--
 drivers/gpu/drm/msm/dp/dp_drm.c               |  3 +-
 drivers/gpu/drm/msm/hdmi/hdmi.h               | 10 ++---
 drivers/gpu/drm/msm/hdmi/hdmi_audio.c         |  8 ++--
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c        |  2 +-
 drivers/gpu/drm/msm/hdmi/hdmi_hpd.c           |  4 +-
 drivers/gpu/drm/rockchip/rk3066_hdmi.c        |  2 +-
 drivers/gpu/drm/xlnx/zynqmp_dp.c              |  3 +-
 include/drm/drm_bridge.h                      | 42 ++++++++++---------
 37 files changed, 139 insertions(+), 110 deletions(-)

-- 
2.43.0

base-commit: 56e5375b23f342dfa3179395aacc1b47395fddf7
branch: drm-misc-next
Re: [PATCH v3 0/2] Pass down connector to drm bridge detect hook
Posted by Dmitry Baryshkov 2 months, 3 weeks ago
On Thu, 03 Jul 2025 20:49:51 +0800, Andy Yan wrote:
> In some application scenarios, we hope to get the corresponding
> connector when the bridge's detect hook is invoked.
> 
> For example, we may want to call drm_dp_read_sink_count_cap(which needs
> a drm_connector) at the dp deteck hook, intel_dp and nouveau_dp do this
> at it's connector's detetc_ctx/detect hook.
> 
> [...]

Applied to drm-misc-next, thanks!

[1/2] drm/bridge: Make dp/hdmi_audio_* callback keep the same paramter order with get_modes
      commit: 02bb63d1a59341032b8e7e4021e18d044bdb1786
[2/2] drm/bridge: Pass down connector to drm bridge detect hook
      commit: 5d156a9c3d5ea3dbec192121259dee2c2f938fa1

I fixed the building of cdn-dp driver while applying.

Best regards,
-- 
With best wishes
Dmitry
Re:[PATCH v3 0/2] Pass down connector to drm bridge detect hook
Posted by Andy Yan 2 months, 3 weeks ago
Hello Dmitry,


At 2025-07-03 20:49:51, "Andy Yan" <andyshrk@163.com> wrote:
>
>In some application scenarios, we hope to get the corresponding
>connector when the bridge's detect hook is invoked.
>
>For example, we may want to call drm_dp_read_sink_count_cap(which needs
>a drm_connector) at the dp deteck hook, intel_dp and nouveau_dp do this
>at it's connector's detetc_ctx/detect hook.
>
>But for a bridge driver, it's detect hook is initiated by the connector,
>there is no connector passed down.
>
>In most cases, we can get the connector by
>drm_atomic_get_connector_for_encoder
>if the encoder attached to the bridge is enabled, however there will
>still be some scenarios where the detect hook of the bridge is called
>but the corresponding encoder has not been enabled yet. For instance,
>this occurs when the device is hot plug in for the first time.
>
>Since the call to bridge's detect is initiated by the connector, passing
>down the corresponding connector directly will make things simpler.
>
>Before preparing this patch, we have had some discussions on the details
>here[0].
>
>PATCH1 adjust the dp/hdmi_audio_* callback parameters order, make it
>maintain the same parameter order as get_modes and edid_read.
>PATCH2 add connector to detect hook.
>
>[0]https://patchwork.freedesktop.org/patch/640712/?series=143573&rev=5


Could you please take this series of patches?
I hope after the patches are merged, I will be able to update a new version of the DP driver based on this.
Moreover, I'm worried that if this wait too long, there might be conflicts with other new bridge drivers.

>
>Changes in v3:
>- Remove redundant SoB
>
>Changes in v2:
>- Make dp/hdmi_audio_* callback keep the same par get_modes
>
>Andy Yan (2):
>  drm/bridge: Make dp/hdmi_audio_* callback keep the same paramter order
>    with get_modes
>  drm/bridge: Pass down connector to drm bridge detect hook
>
> drivers/gpu/drm/bridge/adv7511/adv7511.h      | 16 +++----
> .../gpu/drm/bridge/adv7511/adv7511_audio.c    | 12 +++---
> drivers/gpu/drm/bridge/adv7511/adv7511_cec.c  |  4 +-
> drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |  3 +-
> drivers/gpu/drm/bridge/analogix/anx7625.c     |  2 +-
> .../drm/bridge/cadence/cdns-mhdp8546-core.c   |  3 +-
> drivers/gpu/drm/bridge/chrontel-ch7033.c      |  2 +-
> drivers/gpu/drm/bridge/display-connector.c    | 11 +++--
> drivers/gpu/drm/bridge/ite-it6263.c           |  3 +-
> drivers/gpu/drm/bridge/ite-it6505.c           |  2 +-
> drivers/gpu/drm/bridge/ite-it66121.c          |  3 +-
> drivers/gpu/drm/bridge/lontium-lt8912b.c      |  6 +--
> drivers/gpu/drm/bridge/lontium-lt9611.c       | 15 +++----
> drivers/gpu/drm/bridge/lontium-lt9611uxc.c    |  3 +-
> .../bridge/megachips-stdpxxxx-ge-b850v3-fw.c  |  3 +-
> drivers/gpu/drm/bridge/sii902x.c              |  3 +-
> drivers/gpu/drm/bridge/simple-bridge.c        |  2 +-
> drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c  | 14 +++----
> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c     |  3 +-
> drivers/gpu/drm/bridge/tc358767.c             |  5 ++-
> drivers/gpu/drm/bridge/ti-sn65dsi86.c         |  3 +-
> drivers/gpu/drm/bridge/ti-tfp410.c            |  2 +-
> drivers/gpu/drm/bridge/ti-tpd12s015.c         |  8 +++-
> .../gpu/drm/display/drm_bridge_connector.c    | 20 ++++-----
> drivers/gpu/drm/drm_bridge.c                  |  5 ++-
> drivers/gpu/drm/mediatek/mtk_dp.c             |  3 +-
> drivers/gpu/drm/mediatek/mtk_hdmi.c           |  3 +-
> drivers/gpu/drm/msm/dp/dp_audio.c             |  8 ++--
> drivers/gpu/drm/msm/dp/dp_audio.h             |  8 ++--
> drivers/gpu/drm/msm/dp/dp_drm.c               |  3 +-
> drivers/gpu/drm/msm/hdmi/hdmi.h               | 10 ++---
> drivers/gpu/drm/msm/hdmi/hdmi_audio.c         |  8 ++--
> drivers/gpu/drm/msm/hdmi/hdmi_bridge.c        |  2 +-
> drivers/gpu/drm/msm/hdmi/hdmi_hpd.c           |  4 +-
> drivers/gpu/drm/rockchip/rk3066_hdmi.c        |  2 +-
> drivers/gpu/drm/xlnx/zynqmp_dp.c              |  3 +-
> include/drm/drm_bridge.h                      | 42 ++++++++++---------
> 37 files changed, 139 insertions(+), 110 deletions(-)
>
>-- 
>2.43.0
>
>base-commit: 56e5375b23f342dfa3179395aacc1b47395fddf7
>branch: drm-misc-next