linux_dsm_epyc7002/drivers/gpu/drm/amd/amdgpu
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
..
amdgpu_acp.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
amdgpu_acp.h
amdgpu_acpi.c drm/amdgpu: Dynamically probe for ATIF handle (v2) 2018-07-05 16:38:58 -05:00
amdgpu_afmt.c
amdgpu_amdkfd_fence.c
amdgpu_amdkfd_gfx_v7.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gfx_v8.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gfx_v9.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gpuvm.c
amdgpu_amdkfd.c Merge branch 'drm-next-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-06-15 11:32:29 +10:00
amdgpu_amdkfd.h drm/amdgpu: conditionally compile amdgpu's amdkfd files 2018-05-18 22:18:16 +03:00
amdgpu_atombios.c
amdgpu_atombios.h
amdgpu_atomfirmware.c drm/amdgpu: Update GFX info structure to match what vega20 used 2018-05-24 10:07:55 -05:00
amdgpu_atomfirmware.h drm/amdgpu/atomfirmware: add parser for gfx_info table 2018-05-17 10:13:22 -05:00
amdgpu_atpx_handler.c drm/amdgpu: Add amdgpu_atpx_get_dhandle() 2018-07-05 16:38:58 -05:00
amdgpu_benchmark.c
amdgpu_bios.c
amdgpu_bo_list.c
amdgpu_cgs.c drm/amdgpu: Add smu firmware support for vega20 2018-05-17 10:13:10 -05:00
amdgpu_connectors.c
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: Consolidate visible vs. real vram check v2. 2018-06-15 12:20:44 -05:00
amdgpu_ctx.c drm/amdgpu: Rename entity cleanup finctions. 2018-07-05 16:38:46 -05:00
amdgpu_debugfs.c
amdgpu_debugfs.h
amdgpu_device.c drm/amdgpu: Move CG/PG setting out of delay worker thread 2018-07-05 16:38:50 -05:00
amdgpu_display.c
amdgpu_display.h
amdgpu_dpm.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
amdgpu_dpm.h drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
amdgpu_drv.c drm/amd: Replace drm_dev_unref with drm_dev_put 2018-07-05 16:39:53 -05:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c drm/amdgpu: fix the wrong type of gem object creation 2018-07-05 16:39:54 -05:00
amdgpu_fence.c drm/amdgpu: fix UBSAN: Undefined behaviour for amdgpu_fence.c 2018-06-27 14:33:19 -05:00
amdgpu_gart.c drm/amdgpu: Add AMDGPU_GPU_PAGES_IN_CPU_PAGE define 2018-07-05 16:39:49 -05:00
amdgpu_gart.h drm/amdgpu: Add AMDGPU_GPU_PAGES_IN_CPU_PAGE define 2018-07-05 16:39:49 -05:00
amdgpu_gds.h
amdgpu_gem.c drm/amdgpu: fix the wrong type of gem object creation 2018-07-05 16:39:54 -05:00
amdgpu_gfx.c
amdgpu_gfx.h
amdgpu_gmc.h drm/amdgpu: Consolidate visible vs. real vram check v2. 2018-06-15 12:20:44 -05:00
amdgpu_gtt_mgr.c
amdgpu_i2c.c
amdgpu_i2c.h
amdgpu_ib.c drm/amdgpu: fix user fence write race condition 2018-07-05 16:39:57 -05:00
amdgpu_ids.c drm/amdgpu: remove duplicated codes 2018-07-05 16:38:46 -05:00
amdgpu_ids.h
amdgpu_ih.c
amdgpu_ih.h
amdgpu_ioc32.c
amdgpu_irq.c drm/amdgpu: update documentation for amdgpu_irq.c v3 2018-06-15 12:20:44 -05:00
amdgpu_irq.h
amdgpu_job.c
amdgpu_kms.c drm/amdgpu: update ib_start/size_alignment same as windows used 2018-06-19 13:17:39 -05:00
amdgpu_mn.c drm/amdgpu: fix typo in amdgpu_mn.c comments 2018-06-15 12:20:43 -05:00
amdgpu_mn.h
amdgpu_mode.h
amdgpu_object.c Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
amdgpu_object.h drm/amdgpu: Add helper function to get buffer domain 2018-05-29 13:17:51 -05:00
amdgpu_pll.c
amdgpu_pll.h
amdgpu_pm.c drm/amdgpu/pm: fix display count in non-DC path 2018-07-05 16:39:50 -05:00
amdgpu_pm.h
amdgpu_prime.c drm/amdgpu: Remove amdgpu_gem_map_attach target_dev documentation 2018-07-05 16:39:50 -05:00
amdgpu_psp.c drm/amdgpu/psp: Add initial psp support for vega20 2018-05-17 10:13:11 -05:00
amdgpu_psp.h
amdgpu_queue_mgr.c drm/amdgpu: add AMDGPU_HW_IP_VCN_JPEG to queue mgr 2018-06-15 12:20:40 -05:00
amdgpu_ring.c drm/amdgpu: define and add extra dword for jpeg ring 2018-06-15 12:20:37 -05:00
amdgpu_ring.h drm/amdgpu: define and add extra dword for jpeg ring 2018-06-15 12:20:37 -05:00
amdgpu_sa.c
amdgpu_sched.c
amdgpu_sched.h
amdgpu_sync.c
amdgpu_sync.h
amdgpu_test.c drm/amd: add SPDX identifier and clarify license 2018-07-05 16:39:53 -05:00
amdgpu_trace_points.c
amdgpu_trace.h
amdgpu_ttm.c drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
amdgpu_ttm.h drm/amdgpu: Refactor amdgpu_vram_mgr_bo_invisible_size helper 2018-06-19 13:51:22 -05:00
amdgpu_ucode.c drm/amdgpu: Set vega20 load_type to AMDGPU_FW_LOAD_DIRECT. 2018-05-17 10:13:22 -05:00
amdgpu_ucode.h
amdgpu_uvd.c drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
amdgpu_uvd.h drm/amdgpu:All UVD instances share one idle_work handle 2018-06-19 13:34:27 -05:00
amdgpu_vce.c drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
amdgpu_vce.h
amdgpu_vcn.c Merge v4.18-rc3 into drm-next 2018-07-04 10:27:12 +10:00
amdgpu_vcn.h drm/amdgpu: add vcn jpeg ib test 2018-06-15 12:20:38 -05:00
amdgpu_vf_error.c
amdgpu_vf_error.h
amdgpu_virt.c
amdgpu_virt.h
amdgpu_vm.c drm/amdgpu: Add AMDGPU_GPU_PAGES_IN_CPU_PAGE define 2018-07-05 16:39:49 -05:00
amdgpu_vm.h drm/amdgpu: move VM BOs on LRU again 2018-05-24 10:07:54 -05:00
amdgpu_vram_mgr.c drm/amdgpu: Use gmc_vram_full_visible in vram_mgr_bo_invisible_size 2018-07-05 16:39:49 -05:00
amdgpu.h drm/amdgpu: Add amdgpu_atpx_get_dhandle() 2018-07-05 16:38:58 -05:00
atom.c Revert "drm/amdgpu: avoid sleep while executing atombios table (V2)" 2018-07-05 16:38:27 -05:00
atom.h
atombios_crtc.c
atombios_crtc.h
atombios_dp.c
atombios_dp.h
atombios_encoders.c
atombios_encoders.h
atombios_i2c.c
atombios_i2c.h
ci_dpm.c drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
ci_dpm.h
ci_smc.c
cik_dpm.h
cik_ih.c
cik_ih.h
cik_sdma.c drm/amdgpu/sdma: simplify sdma instance setup 2018-07-05 16:39:52 -05:00
cik_sdma.h
cik.c drm/amdgpu/pp: switch the default dpm implementation for CI 2018-06-15 12:20:30 -05:00
cik.h
cikd.h
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h
clearstate_si.h
clearstate_vi.h
cz_ih.c
cz_ih.h
dce_v6_0.c
dce_v6_0.h
dce_v8_0.c
dce_v8_0.h
dce_v10_0.c
dce_v10_0.h
dce_v11_0.c
dce_v11_0.h
dce_virtual.c drm/amdgpu/virtual_dce: Add vega20 support 2018-05-17 10:13:13 -05:00
dce_virtual.h
df_v1_7.c drm/amdgpu: add a df 1.7 implementation of enable_ecc_force_par_wr_rmw 2018-05-23 23:51:21 -05:00
df_v1_7.h
df_v3_6.c drm/amdgpu/df: fix potential array out-of-bounds read 2018-06-01 09:45:05 -05:00
df_v3_6.h drm/amdgpu/df: implement df v3_6 callback functions (v2) 2018-05-18 16:08:15 -05:00
emu_soc.c
gfx_v6_0.c
gfx_v6_0.h
gfx_v7_0.c
gfx_v7_0.h
gfx_v8_0.c drm/amdgpu: Split set_pg_state into separate function 2018-07-05 16:38:50 -05:00
gfx_v8_0.h
gfx_v9_0.c drm/amdgpu: Add gfx_off support in smu through pp_set_powergating_by_smu 2018-07-05 16:38:49 -05:00
gfx_v9_0.h
gfxhub_v1_0.c
gfxhub_v1_0.h
gmc_v6_0.c
gmc_v6_0.h
gmc_v7_0.c
gmc_v7_0.h
gmc_v8_0.c
gmc_v8_0.h
gmc_v9_0.c drm/amdgpu/gmc9: disable partial wr rmw if ECC is not enabled 2018-05-23 23:51:22 -05:00
gmc_v9_0.h
iceland_ih.c
iceland_ih.h
iceland_sdma_pkt_open.h
Kconfig
kv_dpm.c drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
kv_dpm.h
kv_smc.c
Makefile drm/amdgpu/df: implement df v3_6 callback functions (v2) 2018-05-18 16:08:15 -05:00
mmhub_v1_0.c drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
mmhub_v1_0.h
mmsch_v1_0.h
mxgpu_ai.c
mxgpu_ai.h
mxgpu_vi.c
mxgpu_vi.h
nbio_v6_1.c
nbio_v6_1.h
nbio_v7_0.c drm/amdgpu: Add nbio support for vega20 (v2) 2018-05-17 10:13:18 -05:00
nbio_v7_0.h
ObjectID.h drm/amdgpu: Add BRACKET_LAYOUT_ENUMs to ObjectID.h 2018-06-15 12:20:42 -05:00
ppsmc.h
psp_gfx_if.h
psp_v3_1.c drm/amdgpu: add checking for sos version 2018-06-13 13:45:20 -05:00
psp_v3_1.h
psp_v10_0.c
psp_v10_0.h
r600_dpm.h
sdma_v2_4.c drm/amdgpu/sdma: simplify sdma instance setup 2018-07-05 16:39:52 -05:00
sdma_v2_4.h
sdma_v3_0.c drm/amdgpu/sdma: simplify sdma instance setup 2018-07-05 16:39:52 -05:00
sdma_v3_0.h
sdma_v4_0.c drm/amdgpu/sdma: simplify sdma instance setup 2018-07-05 16:39:52 -05:00
sdma_v4_0.h
si_dma.c
si_dma.h
si_dpm.c Merge branch 'drm-next-4.19' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-06-22 13:19:05 +10:00
si_dpm.h
si_enums.h
si_ih.c
si_ih.h
si_smc.c
si.c
si.h
sid.h
sislands_smc.h
soc15_common.h drm/amdgpu: Add SOC15_WAIT_ON_RREG macro define 2018-05-24 00:18:02 -05:00
soc15.c drm/amdgpu: typo fix for vega20 cg flags 2018-05-30 12:37:05 -05:00
soc15.h drm/amdgpu/soc15: dynamic initialize ip offset for vega20 2018-05-17 10:13:17 -05:00
soc15d.h drm/amdgpu: add jpeg packet defines to soc15d.h 2018-06-15 12:20:34 -05:00
tonga_ih.c
tonga_ih.h
tonga_sdma_pkt_open.h
uvd_v4_2.c drm/amdgpu: fix insert nop for UVD4.2 ring 2018-05-18 16:08:32 -05:00
uvd_v4_2.h
uvd_v5_0.c drm/amdgpu: fix insert nop for UVD5 ring 2018-05-18 16:08:32 -05:00
uvd_v5_0.h
uvd_v6_0.c drm/amdgpu: update uvd_v6_0_ring_vm_funcs to use new nop packet 2018-07-05 16:39:54 -05:00
uvd_v6_0.h
uvd_v7_0.c drm/scheduler: Rename cleanup functions v2. 2018-07-05 16:38:45 -05:00
uvd_v7_0.h
vce_v2_0.c drm/amdgpu/vce: simplify vce instance setup 2018-07-05 16:39:53 -05:00
vce_v2_0.h
vce_v3_0.c drm/amdgpu/vce: simplify vce instance setup 2018-07-05 16:39:53 -05:00
vce_v3_0.h
vce_v4_0.c drm/amdgpu/vce: simplify vce instance setup 2018-07-05 16:39:53 -05:00
vce_v4_0.h
vcn_v1_0.c drm/amdgpu: add vcn jpeg ib test 2018-06-15 12:20:38 -05:00
vcn_v1_0.h
vega10_ih.c
vega10_ih.h
vega10_reg_init.c
vega10_sdma_pkt_open.h
vega20_reg_init.c drm/amdgpu/soc15: dynamic initialize ip offset for vega20 2018-05-17 10:13:17 -05:00
vi_dpm.h
vi.c
vi.h
vid.h