]> Git Repo - J-linux.git/commitdiff
Merge tag 'amd-drm-next-6.12-2024-08-26' of https://gitlab.freedesktop.org/agd5f...
authorDaniel Vetter <[email protected]>
Tue, 27 Aug 2024 12:33:12 +0000 (14:33 +0200)
committerDaniel Vetter <[email protected]>
Tue, 27 Aug 2024 12:33:12 +0000 (14:33 +0200)
amd-drm-next-6.12-2024-08-26:

amdgpu:
- SDMA devcoredump support
- DCN 4.0.1 updates
- DC SUBVP fixes
- Refactor OPP in DC
- Refactor MMHUBBUB in DC
- DC DML 2.1 updates
- DC FAMS2 updates
- RAS updates
- GFX12 updates
- VCN 4.0.3 updates
- JPEG 4.0.3 updates
- Enable wave kill (soft recovery) for compute queues
- Clean up CP error interrupt handling
- Enable CP bad opcode interrupts
- VCN 4.x fixes
- VCN 5.x fixes
- GPU reset fixes
- Fix vbios embedded EDID size handling
- SMU 14.x updates
- Misc code cleanups and spelling fixes
- VCN devcoredump support
- ISP MFD i2c support
- DC vblank fixes
- GFX 12 fixes
- PSR fixes
- Convert vbios embedded EDID to drm_edid
- DCN 3.5 updates
- DMCUB updates
- Cursor fixes
- Overdrive support for SMU 14.x
- GFX CP padding optimizations
- DCC fixes
- DSC fixes
- Preliminary per queue reset infrastructure
- Initial per queue reset support for GFX 9
- Initial per queue reset support for GFX 7, 8
- DCN 3.2 fixes
- DP MST fixes
- SR-IOV fixes
- GFX 9.4.3/4 devcoredump support
- Add process isolation framework
- Enable process isolation support for GFX 9.4.3/4
- Take IOMMU remapping into account for P2P DMA checks

amdkfd:
- CRIU fixes
- Improved input validation for user queues
- HMM fix
- Enable process isolation support for GFX 9.4.3/4
- Initial per queue reset support for GFX 9
- Allow users to target recommended SDMA engines

radeon:
- remove .load and drm_dev_alloc
- Fix vbios embedded EDID size handling
- Convert vbios embedded EDID to drm_edid
- Use GEM references instead of TTM
- r100 cp init cleanup
- Fix potential overflows in evergreen CS offset tracking

UAPI:
- KFD support for targetting queues on recommended SDMA engines
  Proposed userspace:
  https://github.com/ROCm/ROCR-Runtime/commit/2f588a24065f41c208c3701945e20be746d8faf7
  https://github.com/ROCm/ROCR-Runtime/commit/eb30a5bbc7719c6ffcf2d2dd2878bc53a47b3f30

drm/buddy:
- Add start address support for trim function

From: Alex Deucher <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1  2 
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
drivers/gpu/drm/radeon/atombios_encoders.c
drivers/gpu/drm/radeon/evergreen_cs.c

Simple merge
index 908e134551523366c4adc914cfa192232f5c0036,c6a1783fc9ef43f9d57aa6e0ef66549743e94978..597489dea114e0cf8820d0f34e606450f8376f12
@@@ -72,6 -72,26 +72,26 @@@ static enum drm_gpu_sched_stat amdgpu_j
  
        dma_fence_set_error(&s_job->s_fence->finished, -ETIME);
  
 -                              drm_sched_start(&ring->sched, true);
+       /* attempt a per ring reset */
+       if (amdgpu_gpu_recovery &&
+           ring->funcs->reset) {
+               /* stop the scheduler, but don't mess with the
+                * bad job yet because if ring reset fails
+                * we'll fall back to full GPU reset.
+                */
+               drm_sched_wqueue_stop(&ring->sched);
+               r = amdgpu_ring_reset(ring, job->vmid);
+               if (!r) {
+                       if (amdgpu_ring_sched_ready(ring))
+                               drm_sched_stop(&ring->sched, s_job);
+                       atomic_inc(&ring->adev->gpu_reset_counter);
+                       amdgpu_fence_driver_force_completion(ring);
+                       if (amdgpu_ring_sched_ready(ring))
++                              drm_sched_start(&ring->sched);
+                       goto exit;
+               }
+       }
        if (amdgpu_device_should_recover_gpu(ring->adev)) {
                struct amdgpu_reset_context reset_context;
                memset(&reset_context, 0, sizeof(reset_context));
Simple merge
This page took 0.142826 seconds and 4 git commands to generate.