summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2020-01-01 00:08:04 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2020-01-01 00:08:04 +0000
commit30e520c0528d227952cbfdc57eb108e1ea6b9b2c (patch)
tree10ca694c2299d4d99f96a2c1f793e4e661520c88
parent86ab6a93a7b2c601e3a4eee4d929ef6aa971634e (diff)
drm/amdgpu: fix bad DMA from INTERRUPT_CNTL2
From Sam Bobroff 9234c9254e22da026e351cd4b7028e216abbeef0 in linux 4.19.y/4.19.92 3d0e3ce52ce3eb4b9de3caf9c38dbb5a4d3e13c3 in mainline linux
-rw-r--r--sys/dev/pci/drm/amd/amdgpu/si_ih.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/amd/amdgpu/si_ih.c b/sys/dev/pci/drm/amd/amdgpu/si_ih.c
index 60dad63098a..e40a3fbc3e7 100644
--- a/sys/dev/pci/drm/amd/amdgpu/si_ih.c
+++ b/sys/dev/pci/drm/amd/amdgpu/si_ih.c
@@ -62,7 +62,8 @@ static int si_ih_irq_init(struct amdgpu_device *adev)
u64 wptr_off;
si_ih_disable_interrupts(adev);
- WREG32(INTERRUPT_CNTL2, adev->irq.ih.gpu_addr >> 8);
+ /* set dummy read address to dummy page address */
+ WREG32(INTERRUPT_CNTL2, adev->dummy_page_addr >> 8);
interrupt_cntl = RREG32(INTERRUPT_CNTL);
interrupt_cntl &= ~IH_DUMMY_RD_OVERRIDE;
interrupt_cntl &= ~IH_REQ_NONSNOOP_EN;