On 2025-05-07 10:06, Alex Deucher wrote:
> Commit ded8b3c36f17 ("drm/amdgpu: properly handle GC vs MM in 
> amdgpu_vmid_mgr_init()")
> enables all 16 vmids for MMHUB on GC 10 and newer for KGD since
> there are no KFD resources using MMHUB.  With this change, KFD
> starts seeing MMHUB vmids in it's range with no pasid set.  As
> such there is no need to warn, we can just ignore those interrupts.
>
> Fixes: ded8b3c36f17 ("drm/amdgpu: properly handle GC vs MM in 
> amdgpu_vmid_mgr_init()")
> Signed-off-by: Alex Deucher <[email protected]>

I think I'm OK with the patch, given that it's in GFX10 and GFX11-specific 
source files. The warning was mostly there to catch firmware issues on new 
products.

But the fact that it gets there at all means, that these interrupts weren't 
being handled by the amdgpu_irq_dispatch handler either. I don't know if you 
consider that a problem. Either way, the patch is

Reviewed-by: Felix Kuehling <[email protected]>


> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c | 3 +--
>  drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c | 3 +--
>  2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c 
> b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c
> index 54870b4c50000..3e1ad89747979 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c
> @@ -175,8 +175,7 @@ static bool event_interrupt_isr_v10(struct kfd_node *dev,
>               data[0], data[1], data[2], data[3], data[4], data[5], data[6],
>               data[7]);
>  
> -     /* If there is no valid PASID, it's likely a bug */
> -     if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt"))
> +     if (pasid == 0)
>               return 0;
>  
>       /* Interrupt types we care about: various signals and faults.
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c 
> b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c
> index eb88ba8d8b012..2788a52714d10 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c
> @@ -287,8 +287,7 @@ static bool event_interrupt_isr_v11(struct kfd_node *dev,
>               data[0], data[1], data[2], data[3], data[4], data[5], data[6],
>               data[7]);
>  
> -     /* If there is no valid PASID, it's likely a bug */
> -     if (WARN_ONCE(pasid == 0, "Bug: No PASID in KFD interrupt"))
> +     if (pasid == 0)
>               return false;
>  
>       /* Interrupt types we care about: various signals and faults.

Reply via email to