diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2767-drm-amdkfd-Init-mqd-managers-in-device-queue-manager.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2767-drm-amdkfd-Init-mqd-managers-in-device-queue-manager.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2767-drm-amdkfd-Init-mqd-managers-in-device-queue-manager.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2767-drm-amdkfd-Init-mqd-managers-in-device-queue-manager.patch new file mode 100644 index 00000000..3a134849 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2767-drm-amdkfd-Init-mqd-managers-in-device-queue-manager.patch @@ -0,0 +1,37 @@ +From 02b4ea3fa70aced57b7fe0831503be06cfdf9746 Mon Sep 17 00:00:00 2001 +From: Oak Zeng <ozeng@amd.com> +Date: Wed, 5 Dec 2018 10:15:27 -0600 +Subject: [PATCH 2767/2940] drm/amdkfd: Init mqd managers in device queue + manager init + +Previously mqd managers was initialized on demand. As there +are only a few type of mqd managers, the on demand initialization +doesn't save too much memory. Initialize them on device +queue initialization instead and delete the get_mqd_manager +interface. This makes codes more organized for future changes. + +Change-Id: I788d14389ecb200f005e94757aeabecdbf6dbabd +Signed-off-by: Oak Zeng <ozeng@amd.com> +Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> +Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 3 --- + 1 file changed, 3 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 602284ffd976..43cba6f4a0f3 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +@@ -1214,9 +1214,6 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q, + if (retval) + goto out_deallocate_sdma_queue; + +- /* Do init_mqd before dqm_lock(dqm) to avoid circular locking order: +- * lock(dqm) -> bo::Reserves +- */ + mqd_mgr = dqm->mqd_mgrs[get_mqd_type_from_queue_type( + q->properties.type)]; + /* +-- +2.17.1 + |