diff options
author | Christian König <christian.koenig@amd.com> | 2022-06-13 09:37:03 +0200 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2022-06-14 11:15:19 +0200 |
commit | 0f9cd1ea10d307cad221d6693b648a8956e812b0 (patch) | |
tree | 8ee0f06a134fbbec7549c8b4d6551949b4014194 /include/drm | |
parent | 81b0d0e4f811553cbe2d58c8a495c124fb626432 (diff) | |
download | linux-0f9cd1ea10d307cad221d6693b648a8956e812b0.tar.gz linux-0f9cd1ea10d307cad221d6693b648a8956e812b0.tar.bz2 linux-0f9cd1ea10d307cad221d6693b648a8956e812b0.zip |
drm/ttm: fix bulk move handling v2
The resource must be on the LRU before ttm_lru_bulk_move_add() is called
and we need to check if the BO is pinned or not before adding it.
Additional to that we missed taking the LRU spinlock in ttm_bo_unpin().
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Acked-by: Luben Tuikov <luben.tuikov@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220613080816.4965-1-christian.koenig@amd.com
Fixes: fee2ede15542 ("drm/ttm: rework bulk move handling v5")
Diffstat (limited to 'include/drm')
-rw-r--r-- | include/drm/ttm/ttm_resource.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/drm/ttm/ttm_resource.h b/include/drm/ttm/ttm_resource.h index 441653693970..ca89a48c2460 100644 --- a/include/drm/ttm/ttm_resource.h +++ b/include/drm/ttm/ttm_resource.h @@ -311,12 +311,12 @@ ttm_resource_manager_cleanup(struct ttm_resource_manager *man) } void ttm_lru_bulk_move_init(struct ttm_lru_bulk_move *bulk); -void ttm_lru_bulk_move_add(struct ttm_lru_bulk_move *bulk, - struct ttm_resource *res); -void ttm_lru_bulk_move_del(struct ttm_lru_bulk_move *bulk, - struct ttm_resource *res); void ttm_lru_bulk_move_tail(struct ttm_lru_bulk_move *bulk); +void ttm_resource_add_bulk_move(struct ttm_resource *res, + struct ttm_buffer_object *bo); +void ttm_resource_del_bulk_move(struct ttm_resource *res, + struct ttm_buffer_object *bo); void ttm_resource_move_to_lru_tail(struct ttm_resource *res); void ttm_resource_init(struct ttm_buffer_object *bo, |