Lines Matching defs:qinv

80 typedef struct qinv {
179 qinv_t *qinv;
186 qinv = (qinv_t *)immu->immu_qinv;
187 qinv_table = &(qinv->qinv_table);
377 qinv_t *qinv;
416 qinv = kmem_zalloc(sizeof (qinv_t), KM_SLEEP);
420 &(qinv->qinv_table.qinv_mem_dma_hdl)) != DDI_SUCCESS) {
428 &(qinv->qinv_sync.qinv_mem_dma_hdl)) != DDI_SUCCESS) {
434 qinv->qinv_table.qinv_mem_size = (1 << (qinv_iqa_qs + 8));
435 size = qinv->qinv_table.qinv_mem_size * QINV_ENTRY_SIZE;
438 if (ddi_dma_mem_alloc(qinv->qinv_table.qinv_mem_dma_hdl,
444 &(qinv->qinv_table.qinv_mem_vaddr),
446 &(qinv->qinv_table.qinv_mem_acc_hdl)) != DDI_SUCCESS) {
452 ASSERT(!((uintptr_t)qinv->qinv_table.qinv_mem_vaddr & MMU_PAGEOFFSET));
453 bzero(qinv->qinv_table.qinv_mem_vaddr, size);
456 qinv->qinv_table.qinv_mem_paddr = pfn_to_pa(
457 hat_getpfnum(kas.a_hat, qinv->qinv_table.qinv_mem_vaddr));
459 qinv->qinv_table.qinv_mem_head = qinv->qinv_table.qinv_mem_tail = 0;
461 qinv->qinv_sync.qinv_mem_size = qinv->qinv_table.qinv_mem_size;
462 size = qinv->qinv_sync.qinv_mem_size * QINV_SYNC_DATA_SIZE;
465 if (ddi_dma_mem_alloc(qinv->qinv_sync.qinv_mem_dma_hdl,
471 &(qinv->qinv_sync.qinv_mem_vaddr),
473 &(qinv->qinv_sync.qinv_mem_acc_hdl)) != DDI_SUCCESS) {
479 ASSERT(!((uintptr_t)qinv->qinv_sync.qinv_mem_vaddr & MMU_PAGEOFFSET));
480 bzero(qinv->qinv_sync.qinv_mem_vaddr, size);
481 qinv->qinv_sync.qinv_mem_paddr = pfn_to_pa(
482 hat_getpfnum(kas.a_hat, qinv->qinv_sync.qinv_mem_vaddr));
484 qinv->qinv_sync.qinv_mem_head = qinv->qinv_sync.qinv_mem_tail = 0;
486 mutex_init(&(qinv->qinv_table.qinv_mem_lock), NULL, MUTEX_DRIVER, NULL);
487 mutex_init(&(qinv->qinv_sync.qinv_mem_lock), NULL, MUTEX_DRIVER, NULL);
489 immu->immu_qinv = qinv;
496 ddi_dma_mem_free(&(qinv->qinv_table.qinv_mem_acc_hdl));
499 ddi_dma_free_handle(&(qinv->qinv_sync.qinv_mem_dma_hdl));
502 ddi_dma_free_handle(&(qinv->qinv_table.qinv_mem_dma_hdl));
505 kmem_free(qinv, sizeof (qinv_t));
550 qinv_t *qinv;
557 qinv = (qinv_t *)immu->immu_qinv;
558 qinv_reg_value = qinv->qinv_table.qinv_mem_paddr | qinv_iqa_qs;
715 qinv_t *qinv;
717 /* access qinv data */
720 qinv = (qinv_t *)(immu->immu_qinv);
725 dsc = (qinv_dsc_t *)(qinv->qinv_table.qinv_mem_vaddr