linux-stable/drivers/gpu/drm
Gustavo Padovan 1b47aaf9a9 drm/fence: add fence to drm_pending_event
Now a drm_pending_event can either send a real drm_event or signal a
fence, or both. It allow us to signal via fences when the buffer is
displayed on the screen. Which in turn means that the previous buffer
is not in use anymore and can be freed or sent back to another driver
for processing.

v2: Comments from Daniel Vetter
	- call fence_signal in drm_send_event_locked()
	- remove unneeded !e->event check

v3: Remove drm_pending_event->destroy to fix a leak when e->file_priv
is not set.

Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> (v2)
[danvet: fix one e->destroy in arcpgu due to rebasing.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1464818821-5736-13-git-send-email-daniel.vetter@ffwll.ch
2016-06-03 00:01:59 +02:00
..
amd dma-buf/fence: make fence context 64 bit v2 2016-06-02 08:27:41 +02:00
arc drm/fence: add fence to drm_pending_event 2016-06-03 00:01:59 +02:00
arm drm/hdlcd: Clean up crtc hooks 2016-06-02 15:32:31 +02:00
armada drm: Nuke ->vblank_disable_allowed 2016-05-21 07:03:31 +10:00
ast drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
atmel-hlcdc drm: Drop crtc argument from __drm_atomic_helper_crtc_destroy_state 2016-05-17 08:56:41 +02:00
bochs drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
bridge drm/bridge: Add Analogix anx78xx support 2016-05-12 11:32:14 +02:00
cirrus drm/cirrus: Drop redundnant gamma size check 2016-05-31 15:26:32 +02:00
etnaviv dma-buf/fence: make fence context 64 bit v2 2016-06-02 08:27:41 +02:00
exynos drm/exynos: Use for_each_crtc_in_state 2016-06-02 15:51:45 +02:00
fsl-dcu drm: Nuke ->vblank_disable_allowed 2016-05-21 07:03:31 +10:00
gma500 drm: Initialize a linear gamma table by default 2016-05-31 16:56:44 +02:00
hisilicon drm/hisilicon: Use lockless gem BO free callback 2016-05-31 13:28:58 +02:00
i2c
i810
i915 drm: Consolidate plane arrays in drm_atomic_state 2016-06-02 17:20:25 +02:00
imx imx-drm probing fix 2016-05-25 12:36:20 +10:00
mediatek drm/mediatek: Use lockless gem BO free callback 2016-05-31 13:29:20 +02:00
mga
mgag200 drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
msm drm/atomic: Add drm_atomic_crtc_state_for_each_plane_state 2016-06-02 16:59:05 +02:00
nouveau drm/fence: add fence to drm_pending_event 2016-06-03 00:01:59 +02:00
omapdrm drm/omap: Use for_each_plane_in_state 2016-06-02 15:50:16 +02:00
panel drm/panel: simple: Add support for TPK U.S.A. LLC Fusion 7" and 10.1" panels 2016-05-12 11:32:14 +02:00
qxl dma-buf/fence: make fence context 64 bit v2 2016-06-02 08:27:41 +02:00
r128
radeon dma-buf/fence: make fence context 64 bit v2 2016-06-02 08:27:41 +02:00
rcar-du drm/rcar-du: Use for_each_*_in_state 2016-06-02 15:47:28 +02:00
rockchip drm/fence: add fence to drm_pending_event 2016-06-03 00:01:59 +02:00
savage
shmobile drm/shmobile: use drm_crtc_send_vblank_event() 2016-05-02 17:04:50 +02:00
sis
sti remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
sun4i drm: sun4i: tv: Add NTSC output standard 2016-04-28 10:30:05 +02:00
tdfx
tegra Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
tilcdc remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
ttm Linux 4.6-rc7 2016-05-09 13:49:56 +10:00
udl drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
vc4 drm/atomic: Add drm_atomic_crtc_state_for_each_plane_state 2016-06-02 16:59:05 +02:00
vgem drm/vgem: Use lockless gem BO free callback 2016-05-31 15:28:10 +02:00
via
virtio virtio-gpu: fix output lookup 2016-05-31 09:30:37 +02:00
vmwgfx dma-buf/fence: make fence context 64 bit v2 2016-06-02 08:27:41 +02:00
Kconfig drm/mediatek: Add DRM Driver for Mediatek SoC MT8173. 2016-05-06 17:47:35 +02:00
Makefile Merge tag 'drm-intel-next-fixes-2016-05-25' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-05-27 16:08:38 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm/fence: add fence to drm_pending_event 2016-06-03 00:01:59 +02:00
drm_atomic_helper.c drm: Consolidate crtc arrays in drm_atomic_state 2016-06-02 17:20:32 +02:00
drm_auth.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_context.c
drm_crtc.c drm/doc: Appease sphinx 2016-06-02 16:25:20 +02:00
drm_crtc_helper.c drm: Make drm_encoder_helper_funcs optional 2016-05-10 08:54:09 +02:00
drm_crtc_internal.h
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp: Allow signals to interrupt drm_aux-dev reads/writes 2016-04-28 11:48:09 +02:00
drm_dp_dual_mode_helper.c drm: Add helper for DP++ adaptors 2016-05-23 11:10:46 +03:00
drm_dp_helper.c
drm_dp_mst_topology.c Linux 4.6-rc7 2016-05-09 13:49:56 +10:00
drm_drv.c
drm_edid.c drm/edid: add displayid detailed 1 timings to the modelist. (v1.1) 2016-05-23 11:35:31 +10:00
drm_edid_load.c Fix annoyingly awkward typo in drm_edid_load.c 2016-05-30 09:59:28 +02:00
drm_encoder_slave.c
drm_fb_cma_helper.c drm/fb-cma-helper: Add function drm_fb_cma_create_with_funcs() 2016-05-17 09:08:32 +02:00
drm_fb_helper.c drm/fb-helper: Remove dead code in setcolreg 2016-05-31 15:24:58 +02:00
drm_flip_work.c
drm_fops.c drm/fence: add fence to drm_pending_event 2016-06-03 00:01:59 +02:00
drm_gem.c drm/doc: Appease sphinx 2016-06-02 16:25:20 +02:00
drm_gem_cma_helper.c drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-06-02 07:58:36 +10:00
drm_kms_helper_common.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c drm/mm: avoid possible null pointer dereference 2016-05-23 14:56:11 +02:00
drm_modes.c drm/doc: Appease sphinx 2016-06-02 16:25:20 +02:00
drm_modeset_lock.c drm/doc: Unify KMS Locking docs 2016-05-30 11:18:26 +02:00
drm_of.c
drm_panel.c drm/panel: Flesh out kerneldoc 2016-05-06 16:04:48 +02:00
drm_pci.c
drm_plane_helper.c drm/doc: Appease sphinx 2016-06-02 16:25:20 +02:00
drm_platform.c
drm_prime.c drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
drm_probe_helper.c drm: Only create a cmdline mode if no probed modes match 2016-06-02 15:10:22 +02:00
drm_rect.c
drm_scatter.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vm.c
drm_vma_manager.c