mirror-linux/drivers/gpu/drm/ttm/tests
Pierre-Eric Pelloux-Prayer ddf055b80a drm/ttm: rework pipelined eviction fence handling
Until now ttm stored a single pipelined eviction fence which means
drivers had to use a single entity for these evictions.

To lift this requirement, this commit allows up to 8 entities to
be used.

Ideally a dma_resv object would have been used as a container of
the eviction fences, but the locking rules makes it complex.
dma_resv all have the same ww_class, which means "Attempting to
lock more mutexes after ww_acquire_done." is an error.

One alternative considered was to introduced a 2nd ww_class for
specific resv to hold a single "transient" lock (= the resv lock
would only be held for a short period, without taking any other
locks).

The other option, is to statically reserve a fence array, and
extend the existing code to deal with N fences, instead of 1.

The driver is still responsible to reserve the correct number
of fence slots.

Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Link: https://lore.kernel.org/r/20251121101315.3585-20-pierre-eric.pelloux-prayer@amd.com
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
2025-11-26 13:12:23 +01:00
..
.kunitconfig
Makefile
TODO
ttm_bo_test.c drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
ttm_bo_validate_test.c drm/ttm: rework pipelined eviction fence handling 2025-11-26 13:12:23 +01:00
ttm_device_test.c drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
ttm_kunit_helpers.c drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
ttm_kunit_helpers.h drm/ttm: Replace multiple booleans with flags in device init 2025-10-31 09:14:35 +00:00
ttm_mock_manager.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
ttm_mock_manager.h
ttm_pool_test.c drm/ttm: Replace multiple booleans with flags in pool init 2025-10-31 09:01:08 +00:00
ttm_resource_test.c drm/ttm: rework pipelined eviction fence handling 2025-11-26 13:12:23 +01:00
ttm_tt_test.c drm/ttm/tests: add missing MODULE_DESCRIPTION() macros 2024-06-25 09:53:13 +02:00