linux-stable/drivers/gpu/drm
Nicolai Hähnle 9fc15f5fc8 drm/amdgpu: fix user fence write race condition
The buffer object backing the user fence is reserved using the non-user
fence, i.e., as soon as the non-user fence is signaled, the user fence
buffer object can be moved or even destroyed.

Therefore, emit the user fence first.

Both fences have the same cache invalidation behavior, so this should
have no user-visible effect.

Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-07-05 16:39:57 -05:00
..
amd drm/amdgpu: fix user fence write race condition 2018-07-05 16:39:57 -05:00
arc drm/arc: Stop consulting plane->fb 2018-05-25 20:08:27 +03:00
arm drm/mali-dp: Rectify the width and height passed to rotmem_required() 2018-06-18 18:08:43 +01:00
armada dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
ast drm/ast: fix mode_valid's return type 2018-04-25 09:09:22 +02:00
atmel-hlcdc Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
bochs drm/bochs: fix mode_valid's return type 2018-04-25 09:34:00 +02:00
bridge Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
cirrus drm/cirrus: cirrus_framebuffer -> drm_framebuffer 2018-05-18 14:52:30 +01:00
etnaviv drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
exynos drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
fsl-dcu
gma500 drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
hisilicon drm: kirin: Remove useless "Scale not support" error message 2018-06-25 18:09:38 +02:00
i2c Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
i810
i915 Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
imx Linux 4.16-rc7 2018-03-28 14:30:41 +10:00
lib
mediatek Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
meson drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()' 2018-06-26 10:22:29 +02:00
mga
mgag200 drm/mgag200: fix mode_valid's return type 2018-04-25 09:09:22 +02:00
msm drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
mxsfb drm/mxsfb: Use simple_display_pipe prepare_fb helper 2018-04-24 13:58:43 +02:00
nouveau Merge branch 'linux-4.18' of git://github.com/skeggsb/linux into drm-fixes 2018-06-20 16:57:09 +10:00
omapdrm drm/omap: remove now unused functions 2018-06-25 13:28:06 +10:00
panel drm/panel: Add Ilitek ILI9881c panel driver 2018-06-25 20:03:40 +02:00
pl111 drm/pl111: Fix module probe bug 2018-05-04 00:13:41 +02:00
qxl Only a small qxl fix that was queued for v4.17. 2018-06-20 16:58:49 +10:00
r128
radeon drm/radeon: add SPDX identifier and clarify license 2018-07-05 16:39:54 -05:00
rcar-du DeviceTree updates for v4.18: 2018-06-07 14:06:31 -07:00
rockchip drm/rockchip: vop: fixup linebuffer mode calc error 2018-06-27 14:07:40 +02:00
savage treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
scheduler drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
selftests drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
shmobile drm: shmobile: remove unused MERAM support 2018-05-14 15:47:30 +02:00
sis
sti drm/sti: Stop consulting plane->crtc 2018-05-25 20:08:27 +03:00
stm drm/stm: ltdc: fix warnings in ltdc_plane_create() 2018-04-27 11:02:58 +02:00
sun4i Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
tdfx
tegra Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
tilcdc drm/tilcdc: Fix setting clock divider for omap-l138 2018-05-09 19:55:18 +03:00
tinydrm drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
ttm Merge branch 'drm-next-4.19' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-06-22 13:19:05 +10:00
tve200 drm/tve200: Use simple_display_pipe prepare_fb helper 2018-04-24 13:58:06 +02:00
udl dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
v3d drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
vc4 drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
vgem gpu: drm: vgem: Change return type to vm_fault_t 2018-05-24 14:56:57 +02:00
via treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
virtio drm/virtio: Stop updating plane->crtc 2018-06-11 20:22:44 +03:00
vmwgfx drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
xen drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
zte drm/zte: Stop consulting plane->crtc 2018-03-29 19:14:21 +03:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c Merge drm-upstream/drm-next into drm-misc-next 2018-06-20 13:22:22 -03:00
drm_atomic_helper.c drm: Add writeback connector type 2018-06-20 15:27:49 +01:00
drm_auth.c
drm_blend.c drm/blend: Add a generic alpha property 2018-04-16 21:17:29 +02:00
drm_bridge.c
drm_bufs.c drm: dma_bufs: Fixed checkpatch issues 2018-03-19 09:31:20 -04:00
drm_cache.c
drm_color_mgmt.c kernel.h: Retain constant expression output for max()/min() 2018-04-05 14:17:16 -07:00
drm_connector.c drm: Add writeback connector type 2018-06-20 15:27:49 +01:00
drm_context.c
drm_crtc.c drm: Add checks for atomic_[duplicate/destroy]_state with atomic drivers 2018-06-18 09:20:51 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm: Make ioctls available for in-kernel clients 2018-06-25 16:20:14 +02:00
drm_debugfs.c
drm_debugfs_crc.c drm/crc: Add support for polling on the data fd. 2018-02-05 13:22:44 +01:00
drm_dma.c
drm_dp_aux_dev.c sched/wait, drivers/drm: Convert wait_on_atomic_t() usage to the new wait_var_event() API 2018-03-20 08:23:18 +01:00
drm_dp_dual_mode_helper.c drm/i915: Fix LSPCON TMDS output buffer enabling from low-power state 2018-04-18 16:33:14 +03:00
drm_dp_helper.c drm for v4.18-rc1 2018-06-06 08:16:33 -07:00
drm_dp_mst_topology.c drm/dp/mst: Fix off-by-one typo when dump payload table 2018-03-28 09:12:16 +03:00
drm_drv.c Single fix for v4.18: 2018-06-20 16:58:31 +10:00
drm_dumb_buffers.c drm-misc-next for 4.19: 2018-06-28 13:29:07 +10:00
drm_edid.c drm-misc-next for 4.19: 2018-06-22 12:58:08 +10:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: Stop updating plane->crtc/fb/old_fb on atomic drivers 2018-06-11 20:22:44 +03:00
drm_file.c drm/file: Don't set master on in-kernel clients 2018-06-25 16:18:39 +02:00
drm_flip_work.c
drm_fourcc.c
drm_framebuffer.c drm: Make ioctls available for in-kernel clients 2018-06-25 16:20:14 +02:00
drm_gem.c drm/gem: Document that handle_create must be the last step 2018-03-26 17:42:06 +02:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c drm/gem-fb-helper: Always do implicit sync 2018-06-20 14:43:13 +02:00
drm_global.c
drm_hashtab.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
drm_info.c
drm_internal.h drm: provide management functions for drm_file 2018-06-25 16:17:03 +02:00
drm_ioc32.c drm: Drop DRM_CONTROL_ALLOW from ioctls 2018-05-03 11:28:02 +02:00
drm_ioctl.c drm: Make ioctls available for in-kernel clients 2018-06-25 16:20:14 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c gpu: drm/lease:: Use list_{next/prev}_entry instead of list_entry 2018-03-26 10:38:06 +02:00
drm_legacy.h
drm_lock.c
drm_memory.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
drm_mipi_dsi.c
drm_mm.c drm/mm: Add a search-by-address variant to only inspect a single hole 2018-05-24 15:04:30 +01:00
drm_mode_config.c drm: writeback: Add client capability for exposing writeback connectors 2018-06-20 15:30:20 +01:00
drm_mode_object.c
drm_modes.c drm: Print bad user modes 2018-06-15 23:31:07 +03:00
drm_modeset_helper.c
drm_modeset_lock.c drm/atomic: Call ww_acquire_done after drm_modeset_lock_all 2018-03-05 10:35:32 +01:00
drm_of.c drm: of: Export and rename drm_crtc_port_mask() 2018-06-27 21:44:04 +02:00
drm_panel.c drm/panel: Add device_link from panel device to DRM device 2018-05-18 11:22:06 +02:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Convert to use match_string() helper 2018-05-10 11:36:25 -04:00
drm_pci.c
drm_plane.c drm: Add checks for atomic_[duplicate/destroy]_state with atomic drivers 2018-06-18 09:20:51 +02:00
drm_plane_helper.c drm: Stop updating plane->crtc/fb/old_fb on atomic drivers 2018-06-11 20:22:44 +03:00
drm_prime.c dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
drm_print.c drm: Reduce object size of DRM_DEV_<LEVEL> uses 2018-03-19 15:15:42 +01:00
drm_probe_helper.c Linux 4.16-rc7 2018-03-28 14:30:41 +10:00
drm_property.c drm: Don't pass the index to drm_property_add_enum() 2018-04-27 16:46:50 +03:00
drm_rect.c drm/rect: Handle rounding errors in drm_rect_clip_scaled, v3. 2018-05-04 11:09:54 +02:00
drm_scatter.c
drm_scdc_helper.c drm/scdc-helper: Convert errors into debug messages 2018-03-26 21:37:24 +03:00
drm_simple_kms_helper.c drm/simple-kms-helper: Plumb plane state to the enable hook 2018-03-28 19:19:32 +03:00
drm_syncobj.c Revert 190c462d5be19ba622a82f5fd0625087c870a1e6..bf3012ada1b2222e770de5c35c1bb16f73b3a01d" 2018-05-03 12:38:39 +02:00
drm_sysfs.c drm: remove all control node code 2018-05-03 21:26:32 +02:00
drm_trace.h
drm_trace_points.c
drm_vblank.c Merge tag 'drm-intel-next-2018-03-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2018-03-14 14:53:01 +10:00
drm_vm.c gpu: drm: drm_vm: Adding new typedef vm_fault_t 2018-05-29 08:58:46 +02:00
drm_vma_manager.c
drm_writeback.c drm: writeback: Add out-fences for writeback connectors 2018-06-20 15:29:18 +01:00
Kconfig drm/selftests: Add drm helper selftest 2018-05-04 11:36:45 +02:00
Makefile drm: Add writeback connector type 2018-06-20 15:27:49 +01:00