Lines Matching defs:gather

349  * @gather: Range information for a pending IOTLB flush
353 struct iommu_iotlb_gather *gather;
770 static inline void iommu_iotlb_gather_init(struct iommu_iotlb_gather *gather)
772 *gather = (struct iommu_iotlb_gather) {
774 .freelist = LIST_HEAD_INIT(gather->freelist),
866 * @gather: TLB gather data
875 bool iommu_iotlb_gather_is_disjoint(struct iommu_iotlb_gather *gather,
880 return gather->end != 0 &&
881 (end + 1 < gather->start || start > gather->end + 1);
887 * @gather: TLB gather data
895 static inline void iommu_iotlb_gather_add_range(struct iommu_iotlb_gather *gather,
900 if (gather->start > iova)
901 gather->start = iova;
902 if (gather->end < end)
903 gather->end = end;
909 * @gather: TLB gather data
918 struct iommu_iotlb_gather *gather,
923 * a different granularity, then sync the TLB so that the gather
926 if ((gather->pgsize && gather->pgsize != size) ||
927 iommu_iotlb_gather_is_disjoint(gather, iova, size))
928 iommu_iotlb_sync(domain, gather);
930 gather->pgsize = size;
931 iommu_iotlb_gather_add_range(gather, iova, size);
934 static inline bool iommu_iotlb_gather_queued(struct iommu_iotlb_gather *gather)
936 return gather && gather->queued;
941 struct iommu_iotlb_gather *gather)
943 if (gather)
944 iommu_iotlb_gather_init(gather);
947 dirty->gather = gather;
957 if (dirty->gather)
958 iommu_iotlb_gather_add_range(dirty->gather, iova, length);
1265 static inline void iommu_iotlb_gather_init(struct iommu_iotlb_gather *gather)
1270 struct iommu_iotlb_gather *gather,
1275 static inline bool iommu_iotlb_gather_queued(struct iommu_iotlb_gather *gather)
1282 struct iommu_iotlb_gather *gather)