From: Yong Zhao Date: Tue, 2 Jan 2018 18:10:50 +0000 (-0500) Subject: drm/amdkfd: don't always call execute_queues_cpsch() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=40a526dc1edbe08000f49aeb6c7b01406d58a073;p=openwrt%2Fstaging%2Fblogic.git drm/amdkfd: don't always call execute_queues_cpsch() When destroying an inactive queue, we don't need to call execute_queues_cpsch. Signed-off-by: Yong Zhao Reviewed-by: Oak Zeng Signed-off-by: Oded Gabbay --- 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 acfb12100e17..b21285afa4ea 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1013,13 +1013,13 @@ static int destroy_queue_cpsch(struct device_queue_manager *dqm, list_del(&q->list); qpd->queue_count--; - if (q->properties.is_active) + if (q->properties.is_active) { dqm->queue_count--; - - retval = execute_queues_cpsch(dqm, + retval = execute_queues_cpsch(dqm, KFD_UNMAP_QUEUES_FILTER_DYNAMIC_QUEUES, 0); - if (retval == -ETIME) - qpd->reset_wavefronts = true; + if (retval == -ETIME) + qpd->reset_wavefronts = true; + } mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj);