Lines Matching refs:iommu
116 devtab_illegal_entry(amd_iommu_t *iommu, uint32_t *event)
125 const char *driver = ddi_driver_name(iommu->aiomt_dip);
126 int instance = ddi_get_instance(iommu->aiomt_dip);
155 f, driver, instance, iommu->aiomt_idx,
165 io_page_fault(amd_iommu_t *iommu, uint32_t *event)
177 const char *driver = ddi_driver_name(iommu->aiomt_dip);
178 int instance = ddi_get_instance(iommu->aiomt_dip);
209 f, driver, instance, iommu->aiomt_idx,
223 devtab_hw_error(amd_iommu_t *iommu, uint32_t *event)
233 const char *driver = ddi_driver_name(iommu->aiomt_dip);
234 int instance = ddi_get_instance(iommu->aiomt_dip);
262 f, driver, instance, iommu->aiomt_idx,
272 pgtable_hw_error(amd_iommu_t *iommu, uint32_t *event)
283 const char *driver = ddi_driver_name(iommu->aiomt_dip);
284 int instance = ddi_get_instance(iommu->aiomt_dip);
315 f, driver, instance, iommu->aiomt_idx,
325 cmdbuf_illegal_cmd(amd_iommu_t *iommu, uint32_t *event)
329 const char *driver = ddi_driver_name(iommu->aiomt_dip);
330 int instance = ddi_get_instance(iommu->aiomt_dip);
343 f, driver, instance, iommu->aiomt_idx,
348 cmdbuf_hw_error(amd_iommu_t *iommu, uint32_t *event)
354 const char *driver = ddi_driver_name(iommu->aiomt_dip);
355 int instance = ddi_get_instance(iommu->aiomt_dip);
373 f, driver, instance, iommu->aiomt_idx,
379 iotlb_inval_to(amd_iommu_t *iommu, uint32_t *event)
386 const char *driver = ddi_driver_name(iommu->aiomt_dip);
387 int instance = ddi_get_instance(iommu->aiomt_dip);
412 f, driver, instance, iommu->aiomt_idx, deviceid,
418 device_illegal_req(amd_iommu_t *iommu, uint32_t *event)
426 const char *driver = ddi_driver_name(iommu->aiomt_dip);
427 int instance = ddi_get_instance(iommu->aiomt_dip);
451 f, driver, instance, iommu->aiomt_idx, deviceid,
458 amd_iommu_process_one_event(amd_iommu_t *iommu)
463 const char *driver = ddi_driver_name(iommu->aiomt_dip);
464 int instance = ddi_get_instance(iommu->aiomt_dip);
467 ASSERT(MUTEX_HELD(&iommu->aiomt_eventlock));
469 SYNC_FORKERN(iommu->aiomt_dmahdl);
471 event[i] = iommu->aiomt_event_head[i];
478 devtab_illegal_entry(iommu, event);
481 io_page_fault(iommu, event);
484 devtab_hw_error(iommu, event);
487 pgtable_hw_error(iommu, event);
490 cmdbuf_hw_error(iommu, event);
493 cmdbuf_illegal_cmd(iommu, event);
496 iotlb_inval_to(iommu, event);
499 device_illegal_req(iommu, event);
503 f, driver, instance, iommu->aiomt_idx, event_type);
509 amd_iommu_read_log(amd_iommu_t *iommu, amd_iommu_log_op_t op)
517 mutex_enter(&iommu->aiomt_eventlock);
519 ASSERT(iommu->aiomt_event_head != NULL);
523 REGADDR64(iommu->aiomt_reg_eventlog_tail_va),
528 ASSERT(evtail_off < iommu->aiomt_eventlog_sz);
530 evtail = iommu->aiomt_eventlog + evtail_off;
534 iommu->aiomt_event_head = (uint32_t *)evtail;
536 iommu->aiomt_reg_eventlog_head_va),
539 mutex_exit(&iommu->aiomt_eventlock);
545 if ((caddr_t)iommu->aiomt_event_head == evtail)
550 (void *)iommu->aiomt_event_head,
553 amd_iommu_process_one_event(iommu);
559 iommu->aiomt_event_head += 4;
560 if ((caddr_t)iommu->aiomt_event_head >=
561 iommu->aiomt_eventlog + iommu->aiomt_eventlog_sz) {
563 iommu->aiomt_event_head =
565 (uint32_t *)iommu->aiomt_eventlog;
568 evhead_off = (caddr_t)iommu->aiomt_event_head
570 - iommu->aiomt_eventlog;
573 ASSERT(evhead_off < iommu->aiomt_eventlog_sz);
576 iommu->aiomt_reg_eventlog_head_va),
579 mutex_exit(&iommu->aiomt_eventlock);