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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>

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@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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux