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
changes in v3:
- fix comment in patch2
- add stable+fixes tags
changes in v4:
- address Marc's comments to patch2
Heiko Stuebner (1):
drm/rockchip: vop: split out core clock enablement into separate
Sandy Huang (1):
drm/rockchip: vop: fix irq disabled after vop driver probed
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 69 ++++++++++++++-------
1 file changed, 48 insertions(+), 21 deletions(-)
dri-devel mailing list