aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0649-drm-amd-dal-Remove-registration-of-Poll-for-connecto.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0649-drm-amd-dal-Remove-registration-of-Poll-for-connecto.patch')
-rw-r--r--common/recipes-kernel/linux/files/0649-drm-amd-dal-Remove-registration-of-Poll-for-connecto.patch146
1 files changed, 0 insertions, 146 deletions
diff --git a/common/recipes-kernel/linux/files/0649-drm-amd-dal-Remove-registration-of-Poll-for-connecto.patch b/common/recipes-kernel/linux/files/0649-drm-amd-dal-Remove-registration-of-Poll-for-connecto.patch
deleted file mode 100644
index 4d6514e6..00000000
--- a/common/recipes-kernel/linux/files/0649-drm-amd-dal-Remove-registration-of-Poll-for-connecto.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From f30dd83168f27183295c41c761935bc41c72073e Mon Sep 17 00:00:00 2001
-From: David Rokhvarg <David.Rokhvarg@amd.com>
-Date: Tue, 22 Dec 2015 17:57:28 -0500
-Subject: [PATCH 0649/1110] drm/amd/dal: Remove registration of Poll for
- connector.
-
-Our display detection is interrupt-driven, no need to register for
-Poll from DRM.
-
-Also this results in:
-- less notifications from kernel to user mode about hpd events.
-- less contention on MST state is triggered from user-mode.
-
-Signed-off-by: David Rokhvarg <David.Rokhvarg@amd.com>
-Signed-off-by: Harry Wentland <harry.wentland@amd.com>
-Acked-by: Harry Wentland <Harry.Wentland@amd.com>
----
- .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c | 29 +++++++++++++++++++---
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 7 ++----
- .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 20 +++++----------
- 3 files changed, 34 insertions(+), 22 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 0a05774..e856f0c 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
-@@ -471,6 +471,30 @@ void dc_helpers_dp_mst_handle_mst_hpd_rx_irq(void *param)
- }
- }
-
-+/* Depending on Root connector state, update MST state of all connectors
-+ * belonging to it. */
-+static void set_mst_topology_state(struct drm_device *dev)
-+{
-+ struct drm_connector *connector;
-+ struct amdgpu_connector *aconnector = NULL;
-+
-+ mutex_lock(&dev->mode_config.mutex);
-+
-+ list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
-+ mutex_unlock(&dev->mode_config.mutex);
-+
-+ aconnector = to_amdgpu_connector(connector);
-+
-+ if (aconnector->is_mst_connector)
-+ drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr,
-+ aconnector->is_mst_connector);
-+
-+ mutex_lock(&dev->mode_config.mutex);
-+ }
-+
-+ mutex_unlock(&dev->mode_config.mutex);
-+}
-+
- bool dc_helpers_dp_mst_start_top_mgr(
- struct dc_context *ctx,
- const struct dc_link *link)
-@@ -480,7 +504,7 @@ bool dc_helpers_dp_mst_start_top_mgr(
- struct amdgpu_connector *aconnector = get_connector_for_link(dev, link);
-
- aconnector->is_mst_connector = true;
--
-+ set_mst_topology_state(dev);
- return true;
- }
-
-@@ -492,9 +516,8 @@ void dc_helpers_dp_mst_stop_top_mgr(
- struct drm_device *dev = adev->ddev;
- struct amdgpu_connector *aconnector = get_connector_for_link(dev, link);
-
-- drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, false);
--
- aconnector->is_mst_connector = false;
-+ set_mst_topology_state(dev);
- }
-
- bool dc_helper_dp_read_dpcd(
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-index b2b7820..62df355 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-@@ -793,7 +793,7 @@ static void handle_hpd_irq(void *param)
-
- dc_link_detect(aconnector->dc_link);
- amdgpu_dm_update_connector_after_detect(aconnector);
-- drm_helper_hpd_irq_event(dev);
-+ drm_kms_helper_hotplug_event(dev);
- }
-
- static void handle_hpd_rx_irq(void *param)
-@@ -807,7 +807,7 @@ static void handle_hpd_rx_irq(void *param)
- /* Downstream Port status changed. */
- dc_link_detect(aconnector->dc_link);
- amdgpu_dm_update_connector_after_detect(aconnector);
-- drm_helper_hpd_irq_event(dev);
-+ drm_kms_helper_hotplug_event(dev);
- }
-
- if (aconnector->is_mst_connector) {
-@@ -930,9 +930,6 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
-
- register_hpd_handlers(adev);
-
-- /* This is a part of HPD initialization. */
-- drm_kms_helper_poll_init(adev->ddev);
--
- return 0;
- }
-
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index 33fe1a4..492939e 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -988,23 +988,15 @@ 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);
--
-- /*
-- * TODO: check whether we should lock here for mst_mgr.lock
-- */
-- /* set root connector to disconnected */
-- if (aconnector->is_mst_connector) {
-- if (!aconnector->mst_mgr.mst_state)
-- drm_dp_mst_topology_mgr_set_mst(
-- &aconnector->mst_mgr,
-- true);
-+ struct amdgpu_connector *aconnector = to_amdgpu_connector(connector);
-
-- return connector_status_disconnected;
-- }
-+ /* Notes:
-+ * 1. This interface is NOT called in context of HPD irq.
-+ * 2. This interface *is called* in context of user-mode ioctl. Which
-+ * makes it a bad place for *any* MST-related activit. */
-
- connected = (NULL != aconnector->dc_sink);
-+
- return (connected ? connector_status_connected :
- connector_status_disconnected);
- }
---
-2.7.4
-