diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1075-drm-amd-display-Break-out-amdgpu_dm_connector.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1075-drm-amd-display-Break-out-amdgpu_dm_connector.patch | 845 |
1 files changed, 0 insertions, 845 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1075-drm-amd-display-Break-out-amdgpu_dm_connector.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1075-drm-amd-display-Break-out-amdgpu_dm_connector.patch deleted file mode 100644 index 9429d978..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1075-drm-amd-display-Break-out-amdgpu_dm_connector.patch +++ /dev/null @@ -1,845 +0,0 @@ -From d05cdf839d183c22aa150ad071a5f12c973b65ef Mon Sep 17 00:00:00 2001 -From: Harry Wentland <harry.wentland@amd.com> -Date: Tue, 5 Sep 2017 14:16:09 -0400 -Subject: [PATCH 1075/4131] drm/amd/display: Break out amdgpu_dm_connector - -Stop using amdgpu_connector and roll our own. There is no overlap -with amdgpu. - -Change-Id: I72274724eba31935270fa1a4e3484a78481486fa -Signed-off-by: Harry Wentland <harry.wentland@amd.com> ---- - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 140 ++++++++++----------- - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 53 +++++++- - .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 20 +-- - .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 12 +- - .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 34 ++--- - .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.h | 4 +- - 6 files changed, 153 insertions(+), 110 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -index 3d14dda..de19d11 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -464,14 +464,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); -@@ -499,13 +499,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) { - -@@ -571,7 +571,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) -@@ -592,7 +592,7 @@ struct amdgpu_connector *amdgpu_dm_find_first_crct_matching_connector( - connector->state->crtc; - - if (crtc_from_state == crtc) -- return to_amdgpu_connector(connector); -+ return to_amdgpu_dm_connector(connector); - } - - return NULL; -@@ -734,7 +734,7 @@ int amdgpu_dm_display_resume(struct amdgpu_device *adev ) - { - 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; - int ret = 0; - struct drm_crtc *crtc; -@@ -762,7 +762,7 @@ int amdgpu_dm_display_resume(struct amdgpu_device *adev ) - /* 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 -@@ -864,7 +864,7 @@ static struct drm_mode_config_helper_funcs amdgpu_dm_mode_config_helperfuncs = { - }; - - 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; -@@ -970,7 +970,7 @@ void amdgpu_dm_update_connector_after_detect( - - 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; - -@@ -993,7 +993,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; -@@ -1072,7 +1072,7 @@ static void dm_handle_hpd_rx_irq(struct amdgpu_connector *aconnector) - - 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; -@@ -1111,7 +1111,7 @@ static void register_hpd_handlers(struct amdgpu_device *adev) - { - 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}; - -@@ -1121,7 +1121,7 @@ static void register_hpd_handlers(struct amdgpu_device *adev) - 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) { -@@ -1402,7 +1402,7 @@ int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) - { - 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; -@@ -2099,18 +2099,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; -@@ -2412,7 +2412,7 @@ static void decide_crtc_timing_for_drm_display_mode( - } - - 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) - { -@@ -2559,7 +2559,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. -@@ -2755,7 +2755,7 @@ int amdgpu_dm_connector_atomic_get_property( - - 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; -@@ -2855,7 +2855,7 @@ static int get_modes(struct drm_connector *connector) - 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, -@@ -2888,7 +2888,7 @@ static void create_eml_sink(struct amdgpu_connector *aconnector) - 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; - -@@ -2914,7 +2914,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)) -@@ -2927,7 +2927,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"); -@@ -3188,7 +3188,7 @@ int dm_create_validation_set_for_connector(struct drm_connector *connector, - { - 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; - -@@ -3449,8 +3449,8 @@ static void amdgpu_dm_connector_add_common_modes(struct drm_encoder *encoder, - 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 { -@@ -3498,7 +3498,7 @@ static void amdgpu_dm_connector_add_common_modes(struct drm_encoder *encoder, - 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++; - } - } - -@@ -3506,41 +3506,41 @@ static void amdgpu_dm_connector_ddc_get_modes( - 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) -@@ -3668,7 +3668,7 @@ static struct amdgpu_i2c_adapter *create_i2c( - */ - 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) - { -@@ -4306,7 +4306,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); - -@@ -4350,7 +4350,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 = -@@ -4500,7 +4500,7 @@ static int dm_force_atomic_commit(struct drm_connector *connector) - */ - 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; - -@@ -4693,7 +4693,7 @@ int amdgpu_dm_atomic_check(struct drm_device *dev, - /* 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 dc_stream_state *new_stream = NULL; - struct drm_connector_state *conn_state = NULL; - struct dm_connector_state *dm_conn_state = NULL; -@@ -4810,7 +4810,7 @@ int amdgpu_dm_atomic_check(struct drm_device *dev, - * 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 = -@@ -4921,15 +4921,15 @@ int amdgpu_dm_atomic_check(struct drm_device *dev, - - 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))) { -@@ -4948,14 +4948,14 @@ void amdgpu_dm_add_sink_to_freesync_module( - 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; - } -@@ -4965,11 +4965,11 @@ void amdgpu_dm_add_sink_to_freesync_module( - * 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; -@@ -4994,20 +4994,20 @@ void amdgpu_dm_add_sink_to_freesync_module( - 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; - } - } -@@ -5021,22 +5021,22 @@ void amdgpu_dm_add_sink_to_freesync_module( - void amdgpu_dm_remove_sink_from_freesync_module( - 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); - - struct drm_device *dev = connector->dev; - struct amdgpu_device *adev = dev->dev_private; - -- if (!amdgpu_connector->dc_sink || !adev->dm.freesync_module) { -+ if (!amdgpu_dm_connector->dc_sink || !adev->dm.freesync_module) { - DRM_ERROR("dc_sink NULL or no free_sync module.\n"); - return; - } - -- amdgpu_connector->min_vfreq = 0; -- amdgpu_connector->max_vfreq = 0; -- amdgpu_connector->pixel_clock_mhz = 0; -+ amdgpu_dm_connector->min_vfreq = 0; -+ amdgpu_dm_connector->max_vfreq = 0; -+ amdgpu_dm_connector->pixel_clock_mhz = 0; - -- memset(&amdgpu_connector->caps, 0, sizeof(amdgpu_connector->caps)); -+ memset(&amdgpu_dm_connector->caps, 0, sizeof(amdgpu_dm_connector->caps)); - - drm_object_property_set_value(&connector->base, - adev->mode_info.freesync_capable_property, -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h -index 54acbb5..158e6b2e 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h -@@ -143,6 +143,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); - -@@ -174,9 +218,9 @@ void amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm); - 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); -@@ -189,7 +233,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; -@@ -219,7 +262,7 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm, - 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( -@@ -263,7 +306,7 @@ int amdgpu_dm_get_encoder_crtc_mask(struct amdgpu_device *adev); - - 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); -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c -index 4a12453..9bd142f 100644 ---- 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_edid_caps( - } - - 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_allocation_table( - 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_allocation_change_trigger( - 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_allocation( - 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_local_edid( - 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; -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c -index 4aee146..276adf9 100644 ---- 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_device *adev) - 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_device *adev) - 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); - -diff --git 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 -index 3ce087f..d798a52 100644 ---- 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 drm_dp_aux *aux, struct drm_dp_aux_msg - 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 *connector, bool force) - 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 = { -@@ -176,7 +176,7 @@ static const struct drm_connector_funcs dm_dp_mst_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); -@@ -188,9 +188,9 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector) - - 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 = { -@@ -200,7 +200,7 @@ static const struct drm_connector_helper_funcs dm_dp_mst_connector_helper_funcs - }; - - 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; -@@ -235,15 +235,15 @@ static struct drm_connector *dm_dp_add_mst_connector(struct drm_dp_mst_topology_ - 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", -@@ -317,7 +317,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); -@@ -341,17 +341,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 && -@@ -442,7 +442,7 @@ static const struct drm_dp_mst_topology_cbs dm_mst_cbs = { - - 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; -diff --git 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 -index 418061f..ba64a40 100644 ---- 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 --- -2.7.4 - |