drm/rockchip: vop: add rk3188 hs_start interrupt as dsp_hold equivalent
authorHeiko Stuebner <heiko@sntech.de>
Sun, 23 Sep 2018 12:37:30 +0000 (14:37 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 27 Sep 2018 09:39:32 +0000 (11:39 +0200)
The hs_start interrupt on rk3188 fires at the start of a new frame, so
serves essentially the same purpose as the dsp_hold_valid irq in checking
when the last frame got delivered when going to standby. So define it
to fix a hang on atomic_disable of the vop because the completion never
really completed before.

Fixes: 428e15cc41e3 ("drm/rockchip: vop: add rk3188 vop definitions")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Sandy Huang <hjc@rock-chips.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180923123730.14706-1-heiko@sntech.de
drivers/gpu/drm/rockchip/rockchip_vop_reg.c

index a6db3cd5544bda960d40e49375c30f81f6522881..047a8867af90421cd04d5d6511e9b2295609631c 100644 (file)
@@ -361,7 +361,11 @@ static const struct vop_win_data rk3188_vop_win_data[] = {
 };
 
 static const int rk3188_vop_intrs[] = {
-       0,
+       /*
+        * hs_start interrupt fires at frame-start, so serves
+        * the same purpose as dsp_hold in the driver.
+        */
+       DSP_HOLD_VALID_INTR,
        FS_INTR,
        LINE_FLAG_INTR,
        BUS_ERROR_INTR,