drm/amdgpu/mes11: fix to unmap legacy queue
MES fw updated to support unmapping legacy gfx/compute queue. Signed-off-by: Jack Xiao <Jack.Xiao@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
b278b738c3
commit
7acd7ab029
|
@ -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,
|
||||||
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 {
|
||||||
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 {
|
||||||
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 {
|
||||||
|
|
||||||
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];
|
||||||
|
|
Loading…
Reference in New Issue