aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAyan Kumar Halder <ayan.halder@arm.com>2018-05-15 12:04:17 -0400
committerLiviu Dudau <Liviu.Dudau@arm.com>2018-07-05 10:19:08 -0400
commitfbcc454e8a350b929cb04fbcfdfa72fab37acf38 (patch)
tree586e55af768a8c0a1a6608f0538477410897e6c0 /drivers/gpu
parentff8fc26a764acdf5e0a2f86430bcb96c7b4eebec (diff)
drm/arm/malidp: Enable/disable interrupts in runtime pm
Display and scaling engine interrupts need to be disabled when the runtime pm invokes malidp_runtime_pm_suspend(). Conversely, they need to be enabled in malidp_runtime_pm_resume(). This patch depends on: https://lkml.org/lkml/2017/5/15/695 Reported-by: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com> Signed-off-by: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com> Signed-off-by: Ayan Kumar Halder <ayan.halder@arm.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/arm/malidp_drv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index 16fa089fa8be..125be226bf6c 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -582,6 +582,8 @@ static int malidp_runtime_pm_suspend(struct device *dev)
582 /* we can only suspend if the hardware is in config mode */ 582 /* we can only suspend if the hardware is in config mode */
583 WARN_ON(!hwdev->hw->in_config_mode(hwdev)); 583 WARN_ON(!hwdev->hw->in_config_mode(hwdev));
584 584
585 malidp_se_irq_fini(hwdev);
586 malidp_de_irq_fini(hwdev);
585 hwdev->pm_suspended = true; 587 hwdev->pm_suspended = true;
586 clk_disable_unprepare(hwdev->mclk); 588 clk_disable_unprepare(hwdev->mclk);
587 clk_disable_unprepare(hwdev->aclk); 589 clk_disable_unprepare(hwdev->aclk);
@@ -600,6 +602,8 @@ static int malidp_runtime_pm_resume(struct device *dev)
600 clk_prepare_enable(hwdev->aclk); 602 clk_prepare_enable(hwdev->aclk);
601 clk_prepare_enable(hwdev->mclk); 603 clk_prepare_enable(hwdev->mclk);
602 hwdev->pm_suspended = false; 604 hwdev->pm_suspended = false;
605 malidp_de_irq_hw_init(hwdev);
606 malidp_se_irq_hw_init(hwdev);
603 607
604 return 0; 608 return 0;
605} 609}