Lines Matching refs:level
27 static u64 xe_pt_addr_end(u64 addr, u64 end, unsigned int level, in xe_pt_addr_end() argument
30 u64 size = 1ull << walk->shifts[level]; in xe_pt_addr_end()
37 unsigned int level, const struct xe_pt_walk *walk) in xe_pt_next() argument
43 unsigned int shift = walk->shifts[level]; in xe_pt_next()
73 int xe_pt_walk_range(struct xe_ptw *parent, unsigned int level, in xe_pt_walk_range() argument
76 pgoff_t offset = xe_pt_offset(addr, level, walk); in xe_pt_walk_range()
86 next = xe_pt_addr_end(addr, end, level, walk); in xe_pt_walk_range()
87 if (walk->shared_pt_mode && xe_pt_covers(addr, next, level, in xe_pt_walk_range()
93 err = ops->pt_entry(parent, offset, level, addr, next, in xe_pt_walk_range()
102 if (likely(!level || !child || action == ACTION_CONTINUE)) in xe_pt_walk_range()
105 err = xe_pt_walk_range(child, level - 1, addr, next, walk); in xe_pt_walk_range()
108 err = ops->pt_post_descend(parent, offset, level, addr, in xe_pt_walk_range()
113 } while (xe_pt_next(&offset, &addr, next, end, level, walk)); in xe_pt_walk_range()
140 int xe_pt_walk_shared(struct xe_ptw *parent, unsigned int level, in xe_pt_walk_shared() argument
149 err = walk->ops->pt_entry(parent, 0, level + 1, addr, end, in xe_pt_walk_shared()
155 err = xe_pt_walk_range(parent, level, addr, end, walk); in xe_pt_walk_shared()
157 err = ops->pt_post_descend(parent, 0, level + 1, addr, end, in xe_pt_walk_shared()