drm/msm/dp: support attaching bridges to the DP encoder
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 11 Feb 2022 22:40:03 +0000 (01:40 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sat, 19 Feb 2022 02:31:12 +0000 (05:31 +0300)
commit9aa924688095e55a727f11228d73ce8df01d2a40
tree2be9be469ebb5c51fd34e8b1e8f418a451d3016a
parent4d793a02c4967ab14d4ae5e86a51ee02ed78921a
drm/msm/dp: support attaching bridges to the DP encoder

Currently DP driver will allocate panel bridge for eDP panels. This
supports only the following topology:

- eDP encoder ⇒ eDP panel (wrapped using panel-bridge)

Simplify this code to just check if there is any next bridge in the
chain (be it a panel bridge or regular bridge). Rename panel_bridge
field to next_bridge accordingly.

This allows one to use e.g. one of the following display topologies:

- eDP encoder ⇒ ptn3460 ⇒ fixed LVDS panel
- eDP encoder ⇒ ptn3460 ⇒ LVDS connector with EDID lines for panel autodetect
- eDP encoder ⇒ ptn3460 ⇒ THC63LVD1024 ⇒ DPI panel.
- eDP encoder ⇒ LT8912 ⇒ DSI panel

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20220211224006.1797846-3-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/dp/dp_display.c
drivers/gpu/drm/msm/dp/dp_display.h
drivers/gpu/drm/msm/dp/dp_drm.c
drivers/gpu/drm/msm/dp/dp_parser.c
drivers/gpu/drm/msm/dp/dp_parser.h