]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amd/display: add vbios table check for enabling dp ss
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Wed, 18 Jul 2018 19:25:34 +0000 (15:25 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 6 Aug 2018 20:56:54 +0000 (15:56 -0500)
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Eric Bernstein <Eric.Bernstein@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
drivers/gpu/drm/amd/display/dc/dc_link.h
drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h

index 9a6448e2089c5438719a76c24bfe2e724cbc065e..016587675da4c77b092a0781340a0e91389444dd 100644 (file)
@@ -1038,6 +1038,7 @@ static bool construct(
        link->link_index = init_params->link_index;
 
        link->link_id = bios->funcs->get_connector_id(bios, init_params->connector_index);
+       link->dp_ss_off = !!dc_ctx->dc_bios->integrated_info->dp_ss_control;;
 
        if (link->link_id.type != OBJECT_TYPE_CONNECTOR) {
                dm_error("%s: Invalid Connector ObjectID from Adapter Service for connector index:%d! type %d expected %d\n",
index 160841da72a752b815d4b0d35070f07e6629e0bd..a7553b6d59c28d49a60e6adbdd0925fbd6ca13c9 100644 (file)
@@ -953,7 +953,10 @@ enum link_training_result dc_link_dp_perform_link_training(
         * LINK_SPREAD_05_DOWNSPREAD_30KHZ :
         * LINK_SPREAD_DISABLED;
         */
-       lt_settings.link_settings.link_spread = LINK_SPREAD_05_DOWNSPREAD_30KHZ;
+       if (link->dp_ss_off)
+               lt_settings.link_settings.link_spread = LINK_SPREAD_DISABLED;
+       else
+               lt_settings.link_settings.link_spread = LINK_SPREAD_05_DOWNSPREAD_30KHZ;
 
        /* 1. set link rate, lane count and spread*/
        dpcd_set_link_settings(link, &lt_settings);
index 22f4ddd219d1d5d7dfbf976ff3f83f021fd9560f..d43cefbc43d3b195c40ad6f6829eadeaeb96daee 100644 (file)
@@ -73,6 +73,7 @@ struct dc_link {
        enum dc_irq_source irq_source_hpd;
        enum dc_irq_source irq_source_hpd_rx;/* aka DP Short Pulse  */
        bool is_hpd_filter_disabled;
+       bool dp_ss_off;
 
        /* caps is the same as reported_link_cap. link_traing use
         * reported_link_cap. Will clean up.  TODO
index 36bbad5942674bcda382624f2d13b2fe3f6b304e..f312834fef505b6f0081e5b011a06f942a9b3b76 100644 (file)
@@ -395,6 +395,8 @@ struct integrated_info {
        struct i2c_reg_info dp3_ext_hdmi_reg_settings[9];
        unsigned char dp3_ext_hdmi_6g_reg_num;
        struct i2c_reg_info dp3_ext_hdmi_6g_reg_settings[3];
+       /* V11 */
+       uint32_t dp_ss_control;
 };
 
 /**