diff --git a/tinygrad/runtime/ops_amd.py b/tinygrad/runtime/ops_amd.py index 1fa134daee..3ac13cd1b0 100644 --- a/tinygrad/runtime/ops_amd.py +++ b/tinygrad/runtime/ops_amd.py @@ -183,6 +183,7 @@ class AMDCopyQueue(HWQueue): if not AMDDevice.driverless and (dev:=signal.timeline_for_device) is not None: self.q(amd_gpu.SDMA_OP_FENCE | amd_gpu.SDMA_PKT_FENCE_HEADER_MTYPE(3), *data64_le(dev.queue_event_mailbox_ptr), dev.queue_event.event_id) self.q(amd_gpu.SDMA_OP_TRAP, amd_gpu.SDMA_PKT_TRAP_INT_CONTEXT_INT_CONTEXT(dev.queue_event.event_id)) + elif AMDDevice.driverless: self.q(amd_gpu.SDMA_OP_TRAP, amd_gpu.SDMA_PKT_TRAP_INT_CONTEXT_INT_CONTEXT(0)) return self diff --git a/tinygrad/runtime/support/am/amdev.py b/tinygrad/runtime/support/am/amdev.py index 540ee05e07..ca0d8abd7b 100644 --- a/tinygrad/runtime/support/am/amdev.py +++ b/tinygrad/runtime/support/am/amdev.py @@ -203,9 +203,7 @@ class AMMemoryManager: if AM_DEBUG >= 3: print(f"\tnptes={n_ptes:#x} incr={pte_covers:#x} upd_flags={pt.get_entry(pte_st_idx):#x} frags={frags_cnt:#x}") # Invalidate TLB after mappings. - self.adev.gmc.flush_tlb(ip="GC", vmid=0, flush_type=2) self.adev.gmc.flush_tlb(ip="GC", vmid=0) - self.adev.gmc.flush_tlb(ip="MM", vmid=0, flush_type=2) self.adev.gmc.flush_tlb(ip="MM", vmid=0) def unmap_range(self, vaddr:int, size:int, free_paddrs=True):