[AMD Official Use Only - General] Good catch! The PASID_SRC bit is only used in IH_COOKIE which is sent as register write to the IH by IH_client. But in the interrupt packet from IH to driver, the corresponding bit is always reserved. PASID_SRC is not to be used for driver. Reviewed-by: Aaron Liu <aaron.liu@xxxxxxx> > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Xiaomeng Hou > Sent: Thursday, April 27, 2023 3:17 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Ji, Ruili > <Ruili.Ji@xxxxxxx>; Hou, Xiaomeng (Matthew) <Xiaomeng.Hou@xxxxxxx>; > Koenig, Christian <Christian.Koenig@xxxxxxx> > Subject: [PATCH] drm/amdgpu: remove pasid_src field from IV entry > > PASID_SRC is not actually present in the Interrupt Packet, the field is taken as > reserved bits now. So remove it from IV entry to avoid misuse. > > Signed-off-by: Xiaomeng Hou <Xiaomeng.Hou@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 1 - > drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 1 - > 2 files changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c > index d58353c89e59..fceb3b384955 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c > @@ -271,7 +271,6 @@ void amdgpu_ih_decode_iv_helper(struct > amdgpu_device *adev, > entry->timestamp_src = dw[2] >> 31; > entry->pasid = dw[3] & 0xffff; > entry->node_id = (dw[3] >> 16) & 0xff; > - entry->pasid_src = dw[3] >> 31; > entry->src_data[0] = dw[4]; > entry->src_data[1] = dw[5]; > entry->src_data[2] = dw[6]; > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h > index 7a8e686bdd41..1c747ac4129a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h > @@ -54,7 +54,6 @@ struct amdgpu_iv_entry { > unsigned timestamp_src; > unsigned pasid; > unsigned node_id; > - unsigned pasid_src; > unsigned src_data[AMDGPU_IRQ_SRC_DATA_MAX_SIZE_DW]; > const uint32_t *iv_entry; > }; > -- > 2.25.1