From: Hansen Dsouza <hansen.dso...@amd.com>

[Why & How]
Read if panel support multi-sst links

Reviewed-by: Charlene Liu <charlene....@amd.com>
Signed-off-by: Hansen Dsouza <hansen.dso...@amd.com>
Signed-off-by: Wayne Lin <wayne....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dc_dp_types.h          |  2 ++
 .../display/dc/link/protocols/link_dp_capability.c    | 11 +++++++++++
 2 files changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_dp_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
index 8bb628ab7855..22c2173c687f 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
@@ -1220,6 +1220,8 @@ struct dpcd_caps {
        struct replay_info pr_info;
        uint16_t edp_oled_emission_rate;
        union dp_receive_port0_cap receive_port0_cap;
+       /* Indicates the number of SST links supported by MSO (Multi-Stream 
Output) */
+       uint8_t mso_cap_sst_links_supported;
 };
 
 union dpcd_sink_ext_caps {
diff --git a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c 
b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c
index 0785c030f6a6..da19f6a3b42b 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c
@@ -2100,6 +2100,17 @@ void detect_edp_sink_caps(struct dc_link *link)
                core_link_read_dpcd(link, DP_SINK_EMISSION_RATE,
                                (uint8_t 
*)&link->dpcd_caps.edp_oled_emission_rate,
                                sizeof(link->dpcd_caps.edp_oled_emission_rate));
+
+       /*
+        * Read Multi-SST (Single Stream Transport) capability
+        * for eDP version 1.4 or higher.
+        */
+       if (link->dpcd_caps.dpcd_rev.raw >= DP_EDP_14)
+               core_link_read_dpcd(
+                       link,
+                       DP_EDP_MSO_LINK_CAPABILITIES,
+                       (uint8_t *)&link->dpcd_caps.mso_cap_sst_links_supported,
+                       sizeof(link->dpcd_caps.mso_cap_sst_links_supported));
 }
 
 bool dp_get_max_link_enc_cap(const struct dc_link *link, struct 
dc_link_settings *max_link_enc_cap)
-- 
2.37.3

Reply via email to