Files
linux/drivers/gpu/drm/xe
Thomas Hellström 4c44f89c5d drm/ttm, drm/amdgpu, drm/xe: Consider hitch moves within bulk sublist moves
To address the problem with hitches moving when bulk move
sublists are lru-bumped, register the list cursors with the
ttm_lru_bulk_move structure when traversing its list, and
when lru-bumping the list, move the cursor hitch to the tail.
This also means it's mandatory for drivers to call
ttm_lru_bulk_move_init() and ttm_lru_bulk_move_fini() when
initializing and finalizing the bulk move structure, so add
those calls to the amdgpu- and xe driver.

Compared to v1 this is slightly more code but less fragile
and hopefully easier to understand.

Changes in previous series:
- Completely rework the functionality
- Avoid a NULL pointer dereference assigning manager->mem_type
- Remove some leftover code causing build problems
v2:
- For hitch bulk tail moves, store the mem_type in the cursor
  instead of with the manager.
v3:
- Remove leftover mem_type member from change in v2.
v6:
- Add some lockdep asserts (Matthew Brost)
- Avoid NULL pointer dereference (Matthew Brost)
- No need to check bo->resource before dereferencing
  bo->bulk_move (Matthew Brost)

Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240705153206.68526-5-thomas.hellstrom@linux.intel.com
Signed-off-by: Christian König <christian.koenig@amd.com>
2024-07-09 12:39:33 +02:00
..
2024-04-17 15:21:12 -07:00
2023-12-21 11:41:16 -05:00
2024-04-02 10:33:57 -07:00
2023-12-19 18:33:50 -05:00
2023-12-21 11:37:31 -05:00
2024-04-02 10:33:57 -07:00
2024-03-14 14:47:13 -07:00
2024-04-08 12:03:19 -07:00
2024-04-08 12:03:19 -07:00
2024-05-09 17:51:46 +02:00
2024-04-02 10:33:57 -07:00
2024-04-02 10:33:57 -07:00
2024-04-02 10:33:57 -07:00
2024-04-09 14:18:48 -07:00
2023-12-21 11:45:28 -05:00
2024-04-02 10:33:57 -07:00
2023-12-21 11:45:24 -05:00
2023-12-19 18:31:30 -05:00
2023-12-21 11:45:06 -05:00
2023-12-21 11:45:06 -05:00
2024-01-18 11:04:34 -08:00
2023-12-21 11:44:39 -05:00