Blob Blame History Raw
From: Harry Wentland <harry.wentland@amd.com>
Date: Tue, 5 Sep 2017 14:16:09 -0400
Subject: drm/amd/display: Break out amdgpu_dm_connector
Git-commit: c84dec2fe8837facf4ccaffd2afae9b157719327
Patch-mainline: v4.15-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166

Stop using amdgpu_connector and roll our own. There is no overlap
with amdgpu.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c           |  126 ++++++------
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h           |   53 ++++-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c   |   20 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c       |   12 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c |   34 +--
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h |    4 
 6 files changed, 146 insertions(+), 103 deletions(-)

--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -465,14 +465,14 @@ static int dm_sw_fini(void *handle)
 
 static int detect_mst_link_for_all_connectors(struct drm_device *dev)
 {
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_connector *connector;
 	int ret = 0;
 
 	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
 
 	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-		   aconnector = to_amdgpu_connector(connector);
+		   aconnector = to_amdgpu_dm_connector(connector);
 		if (aconnector->dc_link->type == dc_connection_mst_branch) {
 			DRM_INFO("DM_MST: starting TM on aconnector: %p [id: %d]\n",
 					aconnector, aconnector->base.base.id);
@@ -500,13 +500,13 @@ static int dm_late_init(void *handle)
 
 static void s3_handle_mst(struct drm_device *dev, bool suspend)
 {
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_connector *connector;
 
 	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
 
 	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-		   aconnector = to_amdgpu_connector(connector);
+		   aconnector = to_amdgpu_dm_connector(connector);
 		   if (aconnector->dc_link->type == dc_connection_mst_branch &&
 				   !aconnector->mst_port) {
 
@@ -562,7 +562,7 @@ static int dm_suspend(void *handle)
 	return ret;
 }
 
-struct amdgpu_connector *amdgpu_dm_find_first_crct_matching_connector(
+struct amdgpu_dm_connector *amdgpu_dm_find_first_crct_matching_connector(
 	struct drm_atomic_state *state,
 	struct drm_crtc *crtc,
 	bool from_state_var)
@@ -583,7 +583,7 @@ struct amdgpu_connector *amdgpu_dm_find_
 				connector->state->crtc;
 
 		if (crtc_from_state == crtc)
-			return to_amdgpu_connector(connector);
+			return to_amdgpu_dm_connector(connector);
 	}
 
 	return NULL;
@@ -607,7 +607,7 @@ int amdgpu_dm_display_resume(struct amdg
 {
 	struct drm_device *ddev = adev->ddev;
 	struct amdgpu_display_manager *dm = &adev->dm;
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_connector *connector;
 	struct drm_crtc *crtc;
 	struct drm_crtc_state *crtc_state;
@@ -629,7 +629,7 @@ int amdgpu_dm_display_resume(struct amdg
 	/* Do detection*/
 	list_for_each_entry(connector,
 			&ddev->mode_config.connector_list, head) {
-		aconnector = to_amdgpu_connector(connector);
+		aconnector = to_amdgpu_dm_connector(connector);
 
 		/*
 		 * this is the case when traversing through already created
@@ -741,7 +741,7 @@ static struct drm_mode_config_helper_fun
 };
 
 void amdgpu_dm_update_connector_after_detect(
-	struct amdgpu_connector *aconnector)
+	struct amdgpu_dm_connector *aconnector)
 {
 	struct drm_connector *connector = &aconnector->base;
 	struct drm_device *dev = connector->dev;
@@ -847,7 +847,7 @@ void amdgpu_dm_update_connector_after_de
 
 static void handle_hpd_irq(void *param)
 {
-	struct amdgpu_connector *aconnector = (struct amdgpu_connector *)param;
+	struct amdgpu_dm_connector *aconnector = (struct amdgpu_dm_connector *)param;
 	struct drm_connector *connector = &aconnector->base;
 	struct drm_device *dev = connector->dev;
 
@@ -870,7 +870,7 @@ static void handle_hpd_irq(void *param)
 
 }
 
-static void dm_handle_hpd_rx_irq(struct amdgpu_connector *aconnector)
+static void dm_handle_hpd_rx_irq(struct amdgpu_dm_connector *aconnector)
 {
 	uint8_t esi[DP_PSR_ERROR_STATUS - DP_SINK_COUNT_ESI] = { 0 };
 	uint8_t dret;
@@ -949,7 +949,7 @@ static void dm_handle_hpd_rx_irq(struct
 
 static void handle_hpd_rx_irq(void *param)
 {
-	struct amdgpu_connector *aconnector = (struct amdgpu_connector *)param;
+	struct amdgpu_dm_connector *aconnector = (struct amdgpu_dm_connector *)param;
 	struct drm_connector *connector = &aconnector->base;
 	struct drm_device *dev = connector->dev;
 	const struct dc_link *dc_link = aconnector->dc_link;
@@ -988,7 +988,7 @@ static void register_hpd_handlers(struct
 {
 	struct drm_device *dev = adev->ddev;
 	struct drm_connector *connector;
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	const struct dc_link *dc_link;
 	struct dc_interrupt_params int_params = {0};
 
@@ -998,7 +998,7 @@ static void register_hpd_handlers(struct
 	list_for_each_entry(connector,
 			&dev->mode_config.connector_list, head)	{
 
-		aconnector = to_amdgpu_connector(connector);
+		aconnector = to_amdgpu_dm_connector(connector);
 		dc_link = aconnector->dc_link;
 
 		if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd) {
@@ -1279,7 +1279,7 @@ int amdgpu_dm_initialize_drm_device(stru
 {
 	struct amdgpu_display_manager *dm = &adev->dm;
 	uint32_t i;
-	struct amdgpu_connector *aconnector = NULL;
+	struct amdgpu_dm_connector *aconnector = NULL;
 	struct amdgpu_encoder *aencoder = NULL;
 	struct amdgpu_mode_info *mode_info = &adev->mode_info;
 	uint32_t link_cnt;
@@ -1966,18 +1966,18 @@ static int fill_plane_attributes(
 
 /*****************************************************************************/
 
-struct amdgpu_connector *aconnector_from_drm_crtc_id(
+struct amdgpu_dm_connector *aconnector_from_drm_crtc_id(
 		const struct drm_crtc *crtc)
 {
 	struct drm_device *dev = crtc->dev;
 	struct drm_connector *connector;
 	struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc);
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 
 	list_for_each_entry(connector,
 			&dev->mode_config.connector_list, head)	{
 
-		aconnector = to_amdgpu_connector(connector);
+		aconnector = to_amdgpu_dm_connector(connector);
 
 		if (aconnector->base.state->crtc != &acrtc->base)
 			continue;
@@ -2279,7 +2279,7 @@ static void decide_crtc_timing_for_drm_d
 }
 
 static struct dc_stream_state *create_stream_for_sink(
-		struct amdgpu_connector *aconnector,
+		struct amdgpu_dm_connector *aconnector,
 		const struct drm_display_mode *drm_mode,
 		const struct dm_connector_state *dm_state)
 {
@@ -2425,7 +2425,7 @@ static enum drm_connector_status
 amdgpu_dm_connector_detect(struct drm_connector *connector, bool force)
 {
 	bool connected;
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 
 	/* Notes:
 	 * 1. This interface is NOT called in context of HPD irq.
@@ -2538,7 +2538,7 @@ int amdgpu_dm_connector_atomic_get_prope
 
 void amdgpu_dm_connector_destroy(struct drm_connector *connector)
 {
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 	const struct dc_link *link = aconnector->dc_link;
 	struct amdgpu_device *adev = connector->dev->dev_private;
 	struct amdgpu_display_manager *dm = &adev->dm;
@@ -2636,7 +2636,7 @@ static int get_modes(struct drm_connecto
 	return amdgpu_dm_connector_get_modes(connector);
 }
 
-static void create_eml_sink(struct amdgpu_connector *aconnector)
+static void create_eml_sink(struct amdgpu_dm_connector *aconnector)
 {
 	struct dc_sink_init_data init_params = {
 			.link = aconnector->dc_link,
@@ -2669,7 +2669,7 @@ static void create_eml_sink(struct amdgp
 		aconnector->dc_em_sink;
 }
 
-static void handle_edid_mgmt(struct amdgpu_connector *aconnector)
+static void handle_edid_mgmt(struct amdgpu_dm_connector *aconnector)
 {
 	struct dc_link *link = (struct dc_link *)aconnector->dc_link;
 
@@ -2695,7 +2695,7 @@ int amdgpu_dm_connector_mode_valid(
 	struct amdgpu_device *adev = connector->dev->dev_private;
 	/* TODO: Unhardcode stream count */
 	struct dc_stream_state *stream;
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 
 	if ((mode->flags & DRM_MODE_FLAG_INTERLACE) ||
 			(mode->flags & DRM_MODE_FLAG_DBLSCAN))
@@ -2708,7 +2708,7 @@ int amdgpu_dm_connector_mode_valid(
 		!aconnector->dc_em_sink)
 		handle_edid_mgmt(aconnector);
 
-	dc_sink = to_amdgpu_connector(connector)->dc_sink;
+	dc_sink = to_amdgpu_dm_connector(connector)->dc_sink;
 
 	if (dc_sink == NULL) {
 		DRM_ERROR("dc_sink is NULL!\n");
@@ -2968,7 +2968,7 @@ int dm_create_validation_set_for_connect
 {
 	int result = MODE_ERROR;
 	struct dc_sink *dc_sink =
-			to_amdgpu_connector(connector)->dc_sink;
+			to_amdgpu_dm_connector(connector)->dc_sink;
 	/* TODO: Unhardcode stream count */
 	struct dc_stream_state *stream;
 
@@ -3229,8 +3229,8 @@ static void amdgpu_dm_connector_add_comm
 	struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
 	struct drm_display_mode *mode = NULL;
 	struct drm_display_mode *native_mode = &amdgpu_encoder->native_mode;
-	struct amdgpu_connector *amdgpu_connector =
-				to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *amdgpu_dm_connector =
+				to_amdgpu_dm_connector(connector);
 	int i;
 	int n;
 	struct mode_size {
@@ -3278,7 +3278,7 @@ static void amdgpu_dm_connector_add_comm
 				common_modes[i].name, common_modes[i].w,
 				common_modes[i].h);
 		drm_mode_probed_add(connector, mode);
-		amdgpu_connector->num_modes++;
+		amdgpu_dm_connector->num_modes++;
 	}
 }
 
@@ -3286,41 +3286,41 @@ static void amdgpu_dm_connector_ddc_get_
 	struct drm_connector *connector,
 	struct edid *edid)
 {
-	struct amdgpu_connector *amdgpu_connector =
-			to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *amdgpu_dm_connector =
+			to_amdgpu_dm_connector(connector);
 
 	if (edid) {
 		/* empty probed_modes */
 		INIT_LIST_HEAD(&connector->probed_modes);
-		amdgpu_connector->num_modes =
+		amdgpu_dm_connector->num_modes =
 				drm_add_edid_modes(connector, edid);
 
 		drm_edid_to_eld(connector, edid);
 
 		amdgpu_dm_get_native_mode(connector);
 	} else
-		amdgpu_connector->num_modes = 0;
+		amdgpu_dm_connector->num_modes = 0;
 }
 
 int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
 {
 	const struct drm_connector_helper_funcs *helper =
 			connector->helper_private;
-	struct amdgpu_connector *amdgpu_connector =
-			to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *amdgpu_dm_connector =
+			to_amdgpu_dm_connector(connector);
 	struct drm_encoder *encoder;
-	struct edid *edid = amdgpu_connector->edid;
+	struct edid *edid = amdgpu_dm_connector->edid;
 
 	encoder = helper->best_encoder(connector);
 
 	amdgpu_dm_connector_ddc_get_modes(connector, edid);
 	amdgpu_dm_connector_add_common_modes(encoder, connector);
-	return amdgpu_connector->num_modes;
+	return amdgpu_dm_connector->num_modes;
 }
 
 void amdgpu_dm_connector_init_helper(
 	struct amdgpu_display_manager *dm,
-	struct amdgpu_connector *aconnector,
+	struct amdgpu_dm_connector *aconnector,
 	int connector_type,
 	struct dc_link *link,
 	int link_index)
@@ -3440,7 +3440,7 @@ static struct amdgpu_i2c_adapter *create
  */
 int amdgpu_dm_connector_init(
 	struct amdgpu_display_manager *dm,
-	struct amdgpu_connector *aconnector,
+	struct amdgpu_dm_connector *aconnector,
 	uint32_t link_index,
 	struct amdgpu_encoder *aencoder)
 {
@@ -4076,7 +4076,7 @@ void amdgpu_dm_atomic_commit_tail(
 	 */
 	if (adev->dm.freesync_module) {
 		for (i = 0; i < new_crtcs_count; i++) {
-			struct amdgpu_connector *aconnector = NULL;
+			struct amdgpu_dm_connector *aconnector = NULL;
 
 			new_acrtc_state = to_dm_crtc_state(new_crtcs[i]->base.state);
 
@@ -4120,7 +4120,7 @@ void amdgpu_dm_atomic_commit_tail(
 
 	/* Handle scaling and undersacn changes*/
 	for_each_connector_in_state(state, connector, old_conn_state, i) {
-		struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+		struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 		struct dm_connector_state *con_new_state =
 				to_dm_connector_state(aconnector->base.state);
 		struct dm_connector_state *con_old_state =
@@ -4270,7 +4270,7 @@ err:
  */
 void dm_restore_drm_connector_state(struct drm_device *dev, struct drm_connector *connector)
 {
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 	struct amdgpu_crtc *disconnected_acrtc;
 	struct dm_crtc_state *acrtc_state;
 
@@ -4360,7 +4360,7 @@ static int dm_update_crtcs_state(
 	/* update changed items */
 	for_each_crtc_in_state(state, crtc, crtc_state, i) {
 		struct amdgpu_crtc *acrtc = NULL;
-		struct amdgpu_connector *aconnector = NULL;
+		struct amdgpu_dm_connector *aconnector = NULL;
 		struct drm_connector_state *conn_state = NULL;
 		struct dm_connector_state *dm_conn_state = NULL;
 
@@ -4689,7 +4689,7 @@ int amdgpu_dm_atomic_check(struct drm_de
 	 * decide how to handle.
 	 */
 	for_each_connector_in_state(state, connector, conn_state, i) {
-		struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+		struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 		struct dm_connector_state *con_old_state =
 				to_dm_connector_state(aconnector->base.state);
 		struct dm_connector_state *con_new_state =
@@ -4746,15 +4746,15 @@ fail:
 
 static bool is_dp_capable_without_timing_msa(
 		struct dc *dc,
-		struct amdgpu_connector *amdgpu_connector)
+		struct amdgpu_dm_connector *amdgpu_dm_connector)
 {
 	uint8_t dpcd_data;
 	bool capable = false;
 
-	if (amdgpu_connector->dc_link &&
+	if (amdgpu_dm_connector->dc_link &&
 		dm_helpers_dp_read_dpcd(
 				NULL,
-				amdgpu_connector->dc_link,
+				amdgpu_dm_connector->dc_link,
 				DP_DOWN_STREAM_PORT_COUNT,
 				&dpcd_data,
 				sizeof(dpcd_data))) {
@@ -4773,14 +4773,14 @@ void amdgpu_dm_add_sink_to_freesync_modu
 	struct detailed_timing *timing;
 	struct detailed_non_pixel *data;
 	struct detailed_data_monitor_range *range;
-	struct amdgpu_connector *amdgpu_connector =
-			to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *amdgpu_dm_connector =
+			to_amdgpu_dm_connector(connector);
 
 	struct drm_device *dev = connector->dev;
 	struct amdgpu_device *adev = dev->dev_private;
 
 	edid_check_required = false;
-	if (!amdgpu_connector->dc_sink) {
+	if (!amdgpu_dm_connector->dc_sink) {
 		DRM_ERROR("dc_sink NULL, could not add free_sync module.\n");
 		return;
 	}
@@ -4790,11 +4790,11 @@ void amdgpu_dm_add_sink_to_freesync_modu
 	 * if edid non zero restrict freesync only for dp and edp
 	 */
 	if (edid) {
-		if (amdgpu_connector->dc_sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT
-			|| amdgpu_connector->dc_sink->sink_signal == SIGNAL_TYPE_EDP) {
+		if (amdgpu_dm_connector->dc_sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT
+			|| amdgpu_dm_connector->dc_sink->sink_signal == SIGNAL_TYPE_EDP) {
 			edid_check_required = is_dp_capable_without_timing_msa(
 						adev->dm.dc,
-						amdgpu_connector);
+						amdgpu_dm_connector);
 		}
 	}
 	val_capable = 0;
@@ -4819,20 +4819,20 @@ void amdgpu_dm_add_sink_to_freesync_modu
 			if (range->flags != 1)
 				continue;
 
-			amdgpu_connector->min_vfreq = range->min_vfreq;
-			amdgpu_connector->max_vfreq = range->max_vfreq;
-			amdgpu_connector->pixel_clock_mhz =
+			amdgpu_dm_connector->min_vfreq = range->min_vfreq;
+			amdgpu_dm_connector->max_vfreq = range->max_vfreq;
+			amdgpu_dm_connector->pixel_clock_mhz =
 				range->pixel_clock_mhz * 10;
 			break;
 		}
 
-		if (amdgpu_connector->max_vfreq -
-				amdgpu_connector->min_vfreq > 10) {
-			amdgpu_connector->caps.supported = true;
-			amdgpu_connector->caps.min_refresh_in_micro_hz =
-					amdgpu_connector->min_vfreq * 1000000;
-			amdgpu_connector->caps.max_refresh_in_micro_hz =
-					amdgpu_connector->max_vfreq * 1000000;
+		if (amdgpu_dm_connector->max_vfreq -
+				amdgpu_dm_connector->min_vfreq > 10) {
+			amdgpu_dm_connector->caps.supported = true;
+			amdgpu_dm_connector->caps.min_refresh_in_micro_hz =
+					amdgpu_dm_connector->min_vfreq * 1000000;
+			amdgpu_dm_connector->caps.max_refresh_in_micro_hz =
+					amdgpu_dm_connector->max_vfreq * 1000000;
 				val_capable = 1;
 		}
 	}
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
@@ -147,6 +147,50 @@ struct amdgpu_display_manager {
 #endif
 };
 
+struct amdgpu_dm_connector {
+
+	struct drm_connector base;
+	uint32_t connector_id;
+
+	/* we need to mind the EDID between detect
+	   and get modes due to analog/digital/tvencoder */
+	struct edid *edid;
+
+	/* shared with amdgpu */
+	struct amdgpu_hpd hpd;
+
+	/* number of modes generated from EDID at 'dc_sink' */
+	int num_modes;
+
+	/* The 'old' sink - before an HPD.
+	 * The 'current' sink is in dc_link->sink. */
+	struct dc_sink *dc_sink;
+	struct dc_link *dc_link;
+	struct dc_sink *dc_em_sink;
+
+	/* DM only */
+	struct drm_dp_mst_topology_mgr mst_mgr;
+	struct amdgpu_dm_dp_aux dm_dp_aux;
+	struct drm_dp_mst_port *port;
+	struct amdgpu_dm_connector *mst_port;
+	struct amdgpu_encoder *mst_encoder;
+
+	/* TODO see if we can merge with ddc_bus or make a dm_connector */
+	struct amdgpu_i2c_adapter *i2c;
+
+	/* Monitor range limits */
+	int min_vfreq ;
+	int max_vfreq ;
+	int pixel_clock_mhz;
+
+	/*freesync caps*/
+	struct mod_freesync_caps caps;
+
+	struct mutex hpd_lock;
+};
+
+#define to_amdgpu_dm_connector(x) container_of(x, struct amdgpu_dm_connector, base)
+
 /* basic init/fini API */
 int amdgpu_dm_init(struct amdgpu_device *adev);
 
@@ -178,9 +222,9 @@ void amdgpu_dm_register_backlight_device
 extern const struct amdgpu_ip_block_version dm_ip_block;
 
 void amdgpu_dm_update_connector_after_detect(
-	struct amdgpu_connector *aconnector);
+	struct amdgpu_dm_connector *aconnector);
 
-struct amdgpu_connector *amdgpu_dm_find_first_crct_matching_connector(
+struct amdgpu_dm_connector *amdgpu_dm_find_first_crct_matching_connector(
 	struct drm_atomic_state *state,
 	struct drm_crtc *crtc,
 	bool from_state_var);
@@ -193,7 +237,6 @@ struct dc_plane_state;
 /* TODO rename to dc_stream_state */
 struct  dc_stream;
 
-
 struct dm_plane_state {
 	struct drm_plane_state base;
 	struct dc_plane_state *dc_state;
@@ -223,7 +266,7 @@ int amdgpu_dm_crtc_init(struct amdgpu_di
 			struct drm_plane *plane,
 			uint32_t link_index);
 int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
-			struct amdgpu_connector *amdgpu_connector,
+			struct amdgpu_dm_connector *amdgpu_dm_connector,
 			uint32_t link_index,
 			struct amdgpu_encoder *amdgpu_encoder);
 int amdgpu_dm_encoder_init(
@@ -267,7 +310,7 @@ int amdgpu_dm_get_encoder_crtc_mask(stru
 
 void amdgpu_dm_connector_init_helper(
 	struct amdgpu_display_manager *dm,
-	struct amdgpu_connector *aconnector,
+	struct amdgpu_dm_connector *aconnector,
 	int connector_type,
 	struct dc_link *link,
 	int link_index);
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -133,7 +133,7 @@ enum dc_edid_status dm_helpers_parse_edi
 }
 
 static void get_payload_table(
-		struct amdgpu_connector *aconnector,
+		struct amdgpu_dm_connector *aconnector,
 		struct dp_mst_stream_allocation_table *proposed_table)
 {
 	int i;
@@ -178,7 +178,7 @@ bool dm_helpers_dp_mst_write_payload_all
 		struct dp_mst_stream_allocation_table *proposed_table,
 		bool enable)
 {
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_dp_mst_topology_mgr *mst_mgr;
 	struct drm_dp_mst_port *mst_port;
 	int slots = 0;
@@ -266,7 +266,7 @@ bool dm_helpers_dp_mst_poll_for_allocati
 		struct dc_context *ctx,
 		const struct dc_stream_state *stream)
 {
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_dp_mst_topology_mgr *mst_mgr;
 	int ret;
 
@@ -293,7 +293,7 @@ bool dm_helpers_dp_mst_send_payload_allo
 		const struct dc_stream_state *stream,
 		bool enable)
 {
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_dp_mst_topology_mgr *mst_mgr;
 	struct drm_dp_mst_port *mst_port;
 	int ret;
@@ -341,7 +341,7 @@ bool dm_helpers_dp_mst_start_top_mgr(
 		const struct dc_link *link,
 		bool boot)
 {
-	struct amdgpu_connector *aconnector = link->priv;
+	struct amdgpu_dm_connector *aconnector = link->priv;
 
 	if (!aconnector) {
 			DRM_ERROR("Failed to found connector for link!");
@@ -364,7 +364,7 @@ void dm_helpers_dp_mst_stop_top_mgr(
 		struct dc_context *ctx,
 		const struct dc_link *link)
 {
-	struct amdgpu_connector *aconnector = link->priv;
+	struct amdgpu_dm_connector *aconnector = link->priv;
 
 	if (!aconnector) {
 			DRM_ERROR("Failed to found connector for link!");
@@ -386,7 +386,7 @@ bool dm_helpers_dp_read_dpcd(
 		uint32_t size)
 {
 
-	struct amdgpu_connector *aconnector = link->priv;
+	struct amdgpu_dm_connector *aconnector = link->priv;
 
 	if (!aconnector) {
 		DRM_ERROR("Failed to found connector for link!");
@@ -404,7 +404,7 @@ bool dm_helpers_dp_write_dpcd(
 		const uint8_t *data,
 		uint32_t size)
 {
-	struct amdgpu_connector *aconnector = link->priv;
+	struct amdgpu_dm_connector *aconnector = link->priv;
 
 	if (!aconnector) {
 		DRM_ERROR("Failed to found connector for link!");
@@ -420,7 +420,7 @@ bool dm_helpers_submit_i2c(
 		const struct dc_link *link,
 		struct i2c_command *cmd)
 {
-	struct amdgpu_connector *aconnector = link->priv;
+	struct amdgpu_dm_connector *aconnector = link->priv;
 	struct i2c_msg *msgs;
 	int i = 0;
 	int num = cmd->number_of_payloads;
@@ -455,7 +455,7 @@ enum dc_edid_status dm_helpers_read_loca
 		struct dc_link *link,
 		struct dc_sink *sink)
 {
-	struct amdgpu_connector *aconnector = link->priv;
+	struct amdgpu_dm_connector *aconnector = link->priv;
 	struct i2c_adapter *ddc;
 	int retry = 3;
 	enum dc_edid_status edid_status;
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
@@ -787,10 +787,10 @@ void amdgpu_dm_hpd_init(struct amdgpu_de
 	struct drm_connector *connector;
 
 	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-		struct amdgpu_connector *amdgpu_connector =
-				to_amdgpu_connector(connector);
+		struct amdgpu_dm_connector *amdgpu_dm_connector =
+				to_amdgpu_dm_connector(connector);
 
-		const struct dc_link *dc_link = amdgpu_connector->dc_link;
+		const struct dc_link *dc_link = amdgpu_dm_connector->dc_link;
 
 		if (DC_IRQ_SOURCE_INVALID != dc_link->irq_source_hpd) {
 			dc_interrupt_set(adev->dm.dc,
@@ -820,9 +820,9 @@ void amdgpu_dm_hpd_fini(struct amdgpu_de
 	struct drm_connector *connector;
 
 	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-		struct amdgpu_connector *amdgpu_connector =
-				to_amdgpu_connector(connector);
-		const struct dc_link *dc_link = amdgpu_connector->dc_link;
+		struct amdgpu_dm_connector *amdgpu_dm_connector =
+				to_amdgpu_dm_connector(connector);
+		const struct dc_link *dc_link = amdgpu_dm_connector->dc_link;
 
 		dc_interrupt_set(adev->dm.dc, dc_link->irq_source_hpd, false);
 
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -137,8 +137,8 @@ static ssize_t dm_dp_aux_transfer(struct
 static enum drm_connector_status
 dm_dp_mst_detect(struct drm_connector *connector, bool force)
 {
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
-	struct amdgpu_connector *master = aconnector->mst_port;
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
+	struct amdgpu_dm_connector *master = aconnector->mst_port;
 
 	enum drm_connector_status status =
 		drm_dp_mst_detect_port(
@@ -152,13 +152,13 @@ dm_dp_mst_detect(struct drm_connector *c
 static void
 dm_dp_mst_connector_destroy(struct drm_connector *connector)
 {
-	struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
-	struct amdgpu_encoder *amdgpu_encoder = amdgpu_connector->mst_encoder;
+	struct amdgpu_dm_connector *amdgpu_dm_connector = to_amdgpu_dm_connector(connector);
+	struct amdgpu_encoder *amdgpu_encoder = amdgpu_dm_connector->mst_encoder;
 
 	drm_encoder_cleanup(&amdgpu_encoder->base);
 	kfree(amdgpu_encoder);
 	drm_connector_cleanup(connector);
-	kfree(amdgpu_connector);
+	kfree(amdgpu_dm_connector);
 }
 
 static const struct drm_connector_funcs dm_dp_mst_connector_funcs = {
@@ -174,7 +174,7 @@ static const struct drm_connector_funcs
 
 static int dm_dp_mst_get_modes(struct drm_connector *connector)
 {
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 	int ret = 0;
 
 	ret = drm_add_edid_modes(&aconnector->base, aconnector->edid);
@@ -186,9 +186,9 @@ static int dm_dp_mst_get_modes(struct dr
 
 static struct drm_encoder *dm_mst_best_encoder(struct drm_connector *connector)
 {
-	struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *amdgpu_dm_connector = to_amdgpu_dm_connector(connector);
 
-	return &amdgpu_connector->mst_encoder->base;
+	return &amdgpu_dm_connector->mst_encoder->base;
 }
 
 static const struct drm_connector_helper_funcs dm_dp_mst_connector_helper_funcs = {
@@ -198,7 +198,7 @@ static const struct drm_connector_helper
 };
 
 static struct amdgpu_encoder *
-dm_dp_create_fake_mst_encoder(struct amdgpu_connector *connector)
+dm_dp_create_fake_mst_encoder(struct amdgpu_dm_connector *connector)
 {
 	struct drm_device *dev = connector->base.dev;
 	struct amdgpu_device *adev = dev->dev_private;
@@ -233,15 +233,15 @@ static struct drm_connector *dm_dp_add_m
 							 struct drm_dp_mst_port *port,
 							 const char *pathprop)
 {
-	struct amdgpu_connector *master = container_of(mgr, struct amdgpu_connector, mst_mgr);
+	struct amdgpu_dm_connector *master = container_of(mgr, struct amdgpu_dm_connector, mst_mgr);
 	struct drm_device *dev = master->base.dev;
 	struct amdgpu_device *adev = dev->dev_private;
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct drm_connector *connector;
 
 	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
 	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-		aconnector = to_amdgpu_connector(connector);
+		aconnector = to_amdgpu_dm_connector(connector);
 		if (aconnector->mst_port == master
 				&& !aconnector->port) {
 			DRM_INFO("DM_MST: reusing connector: %p [id: %d] [master: %p]\n",
@@ -315,7 +315,7 @@ static void dm_dp_destroy_mst_connector(
 	struct drm_dp_mst_topology_mgr *mgr,
 	struct drm_connector *connector)
 {
-	struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
+	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
 
 	DRM_INFO("DM_MST: Disabling connector: %p [id: %d] [master: %p]\n",
 				aconnector, connector->base.id, aconnector->mst_port);
@@ -339,17 +339,17 @@ static void dm_dp_destroy_mst_connector(
 
 static void dm_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr)
 {
-	struct amdgpu_connector *master = container_of(mgr, struct amdgpu_connector, mst_mgr);
+	struct amdgpu_dm_connector *master = container_of(mgr, struct amdgpu_dm_connector, mst_mgr);
 	struct drm_device *dev = master->base.dev;
 	struct amdgpu_device *adev = dev->dev_private;
 	struct drm_connector *connector;
-	struct amdgpu_connector *aconnector;
+	struct amdgpu_dm_connector *aconnector;
 	struct edid *edid;
 	struct dc_sink *dc_sink;
 
 	drm_modeset_lock_all(dev);
 	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-		aconnector = to_amdgpu_connector(connector);
+		aconnector = to_amdgpu_dm_connector(connector);
 		if (aconnector->port &&
 				aconnector->port->pdt != DP_PEER_DEVICE_NONE &&
 				aconnector->port->pdt != DP_PEER_DEVICE_MST_BRANCHING &&
@@ -440,7 +440,7 @@ static const struct drm_dp_mst_topology_
 
 void amdgpu_dm_initialize_dp_connector(
 	struct amdgpu_display_manager *dm,
-	struct amdgpu_connector *aconnector)
+	struct amdgpu_dm_connector *aconnector)
 {
 	aconnector->dm_dp_aux.aux.name = "dmdc";
 	aconnector->dm_dp_aux.aux.dev = dm->adev->dev;
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h
@@ -27,10 +27,10 @@
 #define __DAL_AMDGPU_DM_MST_TYPES_H__
 
 struct amdgpu_display_manager;
-struct amdgpu_connector;
+struct amdgpu_dm_connector;
 
 void amdgpu_dm_initialize_dp_connector(
 	struct amdgpu_display_manager *dm,
-	struct amdgpu_connector *aconnector);
+	struct amdgpu_dm_connector *aconnector);
 
 #endif