drm/rockchip: Use CRTC vblank event interface
Passing -1 as the pipe for vblank events now triggers a WARN_ON, but had
previously made multi-screen unusable anyway. Pass the correct pipe to
the event-send function, and use the new API to make this a bit easier
for us.
Fixes WARN present since
cc1ef118fc for every pageflip event sent:
[ 209.549969] ------------[ cut here ]------------
[ 209.554592] WARNING: CPU: 3 PID: 238 at drivers/gpu/drm/drm_irq.c:924 drm_vblank_count_and_time+0x80/0x88 [drm]()
[ 209.564832] Modules linked in: [...]
[ 209.612401] CPU: 3 PID: 238 Comm: irq/41-
ff940000 Tainted: G W 4.3.0-rc6+ #71
[ 209.620647] Hardware name: Rockchip (Device Tree)
[ 209.625348] [<
c001bb80>] (unwind_backtrace) from [<
c001615c>] (show_stack+0x20/0x24)
[ 209.633079] [<
c001615c>] (show_stack) from [<
c02b2c50>] (dump_stack+0x8c/0x9c)
[ 209.640289] [<
c02b2c50>] (dump_stack) from [<
c0052e88>] (warn_slowpath_common+0x94/0xc4)
[ 209.648364] [<
c0052e88>] (warn_slowpath_common) from [<
c0052f74>] (warn_slowpath_null+0x2c/0x34)
[ 209.657139] [<
c0052f74>] (warn_slowpath_null) from [<
bf17dc30>] (drm_vblank_count_and_time+0x80/0x88 [drm])
[ 209.666875] [<
bf17dc30>] (drm_vblank_count_and_time [drm]) from [<
bf17e484>] (drm_send_vblank_event+0x74/0x7c [drm])
[ 209.677385] [<
bf17e484>] (drm_send_vblank_event [drm]) from [<
bf4c1144>] (vop_win_state_complete+0x4c/0x70 [rockchip_drm_vop])
[ 209.688757] [<
bf4c1144>] (vop_win_state_complete [rockchip_drm_vop]) from [<
bf4c3bdc>] (vop_isr_thread+0x170/0x1d4 [rockchip_drm_vop])
[ 209.700822] [<
bf4c3bdc>] (vop_isr_thread [rockchip_drm_vop]) from [<
c00ab93c>] (irq_thread_fn+0x2c/0x50)
[ 209.710284] [<
c00ab93c>] (irq_thread_fn) from [<
c00abcac>] (irq_thread+0x13c/0x188)
[ 209.717927] [<
c00abcac>] (irq_thread) from [<
c00723c8>] (kthread+0xec/0x104)
[ 209.724965] [<
c00723c8>] (kthread) from [<
c0011638>] (ret_from_fork+0x14/0x3c)
[ 209.732171] ---[ end trace
0690bc604f5d535d ]---
Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Tested-By: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Thierry Reding <treding@nvidia.com>