Lines Matching defs:pPciQueue
368 virtio_pci_queue_t *pPciQueue = pQueue->pvData;
369 if (RT_UNLIKELY(!pPciQueue))
378 ddi_dma_unbind_handle(pPciQueue->hDMA);
379 ddi_dma_mem_free(&pPciQueue->hIO);
380 ddi_dma_free_handle(&pPciQueue->hDMA);
381 RTMemFree(pPciQueue);
431 virtio_pci_queue_t *pPciQueue = RTMemAllocZ(sizeof(virtio_pci_queue_t));
432 if (pPciQueue)
438 int rc = ddi_dma_alloc_handle(pDevice->pDip, &g_VirtioPciDmaAttrRing, DDI_DMA_SLEEP, 0 /* addr */, &pPciQueue->hDMA);
441 rc = ddi_dma_mem_alloc(pPciQueue->hDMA, cbQueue, &g_VirtioPciAccAttrRing, DDI_DMA_CONSISTENT,
442 DDI_DMA_SLEEP, 0 /* addr */, &pQueue->pQueue, &pPciQueue->cbBuf,
443 &pPciQueue->hIO);
446 AssertRelease(pPciQueue->cbBuf >= cbQueue);
449 rc = ddi_dma_addr_bind_handle(pPciQueue->hDMA, NULL /* addrspace */, pQueue->pQueue, pPciQueue->cbBuf,
454 pPciQueue->physBuf = DmaCookie.dmac_laddress;
455 pPciQueue->pageBuf = pPciQueue->physBuf >> VIRTIO_PCI_QUEUE_ADDR_SHIFT;
458 pQueue->pQueue, pPciQueue->physBuf, pPciQueue->pageBuf));
460 pQueue->pQueue, pPciQueue->physBuf, pPciQueue->pageBuf);
465 memset(pQueue->pQueue, 0, pPciQueue->cbBuf);
466 ddi_put32(pPci->hIO, (uint32_t *)(pPci->addrIOBase + VIRTIO_PCI_QUEUE_PFN), pPciQueue->pageBuf);
468 return pPciQueue;
473 ddi_dma_mem_free(&pPciQueue->hIO);
478 ddi_dma_free_handle(&pPciQueue->hDMA);
483 RTMemFree(pPciQueue);