Lines Matching defs:max_elems
63 static inline int pvrdma_idx_valid(__u32 idx, __u32 max_elems)
66 return (idx & ~((max_elems << 1) - 1)) == 0;
69 static inline __s32 pvrdma_idx(atomic_t *var, __u32 max_elems)
73 if (pvrdma_idx_valid(idx, max_elems))
74 return idx & (max_elems - 1);
78 static inline void pvrdma_idx_ring_inc(atomic_t *var, __u32 max_elems)
82 idx &= (max_elems << 1) - 1; /* Modulo size, flip gen. */
87 __u32 max_elems, __u32 *out_tail)
92 if (pvrdma_idx_valid(tail, max_elems) &&
93 pvrdma_idx_valid(head, max_elems)) {
94 *out_tail = tail & (max_elems - 1);
95 return tail != (head ^ max_elems);
101 __u32 max_elems, __u32 *out_head)
106 if (pvrdma_idx_valid(tail, max_elems) &&
107 pvrdma_idx_valid(head, max_elems)) {
108 *out_head = head & (max_elems - 1);