Lines Matching full:faults
3 * Handle device page faults
46 list_for_each_entry_safe(iopf, next, &group->faults, list) { in __iopf_free_group()
99 INIT_LIST_HEAD(&group->faults); in iopf_group_alloc()
101 list_add(&group->last_fault.list, &group->faults); in iopf_group_alloc()
103 /* See if we have partial faults for this group */ in iopf_group_alloc()
108 list_move(&iopf->list, &group->faults); in iopf_group_alloc()
110 list_add(&group->pending_node, &iopf_param->faults); in iopf_group_alloc()
113 group->fault_count = list_count_nodes(&group->faults); in iopf_group_alloc()
134 * managed PASID table. Therefore page faults for in find_fault_handler()
181 * them before reporting faults. A PASID Stop Marker (LRW = 0b100) doesn't
201 * request completes, outstanding faults will have been dealt with by the time
207 * freed after the device has stopped generating page faults (or the iommu
208 * hardware has been set to block the page faults) and the pending page faults
250 * leaving, otherwise partial faults will be stuck. in iommu_report_device_fault()
287 * iopf_queue_flush_dev - Ensure that all queued faults have been processed
288 * @dev: the endpoint whose faults need to be flushed.
291 * pending faults for this PASID have been handled, and won't hit the address
318 * iopf_group_response - Respond a group of page faults
319 * @group: the group of faults with the same group id
347 * @queue: the queue whose partial faults need to be discarded
349 * When the hardware queue overflows, last page faults in a group may have been
350 * lost and the IOMMU driver calls this to discard all partial faults. The
351 * driver shouldn't be adding new faults to this queue concurrently.
410 INIT_LIST_HEAD(&fault_param->faults); in iopf_queue_add_device()
471 list_for_each_entry_safe(group, temp, &fault_param->faults, pending_node) { in iopf_queue_remove_device()
510 * The WQ is unordered because the low-level handler enqueues faults by in iopf_queue_alloc()
532 * Counterpart to iopf_queue_alloc(). The driver must not be queuing faults or