3da8ec8523
Ubuntu's latest tag updated from v5.15.60 to v5.15.64 and one advantage of them trailing upstream stable 5.15.y is that we can backport fixes of fixes that got in with that commit range. Found with the report of: git log --decorate v5.15..v5.15.73 | \ ~/gitdm/stablefixes --fixed-after v5.15.64 --regressed-before v5.15.64 Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
88 lines
3.2 KiB
Diff
88 lines
3.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Alex Deucher <alexander.deucher@amd.com>
|
|
Date: Fri, 9 Sep 2022 11:47:20 -0400
|
|
Subject: [PATCH] drm/amdgpu: move nbio ih_doorbell_range() into ih code for
|
|
vega
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
commit dc1d85cb790f2091eea074cee24a704b2d6c4a06 upstream.
|
|
|
|
This mirrors what we do for other asics and this way we are
|
|
sure the ih doorbell range is properly initialized.
|
|
|
|
There is a comment about the way doorbells on gfx9 work that
|
|
requires that they are initialized for other IPs before GFX
|
|
is initialized. In this case IH is initialized before GFX,
|
|
so there should be no issue.
|
|
|
|
This is a prerequisite for fixing the Unsupported Request error
|
|
reported through AER during driver load.
|
|
|
|
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216373
|
|
|
|
The error was unnoticed before and got visible because of the commit
|
|
referenced below. This doesn't fix anything in the commit below, rather
|
|
fixes the issue in amdgpu exposed by the commit. The reference is only
|
|
to associate this commit with below one so that both go together.
|
|
|
|
Fixes: 8795e182b02d ("PCI/portdrv: Don't disable AER reporting in get_port_device_capability()")
|
|
|
|
Acked-by: Christian König <christian.koenig@amd.com>
|
|
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|
---
|
|
drivers/gpu/drm/amd/amdgpu/soc15.c | 3 ---
|
|
drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 4 ++++
|
|
drivers/gpu/drm/amd/amdgpu/vega20_ih.c | 4 ++++
|
|
3 files changed, 8 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
|
|
index bdb47ae96ce6..723b088094f2 100644
|
|
--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
|
|
@@ -1429,9 +1429,6 @@ static void soc15_doorbell_range_init(struct amdgpu_device *adev)
|
|
ring->use_doorbell, ring->doorbell_index,
|
|
adev->doorbell_index.sdma_doorbell_range);
|
|
}
|
|
-
|
|
- adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell,
|
|
- adev->irq.ih.doorbell_index);
|
|
}
|
|
}
|
|
|
|
diff --git a/drivers/gpu/drm/amd/amdgpu/vega10_ih.c b/drivers/gpu/drm/amd/amdgpu/vega10_ih.c
|
|
index a9ca6988009e..73728fa85997 100644
|
|
--- a/drivers/gpu/drm/amd/amdgpu/vega10_ih.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/vega10_ih.c
|
|
@@ -289,6 +289,10 @@ static int vega10_ih_irq_init(struct amdgpu_device *adev)
|
|
}
|
|
}
|
|
|
|
+ if (!amdgpu_sriov_vf(adev))
|
|
+ adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell,
|
|
+ adev->irq.ih.doorbell_index);
|
|
+
|
|
pci_set_master(adev->pdev);
|
|
|
|
/* enable interrupts */
|
|
diff --git a/drivers/gpu/drm/amd/amdgpu/vega20_ih.c b/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
|
|
index f51dfc38ac65..ac34af4cb178 100644
|
|
--- a/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
|
|
@@ -340,6 +340,10 @@ static int vega20_ih_irq_init(struct amdgpu_device *adev)
|
|
}
|
|
}
|
|
|
|
+ if (!amdgpu_sriov_vf(adev))
|
|
+ adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell,
|
|
+ adev->irq.ih.doorbell_index);
|
|
+
|
|
pci_set_master(adev->pdev);
|
|
|
|
/* enable interrupts */
|