aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3653-drm-amd-display-Return-success-when-enabling-interru.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3653-drm-amd-display-Return-success-when-enabling-interru.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3653-drm-amd-display-Return-success-when-enabling-interru.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3653-drm-amd-display-Return-success-when-enabling-interru.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3653-drm-amd-display-Return-success-when-enabling-interru.patch
new file mode 100644
index 00000000..e999115d
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3653-drm-amd-display-Return-success-when-enabling-interru.patch
@@ -0,0 +1,66 @@
+From bd96cdfc81a0ef0f1725f9af80fc43ff918ea535 Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Tue, 13 Feb 2018 11:03:01 -0500
+Subject: [PATCH 3653/4131] drm/amd/display: Return success when enabling
+ interrupt
+
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Reviewed-by: Roman Li <Roman.Li@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +--
+ drivers/gpu/drm/amd/display/dc/core/dc.c | 6 +++---
+ drivers/gpu/drm/amd/display/dc/dc.h | 2 +-
+ 3 files changed, 5 insertions(+), 6 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 91abd47..718e731 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -2567,8 +2567,7 @@ static inline int dm_set_vblank(struct drm_crtc *crtc, bool enable)
+ struct amdgpu_device *adev = crtc->dev->dev_private;
+
+ irq_source = IRQ_TYPE_VBLANK + acrtc->otg_inst;
+- dc_interrupt_set(adev->dm.dc, irq_source, enable);
+- return 0;
++ return dc_interrupt_set(adev->dm.dc, irq_source, enable) ? 0 : -EBUSY;
+ }
+
+ static int dm_enable_vblank(struct drm_crtc *crtc)
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
+index 594ccde..3f71bc5 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
+@@ -1541,13 +1541,13 @@ enum dc_irq_source dc_interrupt_to_irq_source(
+ return dal_irq_service_to_irq_source(dc->res_pool->irqs, src_id, ext_id);
+ }
+
+-void dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable)
++bool dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable)
+ {
+
+ if (dc == NULL)
+- return;
++ return false;
+
+- dal_irq_service_set(dc->res_pool->irqs, src, enable);
++ return dal_irq_service_set(dc->res_pool->irqs, src, enable);
+ }
+
+ void dc_interrupt_ack(struct dc *dc, enum dc_irq_source src)
+diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
+index 57a390e..3051a47 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc.h
++++ b/drivers/gpu/drm/amd/display/dc/dc.h
+@@ -717,7 +717,7 @@ enum dc_irq_source dc_interrupt_to_irq_source(
+ struct dc *dc,
+ uint32_t src_id,
+ uint32_t ext_id);
+-void dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable);
++bool dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable);
+ void dc_interrupt_ack(struct dc *dc, enum dc_irq_source src);
+ enum dc_irq_source dc_get_hpd_irq_source_at_index(
+ struct dc *dc, uint32_t link_index);
+--
+2.7.4
+