From: Hawking Zhang <Hawking.Zhang@amd.com> Date: Mon, 21 Dec 2020 03:18:14 +0000 (+0800) Subject: drm/amdgpu: enable software ih ring for vega20 ih block X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f44a6c76f148eea6dea98401df32e381a1aeaca2;p=linux.git drm/amdgpu: enable software ih ring for vega20 ih block software ih ring will be used as a workaround in case hardware ih ring 1 and ring 2 don't work Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Feifei Xu <Feifei.Xu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> --- diff --git a/drivers/gpu/drm/amd/amdgpu/vega20_ih.c b/drivers/gpu/drm/amd/amdgpu/vega20_ih.c index e381a255cc609..1902054757302 100644 --- a/drivers/gpu/drm/amd/amdgpu/vega20_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/vega20_ih.c @@ -342,6 +342,9 @@ static int vega20_ih_irq_init(struct amdgpu_device *adev) if (ret) return ret; + if (adev->irq.ih_soft.ring_size) + adev->irq.ih_soft.enabled = true; + return 0; } @@ -539,6 +542,10 @@ static int vega20_ih_sw_init(void *handle) /* initialize ih control registers offset */ vega20_ih_init_register_offset(adev); + r = amdgpu_ih_ring_init(adev, &adev->irq.ih_soft, PAGE_SIZE, true); + if (r) + return r; + r = amdgpu_irq_init(adev); return r;