[PATCH] drm/amdgpu: remove pasid_src field from IV entry

Christian König ckoenig.leichtzumerken at gmail.com
Fri Apr 28 08:57:48 UTC 2023


Yeah, the bit basically tells the IH which PASID lookup table to use for 
VMID->PASID translation.

I briefly remember that I've just copied&pasted the fields from the 
IH_COOKIE definition.

Reviewed-by: Christian König <christian.koenig at amd.com>

Am 28.04.23 um 04:54 schrieb Liu, Aaron:
> [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 at amd.com>
>
>> -----Original Message-----
>> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
>> Xiaomeng Hou
>> Sent: Thursday, April 27, 2023 3:17 PM
>> To: amd-gfx at lists.freedesktop.org
>> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Ji, Ruili
>> <Ruili.Ji at amd.com>; Hou, Xiaomeng (Matthew) <Xiaomeng.Hou at amd.com>;
>> Koenig, Christian <Christian.Koenig at amd.com>
>> 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 at amd.com>
>> ---
>>   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



More information about the amd-gfx mailing list