Applied. Thanks!
On Thu, Sep 17, 2026 at 4:51 AM Tvrtko Ursulin <[email protected]> wrote: > > > > On 16/09/2026 23:55, Timur Kristóf wrote: > > Use the same helper for GMC v12.1 that is used by other > > GMC IP block versions. > > > > No functional changes intended. Just code cleanup. > > > > Signed-off-by: Timur Kristóf <[email protected]> > > --- > > drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c | 45 ++++---------------------- > > 1 file changed, 7 insertions(+), 38 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c > > b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c > > index 3349e8bc1c20..cfc46f912d47 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c > > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c > > @@ -131,7 +131,7 @@ static int gmc_v12_1_process_interrupt(struct > > amdgpu_device *adev, > > struct amdgpu_vmhub *hub; > > uint32_t cam_index = 0; > > const char *hub_name; > > - int ret, xcc_id = 0; > > + int xcc_id = 0; > > uint32_t status = 0, status_hi = 0; > > const char *die_name; > > char die_name_buf[32]; > > @@ -164,44 +164,13 @@ static int gmc_v12_1_process_interrupt(struct > > amdgpu_device *adev, > > hub = &adev->vmhub[vmhub]; > > > > if (retry_fault) { > > - if (adev->irq.retry_cam_enabled) { > > - /* Delegate it to a different ring if the hardware > > hasn't > > - * already done it. > > - */ > > - if (entry->ih == &adev->irq.ih) { > > - amdgpu_irq_delegate(adev, entry, 8); > > - return 1; > > - } > > - > > - cam_index = entry->src_data[3] & 0x3ff; > > - > > - ret = amdgpu_vm_handle_fault(adev, entry->pasid, > > entry->vmid, node_id, > > - addr, > > entry->timestamp, write_fault); > > - WDOORBELL32(adev->irq.retry_cam_doorbell_index, > > cam_index); > > - if (ret) > > - return 1; > > - } else { > > - /* Process it onyl if it's the first fault for this > > address */ > > - if (entry->ih != &adev->irq.ih_soft && > > - amdgpu_gmc_filter_faults(adev, entry->ih, > > addr, entry->pasid, > > - entry->timestamp)) > > - return 1; > > - > > - /* Delegate it to a different ring if the hardware > > hasn't > > - * already done it. > > - */ > > - if (entry->ih == &adev->irq.ih) { > > - amdgpu_irq_delegate(adev, entry, 8); > > - return 1; > > - } > > + cam_index = entry->src_data[3] & 0x3ff; > > > > - /* Try to handle the recoverable page faults by > > filling page > > - * tables > > - */ > > - if (amdgpu_vm_handle_fault(adev, entry->pasid, > > entry->vmid, node_id, > > - addr, entry->timestamp, > > write_fault)) > > - return 1; > > - } > > + int ret = amdgpu_gmc_handle_retry_fault(adev, entry, addr, > > cam_index, node_id, > > + write_fault); > > + /* Returning 1 here also prevents sending the IV to the KFD */ > > + if (ret == 1) > > + return 1; > > } > > > > if (kgd2kfd_vmfault_fast_path(adev, entry, retry_fault)) > > Reviewed-by: Tvrtko Ursulin <[email protected]> > > Regards, > > Tvrtko
