Commit 7acd7ab0 authored by Jack Xiao's avatar Jack Xiao Committed by Alex Deucher

drm/amdgpu/mes11: fix to unmap legacy queue

MES fw updated to support unmapping legacy gfx/compute queue.
Signed-off-by: default avatarJack Xiao <Jack.Xiao@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b278b738
...@@ -216,7 +216,7 @@ static int mes_v11_0_unmap_legacy_queue(struct amdgpu_mes *mes, ...@@ -216,7 +216,7 @@ static int mes_v11_0_unmap_legacy_queue(struct amdgpu_mes *mes,
mes_remove_queue_pkt.header.opcode = MES_SCH_API_REMOVE_QUEUE; mes_remove_queue_pkt.header.opcode = MES_SCH_API_REMOVE_QUEUE;
mes_remove_queue_pkt.header.dwsize = API_FRAME_SIZE_IN_DWORDS; mes_remove_queue_pkt.header.dwsize = API_FRAME_SIZE_IN_DWORDS;
mes_remove_queue_pkt.doorbell_offset = input->doorbell_offset << 2; mes_remove_queue_pkt.doorbell_offset = input->doorbell_offset;
mes_remove_queue_pkt.gang_context_addr = 0; mes_remove_queue_pkt.gang_context_addr = 0;
mes_remove_queue_pkt.pipe_id = input->pipe_id; mes_remove_queue_pkt.pipe_id = input->pipe_id;
...@@ -228,10 +228,9 @@ static int mes_v11_0_unmap_legacy_queue(struct amdgpu_mes *mes, ...@@ -228,10 +228,9 @@ static int mes_v11_0_unmap_legacy_queue(struct amdgpu_mes *mes,
mes_remove_queue_pkt.tf_data = mes_remove_queue_pkt.tf_data =
lower_32_bits(input->trail_fence_data); lower_32_bits(input->trail_fence_data);
} else { } else {
if (input->queue_type == AMDGPU_RING_TYPE_GFX) mes_remove_queue_pkt.unmap_legacy_queue = 1;
mes_remove_queue_pkt.unmap_legacy_gfx_queue = 1; mes_remove_queue_pkt.queue_type =
else convert_to_mes_queue_type(input->queue_type);
mes_remove_queue_pkt.unmap_kiq_utility_queue = 1;
} }
mes_remove_queue_pkt.api_status.api_completion_fence_addr = mes_remove_queue_pkt.api_status.api_completion_fence_addr =
......
...@@ -227,6 +227,7 @@ union MESAPI_SET_HW_RESOURCES { ...@@ -227,6 +227,7 @@ union MESAPI_SET_HW_RESOURCES {
uint32_t uint32_t_all; uint32_t uint32_t_all;
}; };
uint32_t oversubscription_timer; uint32_t oversubscription_timer;
uint64_t doorbell_info;
}; };
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS]; uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
...@@ -286,7 +287,8 @@ union MESAPI__REMOVE_QUEUE { ...@@ -286,7 +287,8 @@ union MESAPI__REMOVE_QUEUE {
uint32_t unmap_legacy_gfx_queue : 1; uint32_t unmap_legacy_gfx_queue : 1;
uint32_t unmap_kiq_utility_queue : 1; uint32_t unmap_kiq_utility_queue : 1;
uint32_t preempt_legacy_gfx_queue : 1; uint32_t preempt_legacy_gfx_queue : 1;
uint32_t reserved : 29; uint32_t unmap_legacy_queue : 1;
uint32_t reserved : 28;
}; };
struct MES_API_STATUS api_status; struct MES_API_STATUS api_status;
...@@ -295,6 +297,8 @@ union MESAPI__REMOVE_QUEUE { ...@@ -295,6 +297,8 @@ union MESAPI__REMOVE_QUEUE {
uint64_t tf_addr; uint64_t tf_addr;
uint32_t tf_data; uint32_t tf_data;
enum MES_QUEUE_TYPE queue_type;
}; };
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS]; uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment