linux/drivers/gpu/drm/rockchip
Daniel Stone c9fbb7f7b5 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>
2015-12-02 10:22:21 +08:00
..
dw_hdmi-rockchip.c drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test 2015-04-01 10:54:13 +01:00
Kconfig drm: rockchip: add reset controller dependency 2015-01-31 10:11:48 +10:00
Makefile drm: bridge/dw_hdmi: add rockchip rk3288 support 2015-01-07 18:32:00 +01:00
rockchip_drm_drv.c Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()" 2015-11-13 09:59:46 +10:00
rockchip_drm_drv.h
rockchip_drm_fb.c drm/rockchip: only call drm_fb_helper_hotplug_event if fb_helper present 2015-07-13 13:50:52 +08:00
rockchip_drm_fb.h
rockchip_drm_fbdev.c drm/rockchip: Use new drm_fb_helper functions 2015-08-06 14:12:56 +02:00
rockchip_drm_fbdev.h
rockchip_drm_gem.c drm/rockchip: unset pgoff when mmap'ing gems 2015-12-02 09:13:17 +08:00
rockchip_drm_gem.h drm/rockchip: Only alloc a kmap for fbdev gem object 2015-03-16 10:07:12 +08:00
rockchip_drm_vop.c drm/rockchip: Use CRTC vblank event interface 2015-12-02 10:22:21 +08:00
rockchip_drm_vop.h drm/rockchip: vop: support plane scale 2015-08-26 14:16:26 +08:00