Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbcc454e authored by Ayan Kumar Halder's avatar Ayan Kumar Halder Committed by Liviu Dudau
Browse files

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: default avatarAlexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Signed-off-by: default avatarAlexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Signed-off-by: default avatarAyan Kumar Halder <ayan.halder@arm.com>
Acked-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
parent ff8fc26a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -582,6 +582,8 @@ static int malidp_runtime_pm_suspend(struct device *dev)
	/* we can only suspend if the hardware is in config mode */
	WARN_ON(!hwdev->hw->in_config_mode(hwdev));

	malidp_se_irq_fini(hwdev);
	malidp_de_irq_fini(hwdev);
	hwdev->pm_suspended = true;
	clk_disable_unprepare(hwdev->mclk);
	clk_disable_unprepare(hwdev->aclk);
@@ -600,6 +602,8 @@ static int malidp_runtime_pm_resume(struct device *dev)
	clk_prepare_enable(hwdev->aclk);
	clk_prepare_enable(hwdev->mclk);
	hwdev->pm_suspended = false;
	malidp_de_irq_hw_init(hwdev);
	malidp_se_irq_hw_init(hwdev);

	return 0;
}