Commits on Source (31)
-
jokim-amd authored
Clause instructions with precise memory enabled currently hang the shader so set capabilities flag to disabled since it's unsafe to use for debugging. Signed-off-by:
Jonathan Kim <jonathan.kim@amd.com> Tested-by:
Lancelot Six <lancelot.six@amd.com> Reviewed-by:
Harish Kasiviswanathan <harish.kasiviswanathan@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Ellen Pan authored
This enables ras to be resumed after gpu recovery on mi350 sriov. Signed-off-by:
Ellen Pan <yunru.pan@amd.com> Reviewed-by:
Ahmad Rehman <Ahmad.Rehman@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Ahmad Rehman authored
Add case for 13.0.12. Signed-off-by:
Ahmad Rehman <ahrehman@amd.com> Reviewed-by:
<Vignesh.Chander@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Ahmad Rehman authored
For SRIOV, skip the SDMA queue reset and return error. The engine/queue reset failure will trigger FLR in the sequence. v2: do not add queue reset support mask for sriov Signed-off-by:
Ahmad Rehman <Ahmad.Rehman@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Kenneth Feng authored
This reverts commit 55ff973f. Reason for revert: this causes some tests fail with call trace. Signed-off-by:
Kenneth Feng <kenneth.feng@amd.com> Acked-by:
Yang Wang <kevinyang.wang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
In the critical submission path memory allocations can't wait for reclaim since that can potentially wait for submissions to finish. Finally clean that up and mark most memory allocations in the critical path with GFP_NOWAIT. The only exception left is the dma_fence_array() used when no VMID is available, but that will be cleaned up later on. Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
This allows using amdgpu_sync even without peeking into the fences for a long time. Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
Limiting the number of available VMIDs to enforce isolation causes some issues with gang submit and applying certain HW workarounds which require multiple VMIDs to work correctly. So instead start to track all submissions to the relevant engines in a per partition data structure and use the dma_fences of the submissions to enforce isolation similar to what a VMID limit does. v2: use ~0l for jobs without isolation to distinct it from kernel submissions which uses NULL for the owner. Add some warning when we are OOM. Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
Instead of emitting the cleaner shader for every job which has the enforce_isolation flag set only emit it for the first submission from every client. v2: add missing NULL check v3: fix another NULL pointer deref Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
That was quite troublesome for gang submit. Completely drop this approach and enforce the isolation separately. Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
Note when we switch from one isolation owner to another. Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
Note when the cleaner shader is executed. Signed-off-by:
Christian König <christian.koenig@amd.com> Acked-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
I can't count how often I had to remove this nonsense. Probably doesn't need an explanation any more. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Move the kfd suspend/resume code into the caller. That is where the KFD is likely to detect a reset so on the KFD side there is no need to call them. Also add a mutex to lock the actual reset sequence. v2: make the locking per instance Fixes: bac38ca8 ("drm/amdkfd: implement per queue sdma reset for gfx 9.4+") Reviewed-by:
Jesse Zhang <jesse.zhang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
The gfx and page queues are per instance, so track them per instance. v2: drop extra parameter (Lijo) Fixes: fdbfaaaa ("drm/amdgpu: Improve SDMA reset logic with guilty queue tracking") Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Break when we get to the end of the supported pipes rather than continuing the loop. Reviewed-by:
Shaoyun.liu <Shaoyun.liu@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Leftover from MES bring up. There is no production MES support for MES 10.x. The rest of the MES 10.x code has already been removed so drop this. Acked-by:
Prike Liang <Prike.Liang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Enable pipes on both MECs for MES. Fixes: 745f46b6 ("drm/amdgpu: enable mes v12 self test") Acked-by:
Lijo Lazar <lijo.lazar@amd.com> Reviewed-by:
Prike Liang <Prike.Liang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Follow the same logic as the other IP types. Reviewed-by:
Prike Liang <Prike.Liang@amd.com> Acked-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
SRINIVASAN SHANMUGAM authored
Enable the cleaner shader for GFX11.5.0/11.5.1 GPUs to provide data isolation between GPU workloads. The cleaner shader is responsible for clearing the Local Data Store (LDS), Vector General Purpose Registers (VGPRs), and Scalar General Purpose Registers (SGPRs), which helps prevent data leakage and ensures accurate computation results. This update extends cleaner shader support to GFX11.5.0/11.5.1 GPUs, previously available for GFX11.0.3. It enhances security by clearing GPU memory between processes and maintains a consistent GPU state across KGD and KFD workloads. Cc: Mario Sopena-Novales <mario.novales@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Xiang Liu authored
In the case of injecting uncorrected error with background workload, the deferred error among uncorrected errors need to be specified by checking the deferred and poison bits of status register. v2: refine checking for deferred error v2: log possiable DEs among CEs v2: generate CPER records for DEs among UEs Signed-off-by:
Xiang Liu <xiang.liu@amd.com> Reviewed-by:
Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Jie1zhang authored
Increase the maximum number of rings supported by the AMDGPU driver from 133 to 149. This change is necessary to enable support for the SDMA page ring. Signed-off-by:
Jesse Zhang <jesse.zhang@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Jie1zhang authored
- Modify the VM invalidation engine allocation logic to handle SDMA page rings. SDMA page rings now share the VM invalidation engine with SDMA gfx rings instead of allocating a separate engine. This change ensures efficient resource management and avoids the issue of insufficient VM invalidation engines. - Add synchronization for GPU TLB flush operations in gmc_v9_0.c. Use spin_lock and spin_unlock to ensure thread safety and prevent race conditions during TLB flush operations. This improves the stability and reliability of the driver, especially in multi-threaded environments. v2: replace the sdma ring check with a function `amdgpu_sdma_is_page_queue` to check if a ring is an SDMA page queue.(Lijo) v3: Add GC version check, only enabled on GC9.4.3/9.4.4/9.5.0 v4: Fix code style and add more detailed description (Christian) v5: Remove dependency on vm_inv_eng loop order, explicitly lookup shared inv_eng(Christian/Lijo) v6: Added search shared ring function amdgpu_sdma_get_shared_ring (Lijo) Suggested-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Jesse Zhang <jesse.zhang@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Jie1zhang authored
This commit updates the VM flush implementation for the SDMA engine. - Added a new function `sdma_v4_4_2_get_invalidate_req` to construct the VM_INVALIDATE_ENG0_REQ register value for the specified VMID and flush type. This function ensures that all relevant page table cache levels (L1 PTEs, L2 PTEs, and L2 PDEs) are invalidated. - Modified the `sdma_v4_4_2_ring_emit_vm_flush` function to use the new `sdma_v4_4_2_get_invalidate_req` function. The updated function emits the necessary register writes and waits to perform a VM flush for the specified VMID. It updates the PTB address registers and issues a VM invalidation request using the specified VM invalidation engine. - Included the necessary header file `gc/gc_9_0_sh_mask.h` to provide access to the required register definitions. v2: vm flush by the vm inalidation packet (Lijo) v3: code stle and define thh macro for the vm invalidation packet (Christian) v4: Format definition sdma vm invalidate packet (Lijo) Suggested-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Jesse Zhang <jesse.zhang@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Asad Kamal authored
Few of the metrics data for smu_v13_0_6 has not been reported in Q10 format, remove UQ10 to UINT conversion for those v2: Move smu_v13_0_12 changes to separate patch(Kevin) Signed-off-by:
Asad Kamal <asad.kamal@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Reviewed-by:
Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Asad Kamal authored
Few of the metrics data for smu_v13_0_12 has not been reported in Q10 format, remove UQ10 to UINT conversion for those Signed-off-by:
Asad Kamal <asad.kamal@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Reviewed-by:
Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
fcui authored
Signed-off-by:
Flora Cui <flora.cui@amd.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
fcui authored
vega10/vega12/vega20/raven/raven2/picasso/arcturus/aldebaran Signed-off-by:
Flora Cui <flora.cui@amd.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
On chips without native IP discovery support, use the fw binary if available, otherwise we can continue without it. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> Reviewed-by:
Flora Cui <flora.cui@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
SRINIVASAN SHANMUGAM authored
The 'flags' parameter, which specifies memory allocation behavior while creating a sync entry, Fixes the below with gcc W=1: drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c:162: warning: Function parameter or struct member 'flags' not described in 'amdgpu_sync_fence' Cc: Christian König <christian.koenig@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Asad Kamal authored
Update feature list for smu_v13_0_6 to show vcn & smu deep sleep feature enable status Signed-off-by:
Asad Kamal <asad.kamal@amd.com> Reviewed-by:
Yang Wang <kevinyang.wang@amd.com> Reviewed-by:
Lijo Lazar <lijo.lazar@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
Showing
- drivers/gpu/drm/amd/amdgpu/amdgpu.h 11 additions, 2 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c 23 additions, 2 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_aca.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_aca.h 11 additions, 5 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_aca.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c 4 additions, 4 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 12 additions, 8 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 99 additions, 1 deletiondrivers/gpu/drm/amd/amdgpu/amdgpu_device.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 74 additions, 23 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c 1 addition, 8 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h 2 additions, 2 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c 20 additions, 0 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c 25 additions, 40 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_ids.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h 1 addition, 2 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_ids.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_job.c 12 additions, 4 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_job.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c 7 additions, 13 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 3 additions, 0 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h 1 addition, 1 deletiondrivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c 37 additions, 13 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h 9 additions, 4 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h
- drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c 35 additions, 9 deletionsdrivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
- drivers/gpu/drm/amd/amdgpu/amdgpu_sync.h 3 additions, 1 deletiondrivers/gpu/drm/amd/amdgpu/amdgpu_sync.h