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
