Lines Matching full:faults

3  * Handle device page faults
33 * @partial: faults that are part of a Page Request Group for which the last
50 struct list_head faults; member
85 list_for_each_entry_safe(iopf, next, &group->faults, list) { in iopf_handler()
88 * faults in the group if there is an error. in iopf_handler()
111 * them before reporting faults. A PASID Stop Marker (LRW = 0b100) doesn't
131 * request completes, outstanding faults will have been dealt with by the time
137 * freed after the device has stopped generating page faults (or the iommu
138 * hardware has been set to block the page faults) and the pending page faults
184 * need to clean up before leaving, otherwise partial faults in iommu_queue_iopf()
193 INIT_LIST_HEAD(&group->faults); in iommu_queue_iopf()
194 list_add(&group->last_fault.list, &group->faults); in iommu_queue_iopf()
197 /* See if we have partial faults for this group */ in iommu_queue_iopf()
201 list_move(&iopf->list, &group->faults); in iommu_queue_iopf()
219 * iopf_queue_flush_dev - Ensure that all queued faults have been processed
220 * @dev: the endpoint whose faults need to be flushed.
223 * pending faults for this PASID have been handled, and won't hit the address
253 * @queue: the queue whose partial faults need to be discarded
255 * When the hardware queue overflows, last page faults in a group may have been
256 * lost and the IOMMU driver calls this to discard all partial faults. The
257 * driver shouldn't be adding new faults to this queue concurrently.
328 * Caller makes sure that no more faults are reported for this device.
355 /* Just in case some faults are still stuck */ in iopf_queue_remove_device()
380 * The WQ is unordered because the low-level handler enqueues faults by in iopf_queue_alloc()
402 * Counterpart to iopf_queue_alloc(). The driver must not be queuing faults or