drm/rockchip: try to fix vblank hang resulting from iommu irq change
From: Heiko Stuebner <heiko@...> Date: Mon, 28 May 2018 14:33:04 +0200
This still tries to address the hang seen by Ezequiel Garcia on rk3288. As Tomasz noted, trying to count enablement can run into concurrency issues, so instead we'll just check if the vop is runtime-enabled to see if it could be the source of the irq and then just do our own clk_enable in the isr to bridge the possible gap between pm_runtime_enable and clk_enable in the core vop_enable() function. Display tested to still work on rk3328 and rk3399, but as I don't see the hang from Ezequiel I hope that this fixes it. changes in v2: - adapt approach ... don't try to count usage ourself, because of possible concurrency issues with vop enable/disable Heiko Stuebner (1): drm/rockchip: vop: split out core clock enablement into separate functions Sandy Huang (1): drm/rockchip: vop: fix irq disabled after vop driver probed drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 72 ++++++++++++++------- 1 file changed, 50 insertions(+), 22 deletions(-) -- 2.17.0
Patches in this set
- [0001] drm/rockchip: vop: split out core clock enablement into (raw)
- [0002] drm/rockchip: vop: fix irq disabled after vop driver (raw)
Statistics
- 2 individual patches
- 50 lines added
- 22 lines removed