linux/drivers/gpu/drm/etnaviv
Lucas Stach fa67ac84a3 drm/etnaviv: don't flush workqueue in etnaviv_gpu_wait_obj_inactive
There is no need to synchronize with oustanding retire jobs if the object
has gone idle. Retire jobs only ever change the object state from active to
idle, not the other way around.

The IOVA put race is uncritical, as the GEM_WAIT ioctl itself is holding
a reference to the GEM object, so the retire worker will not pull the
object into the CPU domain, which is the thing we are trying to guard
against with etnaviv_gpu_wait_obj_inactive. The ordering of the various
counts and waits may change a bit, but the userspace visible behavior at
the bounds of the syscall are unchanged.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-01-02 17:17:07 +01:00
..
cmdstream.xml.h drm/etnaviv: Allow DRAW_INSTANCED commands 2016-12-02 19:30:22 +01:00
common.xml.h drm/etnaviv: update common.xml.h 2017-05-05 17:14:41 +02:00
etnaviv_buffer.c drm/etnaviv: add 'sync point' support 2017-10-10 11:45:45 +02:00
etnaviv_cmd_parser.c drm/etnaviv: add sensitive state for occlusion query address 2017-12-01 17:37:30 +01:00
etnaviv_cmdbuf.c drm/etnaviv: extend etnaviv_gpu_cmdbuf_new(..) with nr_pmrs 2017-10-10 11:45:43 +02:00
etnaviv_cmdbuf.h drm/etnaviv: extend etnaviv_gpu_cmdbuf_new(..) with nr_pmrs 2017-10-10 11:45:43 +02:00
etnaviv_drv.c drm/etnaviv: short-circuit perfmon ioctls 2017-10-22 18:41:56 +02:00
etnaviv_drv.h drm/etnaviv: remove unused function etnaviv_gem_new 2017-10-10 11:46:57 +02:00
etnaviv_dump.c mm, vmalloc: use __GFP_HIGHMEM implicitly 2017-05-08 17:15:13 -07:00
etnaviv_dump.h
etnaviv_gem_prime.c drm/etnaviv: change return type of etnaviv_gem_obj_add to void 2018-01-02 17:07:41 +01:00
etnaviv_gem_submit.c drm/etnaviv: remove -EAGAIN handling from submit path 2018-01-02 17:15:13 +01:00
etnaviv_gem.c drm/etnaviv: get rid of userptr worker 2018-01-02 17:09:47 +01:00
etnaviv_gem.h drm/etnaviv: get rid of userptr worker 2018-01-02 17:09:47 +01:00
etnaviv_gpu.c drm/etnaviv: don't flush workqueue in etnaviv_gpu_wait_obj_inactive 2018-01-02 17:17:07 +01:00
etnaviv_gpu.h drm/etnaviv: use 'sync points' for performance monitor requests 2017-10-10 11:45:47 +02:00
etnaviv_iommu_v2.c drm/etnaviv: remove IOMMU dependency 2017-10-10 11:36:37 +02:00
etnaviv_iommu.c drm/etnaviv: remove IOMMU dependency 2017-10-10 11:36:37 +02:00
etnaviv_iommu.h drm/etnaviv: remove IOMMU dependency 2017-10-10 11:36:37 +02:00
etnaviv_mmu.c drm/etnaviv: Improve unlocking of a mutex in etnaviv_iommu_map_gem() 2017-12-01 17:37:31 +01:00
etnaviv_mmu.h drm/etnaviv: remove IOMMU dependency 2017-10-10 11:36:37 +02:00
etnaviv_perfmon.c drm/etnaviv: add MC perf domain 2017-10-10 11:45:52 +02:00
etnaviv_perfmon.h drm/etnaviv: add performance monitor request processing 2017-10-10 11:45:45 +02:00
Kconfig drm/etnaviv: make THERMAL selectable 2017-12-01 17:37:54 +01:00
Makefile main drm pull request for v4.15 2017-11-15 20:42:10 -08:00
state_3d.xml.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
state_hi.xml.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
state.xml.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00