amd,nv: use .cpu_view() in bind (#10131)

This commit is contained in:
nimlgen
2025-05-01 17:46:12 +03:00
committed by GitHub
parent 16e5376ae8
commit 7573c0ef4e
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -305,7 +305,7 @@ class AMDComputeQueue(HWQueue):
def bind(self, dev:AMDDevice):
self.binded_device = dev
self.hw_page = dev.allocator.alloc(len(self._q) * 4, BufferSpec(cpu_access=True, nolru=True, uncached=True))
hw_view = MMIOInterface(self.hw_page.va_addr, self.hw_page.size, fmt='I')
hw_view = self.hw_page.cpu_view().view(fmt='I')
for i, value in enumerate(self._q): hw_view[i] = value
self.indirect_cmd = [self.pm4.PACKET3(self.pm4.PACKET3_INDIRECT_BUFFER, 2), *data64_le(self.hw_page.va_addr),
@@ -376,7 +376,7 @@ class AMDCopyQueue(HWQueue):
self.binded_device = dev
self.hw_page = dev.allocator.alloc((qsz:=round_up(len(self._q), 8)) * 4, BufferSpec(cpu_access=True, nolru=True, uncached=True))
hw_view = MMIOInterface(self.hw_page.va_addr, self.hw_page.size, fmt='I')
hw_view = self.hw_page.cpu_view().view(fmt='I')
for i in range(qsz): hw_view[i] = self._q[i] if i < len(self._q) else 0
self.indirect_cmd = [self.sdma.SDMA_OP_INDIRECT | self.sdma.SDMA_PKT_INDIRECT_HEADER_VMID(0), *data64_le(self.hw_page.va_addr), qsz,
+1 -1
View File
@@ -104,7 +104,7 @@ class NVCommandQueue(HWQueue[NVSignal, 'NVDevice', 'NVProgram', 'NVArgsState']):
def bind(self, dev:NVDevice):
self.binded_device = dev
self.hw_page = dev.allocator.alloc(len(self._q) * 4, BufferSpec(cpu_access=True, nolru=True))
hw_view = MMIOInterface(self.hw_page.va_addr, self.hw_page.size, fmt='I')
hw_view = self.hw_page.cpu_view().view(fmt='I')
for i, value in enumerate(self._q): hw_view[i] = value
# From now on, the queue is on the device for faster submission.