aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2786-drm-amdkfd-PM4-packets-change-to-support-GWS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2786-drm-amdkfd-PM4-packets-change-to-support-GWS.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2786-drm-amdkfd-PM4-packets-change-to-support-GWS.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2786-drm-amdkfd-PM4-packets-change-to-support-GWS.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2786-drm-amdkfd-PM4-packets-change-to-support-GWS.patch
new file mode 100644
index 00000000..712baf25
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2786-drm-amdkfd-PM4-packets-change-to-support-GWS.patch
@@ -0,0 +1,58 @@
+From e9032323acaa206bda52e2cea66568e0167eaf9f Mon Sep 17 00:00:00 2001
+From: Oak Zeng <Oak.Zeng@amd.com>
+Date: Fri, 10 May 2019 09:44:17 -0500
+Subject: [PATCH 2786/2940] drm/amdkfd: PM4 packets change to support GWS
+
+Add a field in map_queues packet to indicate whether
+this is a gws control queue. Only one queue per process
+can be gws control queue. Change num_gws field in
+map_process packet to 7 bits
+
+Change-Id: I0db91d99c6962d14f9202b2eb950f8e7e497b79e
+Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
+Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c | 1 +
+ drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h | 7 ++++---
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c
+index 3fabc93df1a2..9222a43adae1 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c
+@@ -165,6 +165,7 @@ static int pm_map_queues_v9(struct packet_manager *pm, uint32_t *buffer,
+
+ packet->bitfields2.engine_sel =
+ engine_sel__mes_map_queues__compute_vi;
++ packet->bitfields2.gws_control_queue = q->gws ? 1 : 0;
+ packet->bitfields2.queue_type =
+ queue_type__mes_map_queues__normal_compute_vi;
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h b/drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h
+index 89f027eb82e7..2abf2632aa35 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h
+@@ -179,8 +179,7 @@ struct pm4_mes_map_process {
+
+ union {
+ struct {
+- uint32_t num_gws:6;
+- uint32_t reserved7:1;
++ uint32_t num_gws:7;
+ uint32_t sdma_enable:1;
+ uint32_t num_oac:4;
+ uint32_t reserved8:4;
+@@ -275,7 +274,9 @@ struct pm4_mes_map_queues {
+ struct {
+ uint32_t reserved1:4;
+ enum mes_map_queues_queue_sel_enum queue_sel:2;
+- uint32_t reserved2:15;
++ uint32_t reserved5:6;
++ uint32_t gws_control_queue:1;
++ uint32_t reserved2:8;
+ enum mes_map_queues_queue_type_enum queue_type:3;
+ uint32_t reserved3:2;
+ enum mes_map_queues_engine_sel_enum engine_sel:3;
+--
+2.17.1
+