rocr: Allocate AQL queue on device memory

- Use HSA_ALLOCATE_QUEUE_DEV_MEM=1 to create AQL queue in device
memory.
- Before writing AQL packet header to the queue use an SFENCE to ensure
that there is no reodering of the writes over PCIE

Change-Id: I5eacdc35108c4a1e245c75ae349b7495451aa60d
Tento commit je obsažen v:
Saleel Kudchadker
2024-08-20 04:44:46 +00:00
rodič fe8d8c15f1
revize 3baaa6e9c0
10 změnil soubory, kde provedl 95 přidání a 40 odebrání
+5
Zobrazit soubor
@@ -117,6 +117,11 @@ KfdDriver::AllocateMemory(const core::MemoryRegion &mem_region,
? 1
: kmt_alloc_flags.ui32.GTTAccess);
kmt_alloc_flags.ui32.Uncached =
(alloc_flags & core::MemoryRegion::AllocateUncached
? 1
: kmt_alloc_flags.ui32.Uncached);
if (m_region.IsLocalMemory()) {
// Allocate physically contiguous memory. AllocateKfdMemory function call
// will fail if this flag is not supported in KFD.