mirror of https://gitee.com/openkylin/linux.git
drm/ttm: cleanup io_mem interface with nouveau
Nouveau is the only user of this functionality and evicting io space on -EAGAIN is really a misuse of the return code. Instead switch to using -ENOSPC here which makes much more sense and simplifies the code. This could unbreak something as we now cleanly return EAGAIN, but the chance for this are rather low. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/378237/
This commit is contained in:
parent
e69acf18d0
commit
4b8edc39a4
|
@ -1505,8 +1505,6 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *reg)
|
||||||
if (ret != 1) {
|
if (ret != 1) {
|
||||||
if (WARN_ON(ret == 0))
|
if (WARN_ON(ret == 0))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (ret == -ENOSPC)
|
|
||||||
return -EAGAIN;
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,7 @@ static int ttm_mem_io_evict(struct ttm_mem_type_manager *man)
|
||||||
struct ttm_buffer_object *bo;
|
struct ttm_buffer_object *bo;
|
||||||
|
|
||||||
if (!man->use_io_reserve_lru || list_empty(&man->io_reserve_lru))
|
if (!man->use_io_reserve_lru || list_empty(&man->io_reserve_lru))
|
||||||
return -EAGAIN;
|
return -ENOSPC;
|
||||||
|
|
||||||
bo = list_first_entry(&man->io_reserve_lru,
|
bo = list_first_entry(&man->io_reserve_lru,
|
||||||
struct ttm_buffer_object,
|
struct ttm_buffer_object,
|
||||||
|
@ -143,7 +143,7 @@ int ttm_mem_io_reserve(struct ttm_bo_device *bdev,
|
||||||
mem->bus.io_reserved_count++ == 0) {
|
mem->bus.io_reserved_count++ == 0) {
|
||||||
retry:
|
retry:
|
||||||
ret = bdev->driver->io_mem_reserve(bdev, mem);
|
ret = bdev->driver->io_mem_reserve(bdev, mem);
|
||||||
if (ret == -EAGAIN) {
|
if (ret == -ENOSPC) {
|
||||||
ret = ttm_mem_io_evict(man);
|
ret = ttm_mem_io_evict(man);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
goto retry;
|
goto retry;
|
||||||
|
|
Loading…
Reference in New Issue