aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0892-drm-amd-dal-enable-hpd-rx-irqs-earlier-on-resume.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0892-drm-amd-dal-enable-hpd-rx-irqs-earlier-on-resume.patch')
-rw-r--r--common/recipes-kernel/linux/files/0892-drm-amd-dal-enable-hpd-rx-irqs-earlier-on-resume.patch109
1 files changed, 0 insertions, 109 deletions
diff --git a/common/recipes-kernel/linux/files/0892-drm-amd-dal-enable-hpd-rx-irqs-earlier-on-resume.patch b/common/recipes-kernel/linux/files/0892-drm-amd-dal-enable-hpd-rx-irqs-earlier-on-resume.patch
deleted file mode 100644
index aaf9e23b..00000000
--- a/common/recipes-kernel/linux/files/0892-drm-amd-dal-enable-hpd-rx-irqs-earlier-on-resume.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 692020a27565d2c20016de433e81108e48bbdd20 Mon Sep 17 00:00:00 2001
-From: Mykola Lysenko <Mykola.Lysenko@amd.com>
-Date: Wed, 9 Mar 2016 01:15:00 -0500
-Subject: [PATCH 0892/1110] drm/amd/dal: enable hpd rx irqs earlier on resume
-
-This is needed to correctly process MST mode set
-
-Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
-Acked-by: Harry Wentland <harry.wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 12 ++++++++---
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c | 26 +++++++++++++++++++++--
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.h | 8 +++----
- 3 files changed, 37 insertions(+), 9 deletions(-)
-
-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 bf4ad69..c06f126 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c
-@@ -583,6 +583,15 @@ int amdgpu_dm_display_resume(struct amdgpu_device *adev )
- struct drm_connector *connector;
- int ret = 0;
-
-+ /* program HPD filter */
-+ dc_resume(dm->dc);
-+
-+ /*
-+ * early enable HPD Rx IRQ, should be done before set mode as short
-+ * pulse interrupts are used for MST
-+ */
-+ amdgpu_dm_irq_resume_early(adev);
-+
- /* Do detection*/
- list_for_each_entry(connector,
- &ddev->mode_config.connector_list, head) {
-@@ -606,9 +615,6 @@ int amdgpu_dm_display_resume(struct amdgpu_device *adev )
-
- drm_kms_helper_hotplug_event(ddev);
-
-- /* program HPD filter*/
-- dc_resume(dm->dc);
-- /* resume IRQ */
- amdgpu_dm_irq_resume(adev);
-
- return ret;
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c
-index 2757c5c..f6d7920 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.c
-@@ -522,8 +522,30 @@ int amdgpu_dm_irq_suspend(
- return 0;
- }
-
--int amdgpu_dm_irq_resume(
-- struct amdgpu_device *adev)
-+int amdgpu_dm_irq_resume_early(struct amdgpu_device *adev)
-+{
-+ int src;
-+ struct list_head *hnd_list_h, *hnd_list_l;
-+ unsigned long irq_table_flags;
-+
-+ DM_IRQ_TABLE_LOCK(adev, irq_table_flags);
-+
-+ DRM_DEBUG_KMS("DM_IRQ: early resume\n");
-+
-+ /* re-enable short pulse interrupts HW interrupt */
-+ for (src = DC_IRQ_SOURCE_HPD1RX; src < DC_IRQ_SOURCE_HPD6RX + 1; src++) {
-+ hnd_list_l = &adev->dm.irq_handler_list_low_tab[src].head;
-+ hnd_list_h = &adev->dm.irq_handler_list_high_tab[src];
-+ if (!list_empty(hnd_list_l) || !list_empty(hnd_list_h))
-+ dc_interrupt_set(adev->dm.dc, src, true);
-+ }
-+
-+ DM_IRQ_TABLE_UNLOCK(adev, irq_table_flags);
-+
-+ return 0;
-+}
-+
-+int amdgpu_dm_irq_resume(struct amdgpu_device *adev)
- {
- int src;
- struct list_head *hnd_list_h, *hnd_list_l;
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.h b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.h
-index afedb50..9339861 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.h
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_irq.h
-@@ -109,14 +109,14 @@ void amdgpu_dm_hpd_fini(struct amdgpu_device *adev);
- * amdgpu_dm_irq_suspend - disable ASIC interrupt during suspend.
- *
- */
--int amdgpu_dm_irq_suspend(
-- struct amdgpu_device *adev);
-+int amdgpu_dm_irq_suspend(struct amdgpu_device *adev);
-
- /**
-+ * amdgpu_dm_irq_resume_early - enable HPDRX ASIC interrupts during resume.
- * amdgpu_dm_irq_resume - enable ASIC interrupt during resume.
- *
- */
--int amdgpu_dm_irq_resume(
-- struct amdgpu_device *adev);
-+int amdgpu_dm_irq_resume_early(struct amdgpu_device *adev);
-+int amdgpu_dm_irq_resume(struct amdgpu_device *adev);
-
- #endif /* __AMDGPU_DM_IRQ_H__ */
---
-2.7.4
-