From: YiPeng Chai Date: Tue, 11 Apr 2023 02:27:12 +0000 (+0800) Subject: drm/amdgpu: add gfx v11_0_3 fed irq handling for sriov X-Git-Tag: Ubuntu-6.5.0-9.9~2862^2~2^2~19 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=fd784a418ed832fbadfa846cef61741fdab0377a;p=mirror_ubuntu-kernels.git drm/amdgpu: add gfx v11_0_3 fed irq handling for sriov Add gfx v11_0_3 fed irq handling for sriov. Signed-off-by: YiPeng Chai Reviewed-by: Hawking Zhang Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.c index b07a72ca25d9..068b9586a223 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.c @@ -62,10 +62,18 @@ static int gfx_v11_0_3_rlc_gc_fed_irq(struct amdgpu_device *adev, return -EINVAL; } - ih_data.head = *ras_if; - dev_warn(adev->dev, "RLC %s FED IRQ\n", ras_if->name); - amdgpu_ras_interrupt_dispatch(adev, &ih_data); + + if (!amdgpu_sriov_vf(adev)) { + ih_data.head = *ras_if; + amdgpu_ras_interrupt_dispatch(adev, &ih_data); + } else { + if (adev->virt.ops && adev->virt.ops->ras_poison_handler) + adev->virt.ops->ras_poison_handler(adev); + else + dev_warn(adev->dev, + "No ras_poison_handler interface in SRIOV for %s!\n", ras_if->name); + } return 0; }