aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarry Wentland <harry.wentland@amd.com>2018-02-13 11:03:01 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-03-05 15:35:59 -0500
commita0e30392dd03727c069d1cf93ee6582473dd3dd6 (patch)
treedfba3561c7c8be25610270b707df324844f77c51
parent589d2739332db0b8e17e0fc827525311c211a410 (diff)
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> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c3
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c6
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc.h2
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 258657d20f88..9a1e82305b07 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2498,8 +2498,7 @@ static inline int dm_set_vblank(struct drm_crtc *crtc, bool enable)
2498 struct amdgpu_device *adev = crtc->dev->dev_private; 2498 struct amdgpu_device *adev = crtc->dev->dev_private;
2499 2499
2500 irq_source = IRQ_TYPE_VBLANK + acrtc->otg_inst; 2500 irq_source = IRQ_TYPE_VBLANK + acrtc->otg_inst;
2501 dc_interrupt_set(adev->dm.dc, irq_source, enable); 2501 return dc_interrupt_set(adev->dm.dc, irq_source, enable) ? 0 : -EBUSY;
2502 return 0;
2503} 2502}
2504 2503
2505static int dm_enable_vblank(struct drm_crtc *crtc) 2504static 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 2bc15a46882a..8394d69b963f 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1516,13 +1516,13 @@ enum dc_irq_source dc_interrupt_to_irq_source(
1516 return dal_irq_service_to_irq_source(dc->res_pool->irqs, src_id, ext_id); 1516 return dal_irq_service_to_irq_source(dc->res_pool->irqs, src_id, ext_id);
1517} 1517}
1518 1518
1519void dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable) 1519bool dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable)
1520{ 1520{
1521 1521
1522 if (dc == NULL) 1522 if (dc == NULL)
1523 return; 1523 return false;
1524 1524
1525 dal_irq_service_set(dc->res_pool->irqs, src, enable); 1525 return dal_irq_service_set(dc->res_pool->irqs, src, enable);
1526} 1526}
1527 1527
1528void dc_interrupt_ack(struct dc *dc, enum dc_irq_source src) 1528void 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 7f0dbf6a866a..2cd97342bf0f 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -705,7 +705,7 @@ enum dc_irq_source dc_interrupt_to_irq_source(
705 struct dc *dc, 705 struct dc *dc,
706 uint32_t src_id, 706 uint32_t src_id,
707 uint32_t ext_id); 707 uint32_t ext_id);
708void dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable); 708bool dc_interrupt_set(struct dc *dc, enum dc_irq_source src, bool enable);
709void dc_interrupt_ack(struct dc *dc, enum dc_irq_source src); 709void dc_interrupt_ack(struct dc *dc, enum dc_irq_source src);
710enum dc_irq_source dc_get_hpd_irq_source_at_index( 710enum dc_irq_source dc_get_hpd_irq_source_at_index(
711 struct dc *dc, uint32_t link_index); 711 struct dc *dc, uint32_t link_index);