diff options
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.patch | 58 |
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 + |