mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 17:16:27 +07:00
drm/ttm: use bit flag to replace allow_reserved_eviction in ttm_operation_ctx
for saving memory and more bit flag can be used in future Signed-off-by: Roger He <Hongbo.He@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
c02216acf4
commit
d330fca115
@ -346,8 +346,8 @@ static int amdgpu_cs_bo_validate(struct amdgpu_cs_parser *p,
|
||||
struct ttm_operation_ctx ctx = {
|
||||
.interruptible = true,
|
||||
.no_wait_gpu = false,
|
||||
.allow_reserved_eviction = false,
|
||||
.resv = bo->tbo.resv
|
||||
.resv = bo->tbo.resv,
|
||||
.flags = 0
|
||||
};
|
||||
uint32_t domain;
|
||||
int r;
|
||||
|
@ -341,8 +341,8 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev,
|
||||
struct ttm_operation_ctx ctx = {
|
||||
.interruptible = !kernel,
|
||||
.no_wait_gpu = false,
|
||||
.allow_reserved_eviction = true,
|
||||
.resv = resv
|
||||
.resv = resv,
|
||||
.flags = TTM_OPT_FLAG_ALLOW_RES_EVICT
|
||||
};
|
||||
struct amdgpu_bo *bo;
|
||||
enum ttm_bo_type type;
|
||||
|
@ -730,7 +730,8 @@ static bool ttm_bo_evict_swapout_allowable(struct ttm_buffer_object *bo,
|
||||
*locked = false;
|
||||
if (bo->resv == ctx->resv) {
|
||||
reservation_object_assert_held(bo->resv);
|
||||
if (ctx->allow_reserved_eviction || !list_empty(&bo->ddestroy))
|
||||
if (ctx->flags & TTM_OPT_FLAG_ALLOW_RES_EVICT
|
||||
|| !list_empty(&bo->ddestroy))
|
||||
ret = true;
|
||||
} else {
|
||||
*locked = reservation_object_trylock(bo->resv);
|
||||
|
@ -263,8 +263,8 @@ struct ttm_bo_kmap_obj {
|
||||
*
|
||||
* @interruptible: Sleep interruptible if sleeping.
|
||||
* @no_wait_gpu: Return immediately if the GPU is busy.
|
||||
* @allow_reserved_eviction: Allow eviction of reserved BOs.
|
||||
* @resv: Reservation object to allow reserved evictions with.
|
||||
* @flags: Including the following flags
|
||||
*
|
||||
* Context for TTM operations like changing buffer placement or general memory
|
||||
* allocation.
|
||||
@ -272,11 +272,14 @@ struct ttm_bo_kmap_obj {
|
||||
struct ttm_operation_ctx {
|
||||
bool interruptible;
|
||||
bool no_wait_gpu;
|
||||
bool allow_reserved_eviction;
|
||||
struct reservation_object *resv;
|
||||
uint64_t bytes_moved;
|
||||
uint32_t flags;
|
||||
};
|
||||
|
||||
/* Allow eviction of reserved BOs */
|
||||
#define TTM_OPT_FLAG_ALLOW_RES_EVICT 0x1
|
||||
|
||||
/**
|
||||
* ttm_bo_reference - reference a struct ttm_buffer_object
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user