diff -u a/src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c b/src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c
--- a/src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c	2022-09-20 16:01:42.000000000 -0700
+++ b/src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c	2023-01-14 22:08:41.277892178 -0800
@@ -524,21 +524,21 @@
 #ifdef __NetBSD__
 #ifdef _LP64
 		bus_space_write_8(adev->doorbell.bst, adev->doorbell.bsh,
-		    8*index, v);
+		    4*index, v);
 #else
 		/*
 		 * XXX This might not be as atomic as one might hope...
 		 */
 #if _BYTE_ORDER == _LITTLE_ENDIAN
 		bus_space_write_4(adev->doorbell.bst, adev->doorbell.bsh,
-		    8*index, v & 0xffffffffU);
+		    4*index, v & 0xffffffffU);
 		bus_space_write_4(adev->doorbell.bst, adev->doorbell.bsh,
-		    8*index + 4, v >> 32);
+		    4*index + 4, v >> 32);
 #else
 		bus_space_write_4(adev->doorbell.bst, adev->doorbell.bsh,
-		    8*index, v >> 32);
+		    4*index, v >> 32);
 		bus_space_write_4(adev->doorbell.bst, adev->doorbell.bsh,
-		    8*index + 4, v & 0xffffffffU);
+		    4*index + 4, v & 0xffffffffU);
 #endif
 #endif
 #else
