aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3392-drm-amd-Update-kgd_kfd-interface-for-resuming-SDMA-q.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3392-drm-amd-Update-kgd_kfd-interface-for-resuming-SDMA-q.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3392-drm-amd-Update-kgd_kfd-interface-for-resuming-SDMA-q.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3392-drm-amd-Update-kgd_kfd-interface-for-resuming-SDMA-q.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3392-drm-amd-Update-kgd_kfd-interface-for-resuming-SDMA-q.patch
new file mode 100644
index 00000000..f8649147
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3392-drm-amd-Update-kgd_kfd-interface-for-resuming-SDMA-q.patch
@@ -0,0 +1,39 @@
+From 082a1cee4f26da42fda20211729a56c2bebafce9 Mon Sep 17 00:00:00 2001
+From: Felix Kuehling <Felix.Kuehling@amd.com>
+Date: Wed, 1 Nov 2017 19:21:58 -0400
+Subject: [PATCH 3392/4131] drm/amd: Update kgd_kfd interface for resuming SDMA
+ queues
+
+Add wptr and mm parameters to hqd_sdma_load and pass these parameters
+from device_queue_manager through the mqd_manager.
+
+SDMA doesn't support polling while the engine believes it's idle. The
+driver must update the wptr. The new parameters will be used for looking
+up the updated value from the specified mm when SDMA queues are resumed
+after being disabled.
+
+Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
+Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
+Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
+---
+ drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
+index 4728fad..ea02bfa 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
+@@ -160,7 +160,9 @@ static int load_mqd_sdma(struct mqd_manager *mm, void *mqd,
+ uint32_t pipe_id, uint32_t queue_id,
+ struct queue_properties *p, struct mm_struct *mms)
+ {
+- return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->kgd, mqd);
++ return mm->dev->kfd2kgd->hqd_sdma_load(mm->dev->kgd, mqd,
++ (uint32_t __user *)p->write_ptr,
++ mms);
+ }
+
+ static int update_mqd(struct mqd_manager *mm, void *mqd,
+--
+2.7.4
+