Lines Matching defs:qinv_table

77  * qinv_table		- invalidation queue table
81 qinv_mem_t qinv_table;
180 qinv_mem_t *qinv_table;
187 qinv_table = &(qinv->qinv_table);
189 mutex_enter(&qinv_table->qinv_mem_lock);
190 tail = qinv_table->qinv_mem_tail;
191 qinv_table->qinv_mem_tail++;
193 if (qinv_table->qinv_mem_tail == qinv_table->qinv_mem_size)
194 qinv_table->qinv_mem_tail = 0;
196 while (qinv_table->qinv_mem_head == qinv_table->qinv_mem_tail) {
204 qinv_table->qinv_mem_head = QINV_IQA_HEAD(
211 bcopy(dsc, qinv_table->qinv_mem_vaddr + tail * QINV_ENTRY_SIZE,
215 qinv_table->qinv_mem_tail << QINV_IQA_TAIL_SHIFT);
217 mutex_exit(&qinv_table->qinv_mem_lock);
420 &(qinv->qinv_table.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;
486 mutex_init(&(qinv->qinv_table.qinv_mem_lock), NULL, MUTEX_DRIVER, NULL);
496 ddi_dma_mem_free(&(qinv->qinv_table.qinv_mem_acc_hdl));
502 ddi_dma_free_handle(&(qinv->qinv_table.qinv_mem_dma_hdl));
558 qinv_reg_value = qinv->qinv_table.qinv_mem_paddr | qinv_iqa_qs;
725 dsc = (qinv_dsc_t *)(qinv->qinv_table.qinv_mem_vaddr