[PATCH] drm/amdgpu: fix handling of irq domains on soc15 and newer GPUs

Christian König ckoenig.leichtzumerken at gmail.com
Fri Dec 18 17:23:13 UTC 2020


Am 18.12.20 um 17:53 schrieb Alex Deucher:
> We need to take into account the client id otherwise we'll end
> up sending generic events for any src id that is registered.
>
> We only support irq domains on pre-soc15 parts so client is
> always legacy.

I've seen that multiple times as well but always forgot to ask if that's 
right or wrong.

>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> index bea57e8e793f..afbbec82a289 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
> @@ -444,7 +444,8 @@ void amdgpu_irq_dispatch(struct amdgpu_device *adev,
>   	} else	if (src_id >= AMDGPU_MAX_IRQ_SRC_ID) {
>   		DRM_DEBUG("Invalid src_id in IV: %d\n", src_id);
>   
> -	} else if (adev->irq.virq[src_id]) {
> +	} else if ((client_id == AMDGPU_IRQ_CLIENTID_LEGACY) &&
> +		   adev->irq.virq[src_id]) {
>   		generic_handle_irq(irq_find_mapping(adev->irq.domain, src_id));
>   
>   	} else if (!adev->irq.client[client_id].sources) {



More information about the amd-gfx mailing list