xdb
struct bsd_db *xdb = (struct bsd_db *)xarg;
if (xdb != NULL) {
xdb->flags |= DS_TESTOUT;
xhci_dma_pa(xhci_dma_buffer_t *xdb)
ASSERT(xdb->xdb_ncookies == 1);
return (xdb->xdb_cookies[0].dmac_laddress);
xhci_dma_free(xhci_dma_buffer_t *xdb)
if (xdb->xdb_ncookies != 0) {
VERIFY(xdb->xdb_dma_handle != NULL);
(void) ddi_dma_unbind_handle(xdb->xdb_dma_handle);
xdb->xdb_ncookies = 0;
bzero(xdb->xdb_cookies, sizeof (ddi_dma_cookie_t) *
xdb->xdb_len = 0;
if (xdb->xdb_acc_handle != NULL) {
ddi_dma_mem_free(&xdb->xdb_acc_handle);
xdb->xdb_acc_handle = NULL;
xdb->xdb_va = NULL;
if (xdb->xdb_dma_handle != NULL) {
ddi_dma_free_handle(&xdb->xdb_dma_handle);
xdb->xdb_dma_handle = NULL;
ASSERT(xdb->xdb_va == NULL);
ASSERT(xdb->xdb_ncookies == 0);
ASSERT(xdb->xdb_cookies[0].dmac_laddress == 0);
ASSERT(xdb->xdb_len == 0);
xhci_dma_alloc(xhci_t *xhcip, xhci_dma_buffer_t *xdb,
&xdb->xdb_dma_handle);
xdb->xdb_dma_handle = NULL;
ret = ddi_dma_mem_alloc(xdb->xdb_dma_handle, size, accp, flags, memcb,
NULL, &xdb->xdb_va, &len, &xdb->xdb_acc_handle);
xdb->xdb_va = NULL;
xdb->xdb_acc_handle = NULL;
xhci_dma_free(xdb);
bzero(xdb->xdb_va, len);
ret = ddi_dma_addr_bind_handle(xdb->xdb_dma_handle, NULL,
xdb->xdb_va, len, DDI_DMA_RDWR | flags, memcb, NULL, &cookie,
xhci_dma_free(xdb);
xhci_check_dma_handle(xhci_t *xhcip, xhci_dma_buffer_t *xdb)
xdb->xdb_len = size;
xdb->xdb_ncookies = ncookies;
xdb->xdb_cookies[0] = cookie;
ddi_dma_nextcookie(xdb->xdb_dma_handle, &xdb->xdb_cookies[i]);
ddi_fm_dma_err_get(xdb->xdb_dma_handle, &de, DDI_FME_VERSION);
typedef struct xdb xdb_t;