This reverts commit 4784bc14c0977d1c23c182c60c172f72025880ba. Hold this patch untill the mesa implements the AMDGPU_USERQ_OP_QUERY_STATUS.
Signed-off-by: Prike Liang <[email protected]> --- drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 37 +---------------------- drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h | 1 - include/uapi/drm/amdgpu_drm.h | 2 -- 3 files changed, 1 insertion(+), 39 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c index bff39dcb4068..2f97f35e0af5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c @@ -719,7 +719,6 @@ amdgpu_userq_create(struct drm_file *filp, union drm_amdgpu_userq *args) queue->queue_type = args->in.ip_type; queue->vm = &fpriv->vm; queue->priority = priority; - queue->generation = amdgpu_vm_generation(adev, &fpriv->vm); db_info.queue_type = queue->queue_type; db_info.doorbell_handle = queue->doorbell_handle; @@ -822,36 +821,6 @@ amdgpu_userq_create(struct drm_file *filp, union drm_amdgpu_userq *args) return r; } -static int -amdgpu_userq_query_status(struct drm_file *filp, union drm_amdgpu_userq *args) -{ - struct amdgpu_fpriv *fpriv = filp->driver_priv; - struct amdgpu_userq_mgr *uq_mgr = &fpriv->userq_mgr; - struct amdgpu_device *adev = uq_mgr->adev; - struct amdgpu_usermode_queue *queue; - int queue_id = args->in.queue_id; - - mutex_lock(&uq_mgr->userq_mutex); - - queue = amdgpu_userq_find(uq_mgr, queue_id); - if (!queue) { - dev_dbg(adev->dev, "Invalid queue id to query\n"); - mutex_unlock(&uq_mgr->userq_mutex); - return -EINVAL; - } - args->out_qs.flags = 0; - if (queue->state == AMDGPU_USERQ_STATE_HUNG) - args->out_qs.flags |= AMDGPU_USERQ_QUERY_STATUS_FLAGS_HUNG; - if (queue->generation != amdgpu_vm_generation(adev, &fpriv->vm)) - args->out_qs.flags |= AMDGPU_USERQ_QUERY_STATUS_FLAGS_VRAMLOST; - - if (queue->state == AMDGPU_USERQ_STATE_INVALID_VA) - args->out_qs.flags |= AMDGPU_USERQ_QUERY_STATUS_FLAGS_INVALID_VA; - mutex_unlock(&uq_mgr->userq_mutex); - - return 0; -} - static int amdgpu_userq_input_args_validate(struct drm_device *dev, union drm_amdgpu_userq *args, struct drm_file *filp) @@ -932,11 +901,7 @@ int amdgpu_userq_ioctl(struct drm_device *dev, void *data, if (r) drm_file_err(filp, "Failed to destroy usermode queue\n"); break; - case AMDGPU_USERQ_OP_QUERY_STATUS: - r = amdgpu_userq_query_status(filp, args); - if (r) - drm_file_err(filp, "Failed to query usermode queue status\n"); - break; + default: drm_dbg_driver(dev, "Invalid user queue op specified: %d\n", args->in.op); return -EINVAL; diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h index 670d282ae158..1eaa94f8a291 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h @@ -74,7 +74,6 @@ struct amdgpu_usermode_queue { struct dentry *debugfs_queue; struct list_head userq_va_list; - u64 generation; }; struct amdgpu_userq_funcs { diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h index 1284f026158b..986672e7378c 100644 --- a/include/uapi/drm/amdgpu_drm.h +++ b/include/uapi/drm/amdgpu_drm.h @@ -352,8 +352,6 @@ union drm_amdgpu_ctx { #define AMDGPU_USERQ_QUERY_STATUS_FLAGS_HUNG (1 << 0) /* indicate vram lost since queue was created */ #define AMDGPU_USERQ_QUERY_STATUS_FLAGS_VRAMLOST (1 << 1) -/* the invalid userq VA unmapped */ -#define AMDGPU_USERQ_QUERY_STATUS_FLAGS_INVALID_VA (1 << 2) /* * This structure is a container to pass input configuration -- 2.34.1
