diff options
| author | Eric Huang <jinhuieric.huang@amd.com> | 2026-03-16 11:01:30 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-03-23 14:48:06 -0400 |
| commit | 14b81abe7bdc25f8097906fc2f91276ffedb2d26 (patch) | |
| tree | dbc9603c04b70363372fd73fec72e266519e9108 /drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h | |
| parent | 2d300ebfc411205fa31ba7741c5821d381912381 (diff) | |
| download | linux-next-14b81abe7bdc25f8097906fc2f91276ffedb2d26.tar.gz linux-next-14b81abe7bdc25f8097906fc2f91276ffedb2d26.zip | |
drm/amdgpu: prevent immediate PASID reuse case
PASID resue could cause interrupt issue when process
immediately runs into hw state left by previous
process exited with the same PASID, it's possible that
page faults are still pending in the IH ring buffer when
the process exits and frees up its PASID. To prevent the
case, it uses idr cyclic allocator same as kernel pid's.
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 8f1de51f49be692de137c8525106e0fce2d1912d)
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h index b3649cd3af56..a57919478d3b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h @@ -74,6 +74,7 @@ int amdgpu_pasid_alloc(unsigned int bits); void amdgpu_pasid_free(u32 pasid); void amdgpu_pasid_free_delayed(struct dma_resv *resv, u32 pasid); +void amdgpu_pasid_mgr_cleanup(void); bool amdgpu_vmid_had_gpu_reset(struct amdgpu_device *adev, struct amdgpu_vmid *id); |
