aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0165-drm-amd-display-Clean-index-in-irq-init-loop.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0165-drm-amd-display-Clean-index-in-irq-init-loop.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0165-drm-amd-display-Clean-index-in-irq-init-loop.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0165-drm-amd-display-Clean-index-in-irq-init-loop.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0165-drm-amd-display-Clean-index-in-irq-init-loop.patch
new file mode 100644
index 00000000..9cf53613
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/0165-drm-amd-display-Clean-index-in-irq-init-loop.patch
@@ -0,0 +1,49 @@
+From 353f3882b0a23b6712fe2d42bc347c60961136d4 Mon Sep 17 00:00:00 2001
+From: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
+Date: Wed, 19 Apr 2017 13:55:35 -0400
+Subject: [PATCH 0165/4131] drm/amd/display: Clean index in irq init loop
+
+Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Reviewed-by: Jordan Lazare <Jordan.Lazare@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 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 7bf48c2..3cc2a91 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -1027,8 +1027,8 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
+ * for acknowledging and handling. */
+
+ /* Use VBLANK interrupt */
+- for (i = 0; i < adev->mode_info.num_crtc; i++) {
+- r = amdgpu_irq_add_id(adev, AMDGPU_IH_CLIENTID_LEGACY, i+1, &adev->crtc_irq);
++ for (i = 1; i <= adev->mode_info.num_crtc; i++) {
++ r = amdgpu_irq_add_id(adev, AMDGPU_IH_CLIENTID_LEGACY, i, &adev->crtc_irq);
+
+ if (r) {
+ DRM_ERROR("Failed to add crtc irq id!\n");
+@@ -1037,7 +1037,7 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
+
+ int_params.int_context = INTERRUPT_HIGH_IRQ_CONTEXT;
+ int_params.irq_source =
+- dc_interrupt_to_irq_source(dc, i+1, 0);
++ dc_interrupt_to_irq_source(dc, i, 0);
+
+ c_irq_params = &adev->dm.vblank_params[int_params.irq_source - DC_IRQ_SOURCE_VBLANK1];
+
+@@ -1048,6 +1048,7 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
+ dm_crtc_high_irq, c_irq_params);
+ }
+
++ /* Use GRPH_PFLIP interrupt */
+ for (i = VISLANDS30_IV_SRCID_D1_GRPH_PFLIP;
+ i <= VISLANDS30_IV_SRCID_D6_GRPH_PFLIP; i += 2) {
+ r = amdgpu_irq_add_id(adev, AMDGPU_IH_CLIENTID_LEGACY, i, &adev->pageflip_irq);
+--
+2.7.4
+