drm/amd/display: make dp_ss_off optional
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Tue, 7 Aug 2018 18:43:20 +0000 (14:43 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 21 Aug 2018 19:16:35 +0000 (14:16 -0500)
dp_ss_off flag doesn't need to be set, so we create a link_init
function if it is needed by an asic

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/inc/core_types.h

index 222ff7c1bf4f0a7c44ee9b6d2082d548c921d70e..567867915d32d84cb6bb68d3e4da33842de9b2e4 100644 (file)
@@ -1039,9 +1039,6 @@ static bool construct(
 
        link->link_id = bios->funcs->get_connector_id(bios, init_params->connector_index);
 
-       if (dc_ctx->dc_bios->integrated_info)
-               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",
                         __func__, init_params->connector_index,
@@ -1049,6 +1046,9 @@ static bool construct(
                goto create_fail;
        }
 
+       if (link->dc->res_pool->funcs->link_init)
+               link->dc->res_pool->funcs->link_init(link);
+
        hpd_gpio = get_hpd_gpio(link->ctx->dc_bios, link->link_id, link->ctx->gpio_service);
 
        if (hpd_gpio != NULL)
index 9f33306f9014f08139ef908ea677b33b0db3f367..d2d8b1820058bea665aa57b32e074aa2c027b4b7 100644 (file)
@@ -92,6 +92,7 @@ struct resource_context;
 
 struct resource_funcs {
        void (*destroy)(struct resource_pool **pool);
+       void (*link_init)(struct dc_link *link);
        struct link_encoder *(*link_enc_create)(
                        const struct encoder_init_data *init);