[PATCH 75/83] hsa/radeon: Fixing minor issues with kernel queues (DIQ)
From: Ben Goz * re-execute runlist on kernel queues destruction. * delete kernel queues from pqm's queues list on pqm unint Signed-off-by: Ben Goz Signed-off-by: Oded Gabbay --- drivers/gpu/hsa/radeon/kfd_device_queue_manager.c | 4 drivers/gpu/hsa/radeon/kfd_process_queue_manager.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c b/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c index 4c53e57..12b8b33 100644 --- a/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c +++ b/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c @@ -759,6 +759,10 @@ static void destroy_kernel_queue_cpsch(struct device_queue_manager *dqm, { BUG_ON(!dqm || !kq); + pr_debug("kfd: In %s\n", __func__); + + dqm->destroy_queues(dqm); + mutex_lock(>lock); list_del(>list); dqm->queue_count--; diff --git a/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c b/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c index 89461ab..5d7c46d 100644 --- a/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c +++ b/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c @@ -273,10 +273,10 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) if (retval != 0) return retval; - list_del(>process_queue_list); uninit_queue(pqn->q); } + list_del(>process_queue_list); kfree(pqn); clear_bit(qid, pqm->queue_slot_bitmap); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 75/83] hsa/radeon: Fixing minor issues with kernel queues (DIQ)
From: Ben Goz ben@amd.com * re-execute runlist on kernel queues destruction. * delete kernel queues from pqm's queues list on pqm unint Signed-off-by: Ben Goz ben@amd.com Signed-off-by: Oded Gabbay oded.gab...@amd.com --- drivers/gpu/hsa/radeon/kfd_device_queue_manager.c | 4 drivers/gpu/hsa/radeon/kfd_process_queue_manager.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c b/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c index 4c53e57..12b8b33 100644 --- a/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c +++ b/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c @@ -759,6 +759,10 @@ static void destroy_kernel_queue_cpsch(struct device_queue_manager *dqm, { BUG_ON(!dqm || !kq); + pr_debug(kfd: In %s\n, __func__); + + dqm-destroy_queues(dqm); + mutex_lock(dqm-lock); list_del(kq-list); dqm-queue_count--; diff --git a/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c b/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c index 89461ab..5d7c46d 100644 --- a/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c +++ b/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c @@ -273,10 +273,10 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) if (retval != 0) return retval; - list_del(pqn-process_queue_list); uninit_queue(pqn-q); } + list_del(pqn-process_queue_list); kfree(pqn); clear_bit(qid, pqm-queue_slot_bitmap); -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/