Skip to content

Commit e28604d

Browse files
Hawking Zhangalexdeucher
authored andcommitted
drm/amdkfd: Drop poison hanlding from gfx v10
Not supported. Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent db6341a commit e28604d

1 file changed

Lines changed: 0 additions & 71 deletions

File tree

drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c

Lines changed: 0 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -129,63 +129,6 @@ enum SQ_INTERRUPT_ERROR_TYPE {
129129
KFD_DEBUG_CP_BAD_OP_ECODE_MASK) \
130130
>> KFD_DEBUG_CP_BAD_OP_ECODE_SHIFT)
131131

132-
static void event_interrupt_poison_consumption(struct kfd_node *dev,
133-
uint16_t pasid, uint16_t client_id)
134-
{
135-
enum amdgpu_ras_block block = 0;
136-
int old_poison, ret = -EINVAL;
137-
uint32_t reset = 0;
138-
struct kfd_process *p = kfd_lookup_process_by_pasid(pasid);
139-
140-
if (!p)
141-
return;
142-
143-
/* all queues of a process will be unmapped in one time */
144-
old_poison = atomic_cmpxchg(&p->poison, 0, 1);
145-
kfd_unref_process(p);
146-
if (old_poison)
147-
return;
148-
149-
switch (client_id) {
150-
case SOC15_IH_CLIENTID_SE0SH:
151-
case SOC15_IH_CLIENTID_SE1SH:
152-
case SOC15_IH_CLIENTID_SE2SH:
153-
case SOC15_IH_CLIENTID_SE3SH:
154-
case SOC15_IH_CLIENTID_UTCL2:
155-
ret = kfd_dqm_evict_pasid(dev->dqm, pasid);
156-
block = AMDGPU_RAS_BLOCK__GFX;
157-
if (ret)
158-
reset = AMDGPU_RAS_GPU_RESET_MODE2_RESET;
159-
break;
160-
case SOC15_IH_CLIENTID_SDMA0:
161-
case SOC15_IH_CLIENTID_SDMA1:
162-
case SOC15_IH_CLIENTID_SDMA2:
163-
case SOC15_IH_CLIENTID_SDMA3:
164-
case SOC15_IH_CLIENTID_SDMA4:
165-
block = AMDGPU_RAS_BLOCK__SDMA;
166-
reset = AMDGPU_RAS_GPU_RESET_MODE2_RESET;
167-
break;
168-
default:
169-
break;
170-
}
171-
172-
kfd_signal_poison_consumed_event(dev, pasid);
173-
174-
/* resetting queue passes, do page retirement without gpu reset
175-
* resetting queue fails, fallback to gpu reset solution
176-
*/
177-
if (!ret)
178-
dev_warn(dev->adev->dev,
179-
"RAS poison consumption, unmap queue flow succeeded: client id %d\n",
180-
client_id);
181-
else
182-
dev_warn(dev->adev->dev,
183-
"RAS poison consumption, fall back to gpu reset flow: client id %d\n",
184-
client_id);
185-
186-
amdgpu_amdkfd_ras_poison_consumption_handler(dev->adev, block, reset);
187-
}
188-
189132
static bool event_interrupt_isr_v10(struct kfd_node *dev,
190133
const uint32_t *ih_ring_entry,
191134
uint32_t *patched_ihre,
@@ -332,11 +275,6 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
332275
REG_GET_FIELD(context_id1, SQ_INTERRUPT_WORD_WAVE_CTXID1,
333276
WGP_ID),
334277
sq_intr_err_type);
335-
if (sq_intr_err_type != SQ_INTERRUPT_ERROR_TYPE_ILLEGAL_INST &&
336-
sq_intr_err_type != SQ_INTERRUPT_ERROR_TYPE_MEMVIOL) {
337-
event_interrupt_poison_consumption(dev, pasid, source_id);
338-
return;
339-
}
340278
break;
341279
default:
342280
break;
@@ -362,9 +300,6 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
362300
client_id == SOC15_IH_CLIENTID_SDMA7) {
363301
if (source_id == SOC15_INTSRC_SDMA_TRAP) {
364302
kfd_signal_event_interrupt(pasid, context_id0 & 0xfffffff, 28);
365-
} else if (source_id == SOC15_INTSRC_SDMA_ECC) {
366-
event_interrupt_poison_consumption(dev, pasid, source_id);
367-
return;
368303
}
369304
} else if (client_id == SOC15_IH_CLIENTID_VMC ||
370305
client_id == SOC15_IH_CLIENTID_VMC1 ||
@@ -388,12 +323,6 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
388323
if (vmid_type && client_id == SOC15_IH_CLIENTID_VMC)
389324
hub_inst = node_id / 4;
390325

391-
if (amdgpu_amdkfd_ras_query_utcl2_poison_status(dev->adev,
392-
hub_inst, vmid_type)) {
393-
event_interrupt_poison_consumption(dev, pasid, client_id);
394-
return;
395-
}
396-
397326
info.vmid = vmid;
398327
info.mc_id = client_id;
399328
info.page_addr = ih_ring_entry[4] |

0 commit comments

Comments
 (0)