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",