mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
drm/amdkfd: Enable per-process XNACK for GFX 12.1.0
GFX 12.1.0 will support enabling/disabling XNACK on a per- process basis. This change enables the per process XNACK feature. Signed-off-by: Mukul Joshi <mukul.joshi@amd.com> Reviewed-by: Philip Yang <Philip.Yang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
6f894c9249
commit
cc52af1a96
|
|
@ -253,6 +253,7 @@ struct mes_add_queue_input {
|
|||
uint32_t is_aql_queue;
|
||||
uint32_t queue_size;
|
||||
uint32_t exclusively_scheduled;
|
||||
uint32_t sh_mem_config_data;
|
||||
};
|
||||
|
||||
struct mes_remove_queue_input {
|
||||
|
|
|
|||
|
|
@ -339,6 +339,8 @@ static int mes_v12_1_add_hw_queue(struct amdgpu_mes *mes,
|
|||
mes_add_queue_pkt.is_aql_queue = input->is_aql_queue;
|
||||
mes_add_queue_pkt.gds_size = input->queue_size;
|
||||
|
||||
mes_add_queue_pkt.full_sh_mem_config_data = input->sh_mem_config_data;
|
||||
|
||||
return mes_v12_1_submit_pkt_and_poll_completion(mes,
|
||||
xcc_id, AMDGPU_MES_SCHED_PIPE,
|
||||
&mes_add_queue_pkt, sizeof(mes_add_queue_pkt),
|
||||
|
|
|
|||
|
|
@ -255,6 +255,7 @@ static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
|
|||
queue_input.queue_type = (uint32_t)queue_type;
|
||||
|
||||
queue_input.exclusively_scheduled = q->properties.is_gws;
|
||||
queue_input.sh_mem_config_data = qpd->sh_mem_config;
|
||||
|
||||
amdgpu_mes_lock(&adev->mes);
|
||||
r = adev->mes.funcs->add_hw_queue(&adev->mes, &queue_input);
|
||||
|
|
|
|||
|
|
@ -215,7 +215,8 @@ enum cache_policy {
|
|||
((KFD_GC_VERSION(dev) == IP_VERSION(9, 4, 2)) || \
|
||||
(KFD_GC_VERSION(dev) == IP_VERSION(9, 4, 3)) || \
|
||||
(KFD_GC_VERSION(dev) == IP_VERSION(9, 4, 4)) || \
|
||||
(KFD_GC_VERSION(dev) == IP_VERSION(9, 5, 0)))
|
||||
(KFD_GC_VERSION(dev) == IP_VERSION(9, 5, 0)) || \
|
||||
(KFD_GC_VERSION(dev) == IP_VERSION(12, 1, 0)))
|
||||
|
||||
struct kfd_node;
|
||||
|
||||
|
|
|
|||
|
|
@ -1557,7 +1557,8 @@ bool kfd_process_xnack_mode(struct kfd_process *p, bool supported)
|
|||
* management and memory-manager-related preemptions or
|
||||
* even deadlocks.
|
||||
*/
|
||||
if (KFD_GC_VERSION(dev) >= IP_VERSION(10, 1, 1))
|
||||
if (KFD_GC_VERSION(dev) >= IP_VERSION(10, 1, 1) &&
|
||||
KFD_GC_VERSION(dev) < IP_VERSION(12, 1, 0))
|
||||
return false;
|
||||
|
||||
if (dev->kfd->noretry)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user