summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2020-01-01 00:08:03 +0000
committerjsg <jsg@openbsd.org>2020-01-01 00:08:03 +0000
commit38f65c9f011a464a6c5acfaf381799a8ff0834e8 (patch)
treeb82d0905d55d7b889f421614b7b5e7e0da87adc0
parentdrm/amdgpu: fix potential double drop fence reference (diff)
downloadwireguard-openbsd-38f65c9f011a464a6c5acfaf381799a8ff0834e8.tar.xz
wireguard-openbsd-38f65c9f011a464a6c5acfaf381799a8ff0834e8.zip
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;