From a3148a748fde1246f26b494675147e2793b890f1 Mon Sep 17 00:00:00 2001 From: Chris Park Date: Fri, 18 Dec 2015 11:52:24 -0500 Subject: [PATCH 0642/1110] drm/amd/dal: DP MST Detection MSTManager allows DP MST to be detected. Signed-off-by: Chris Park Acked-by: Jordan Lazare --- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c | 2 -- drivers/gpu/drm/amd/dal/dc/core/dc.c | 2 +- drivers/gpu/drm/amd/dal/dc/core/dc_link.c | 12 ++++-------- drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c | 2 -- drivers/gpu/drm/amd/dal/dc/core/dc_target.c | 2 +- drivers/gpu/drm/amd/dal/dc/dc.h | 1 + drivers/gpu/drm/amd/dal/dc/dc_helpers.h | 2 -- drivers/gpu/drm/amd/dal/dc/inc/core_types.h | 2 -- 8 files changed, 7 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c index ddc40c9..0a05774 100644 --- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c +++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c @@ -499,7 +499,6 @@ void dc_helpers_dp_mst_stop_top_mgr( bool dc_helper_dp_read_dpcd( struct dc_context *ctx, - uint8_t link_index, const struct dc_link *link, uint32_t address, uint8_t *data, @@ -521,7 +520,6 @@ bool dc_helper_dp_read_dpcd( bool dc_helper_dp_write_dpcd( struct dc_context *ctx, - uint8_t link_index, const struct dc_link *link, uint32_t address, const uint8_t *data, diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c index 941d167..2c9a404 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c @@ -365,7 +365,6 @@ static void destruct(struct dc *dc) dc_service_free(dc->ctx, dc->links); dc->hwss.destruct_resource_pool(&dc->res_pool); dal_logger_destroy(&dc->ctx->logger); - dc_service_free(dc->ctx, dc->ctx); } /******************************************************************************* @@ -403,6 +402,7 @@ void dc_destroy(struct dc **dc) { destruct(*dc); dc_service_free((*dc)->ctx, *dc); + dc_service_free((*dc)->ctx, (*dc)->ctx); *dc = NULL; } diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c index d4b1085..5516ec7 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c @@ -647,13 +647,9 @@ void dc_link_detect(const struct dc_link *dc_link) link_disconnect_all_sinks(link); } - if (signal == SIGNAL_TYPE_NONE) { - LINK_INFO("link=%d is now Disconnected.\n", - link->link_index); - } else { - LINK_INFO("link=%d is now Connected. Sink ptr=%p Signal=%d\n", - link->link_index, &sink->public, signal); - } + LINK_INFO("link=%d, dc_sink_in=%p is now %s\n", + link->public.link_index, &sink->public, + (signal == SIGNAL_TYPE_NONE ? "Disconnected":"Connected")); return; } @@ -675,7 +671,7 @@ static bool construct( link->adapter_srv = as; link->connector_index = init_params->connector_index; link->ctx = dc_ctx; - link->link_index = init_params->link_index; + link->public.link_index = init_params->link_index; link->link_id = dal_adapter_service_get_connector_obj_id( as, diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c index 91aec82..727c812 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c @@ -21,7 +21,6 @@ enum dc_status core_link_read_dpcd( uint32_t size) { if (!dc_helper_dp_read_dpcd(link->ctx, - link->link_index, &link->public, address, data, size)) return DC_ERROR_UNEXPECTED; @@ -36,7 +35,6 @@ enum dc_status core_link_write_dpcd( uint32_t size) { if (!dc_helper_dp_write_dpcd(link->ctx, - link->link_index, &link->public, address, data, size)) return DC_ERROR_UNEXPECTED; diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_target.c b/drivers/gpu/drm/amd/dal/dc/core/dc_target.c index 82cdae1..3a1f605 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_target.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_target.c @@ -400,7 +400,7 @@ uint8_t dc_target_get_link_index(const struct dc_target *dc_target) const struct core_sink *sink = DC_SINK_TO_CORE(target->public.streams[0]->sink); - return sink->link->link_index; + return sink->link->public.link_index; } uint32_t dc_target_get_vblank_counter(const struct dc_target *dc_target) diff --git a/drivers/gpu/drm/amd/dal/dc/dc.h b/drivers/gpu/drm/amd/dal/dc/dc.h index c9cdd9c..007fdc4 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc.h +++ b/drivers/gpu/drm/amd/dal/dc/dc.h @@ -273,6 +273,7 @@ void dc_update_stream(const struct dc_stream *dc_stream, struct dc_link { const struct dc_sink *sink[MAX_SINKS_PER_LINK]; unsigned int sink_count; + unsigned int link_index; enum dc_connection_type type; enum signal_type connector_signal; enum dc_irq_source irq_source_hpd; diff --git a/drivers/gpu/drm/amd/dal/dc/dc_helpers.h b/drivers/gpu/drm/amd/dal/dc/dc_helpers.h index fe76833..d96e907 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc_helpers.h +++ b/drivers/gpu/drm/amd/dal/dc/dc_helpers.h @@ -77,7 +77,6 @@ void dc_helpers_dp_mst_stop_top_mgr( */ bool dc_helper_dp_read_dpcd( struct dc_context *ctx, - uint8_t link_index, const struct dc_link *link, uint32_t address, uint8_t *data, @@ -88,7 +87,6 @@ bool dc_helper_dp_read_dpcd( */ bool dc_helper_dp_write_dpcd( struct dc_context *ctx, - uint8_t link_index, const struct dc_link *link, uint32_t address, const uint8_t *data, diff --git a/drivers/gpu/drm/amd/dal/dc/inc/core_types.h b/drivers/gpu/drm/amd/dal/dc/inc/core_types.h index b35ec1a..194b3e0 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/core_types.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/core_types.h @@ -203,8 +203,6 @@ struct core_link { struct dc_context *ctx; /* TODO: AUTO remove 'dal' when DC is complete*/ uint8_t connector_index; /* this will be mapped to the HPD pins */ - uint8_t link_index; /* this is mapped to DAL display_index - TODO: #flip remove it as soon as possible. */ struct adapter_service *adapter_srv; struct connector *connector; -- 2.7.4