summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c28
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_process.c12
2 files changed, 17 insertions, 23 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index 4ae7f4c6365e..5c9dfb0c424f 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -1027,17 +1027,15 @@ static int destroy_queue_nocpsch(struct device_queue_manager *dqm,
/* Get the SDMA queue stats */
if ((q->properties.type == KFD_QUEUE_TYPE_SDMA) ||
(q->properties.type == KFD_QUEUE_TYPE_SDMA_XGMI)) {
- if (KFD_GC_VERSION(dqm->dev) <= IP_VERSION(9, 4, 2))
+ if (dqm->dev->kfd2kgd->hqd_sdma_get_counter)
+ retval = dqm->dev->kfd2kgd->hqd_sdma_get_counter(
+ dqm->dev->adev, q->mqd,
+ dqm->dev->kfd->device_info.num_sdma_queues_per_engine,
+ &sdma_val);
+ else
retval = read_sdma_queue_counter(
(uint64_t __user *)q->properties.read_ptr,
&sdma_val);
- else
- retval = dqm->dev->kfd2kgd->hqd_sdma_get_counter ?
- dqm->dev->kfd2kgd->hqd_sdma_get_counter(
- dqm->dev->adev, q->mqd,
- dqm->dev->kfd->device_info.num_sdma_queues_per_engine,
- &sdma_val) :
- -EOPNOTSUPP;
if (retval)
dev_err(dev, "Failed to read SDMA queue counter for queue: %d\n",
q->properties.queue_id);
@@ -2675,17 +2673,15 @@ static int destroy_queue_cpsch(struct device_queue_manager *dqm,
/* Get the SDMA queue stats */
if ((q->properties.type == KFD_QUEUE_TYPE_SDMA) ||
(q->properties.type == KFD_QUEUE_TYPE_SDMA_XGMI)) {
- if (KFD_GC_VERSION(dqm->dev) <= IP_VERSION(9, 4, 2))
+ if (dqm->dev->kfd2kgd->hqd_sdma_get_counter)
+ retval = dqm->dev->kfd2kgd->hqd_sdma_get_counter(
+ dqm->dev->adev, q->mqd,
+ dqm->dev->kfd->device_info.num_sdma_queues_per_engine,
+ &sdma_val);
+ else
retval = read_sdma_queue_counter(
(uint64_t __user *)q->properties.read_ptr,
&sdma_val);
- else
- retval = dqm->dev->kfd2kgd->hqd_sdma_get_counter ?
- dqm->dev->kfd2kgd->hqd_sdma_get_counter(
- dqm->dev->adev, q->mqd,
- dqm->dev->kfd->device_info.num_sdma_queues_per_engine,
- &sdma_val) :
- -EOPNOTSUPP;
if (retval)
dev_err(dev, "Failed to read SDMA queue counter for queue: %d\n",
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 9b7b00154c69..303b2b26f1cc 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -192,15 +192,13 @@ static void kfd_sdma_activity_worker(struct work_struct *work)
list_for_each_entry(sdma_q, &sdma_q_list.list, list) {
val = 0;
- if (KFD_GC_VERSION(dqm->dev) <= IP_VERSION(9, 4, 2))
- ret = read_sdma_queue_counter(sdma_q->rptr, &val);
- else
- ret = dqm->dev->kfd2kgd->hqd_sdma_get_counter ?
- dqm->dev->kfd2kgd->hqd_sdma_get_counter(
+ if (dqm->dev->kfd2kgd->hqd_sdma_get_counter)
+ ret = dqm->dev->kfd2kgd->hqd_sdma_get_counter(
dqm->dev->adev, sdma_q->mqd,
dqm->dev->kfd->device_info.num_sdma_queues_per_engine,
- &val) :
- -EOPNOTSUPP;
+ &val);
+ else
+ ret = read_sdma_queue_counter(sdma_q->rptr, &val);
if (ret) {
pr_debug("Failed to read SDMA queue active counter for queue id: %d",