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>
        /* 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);
        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;
 }