• Home
  • Raw
  • Download

Lines Matching full:mask

46 static inline void snd_mask_none(struct snd_mask *mask)  in snd_mask_none()  argument
48 memset(mask, 0, sizeof(*mask)); in snd_mask_none()
51 static inline void snd_mask_any(struct snd_mask *mask) in snd_mask_any() argument
53 memset(mask, 0xff, SNDRV_MASK_SIZE * sizeof(u_int32_t)); in snd_mask_any()
56 static inline int snd_mask_empty(const struct snd_mask *mask) in snd_mask_empty() argument
60 if (mask->bits[i]) in snd_mask_empty()
65 static inline unsigned int snd_mask_min(const struct snd_mask *mask) in snd_mask_min() argument
69 if (mask->bits[i]) in snd_mask_min()
70 return __ffs(mask->bits[i]) + (i << 5); in snd_mask_min()
75 static inline unsigned int snd_mask_max(const struct snd_mask *mask) in snd_mask_max() argument
79 if (mask->bits[i]) in snd_mask_max()
80 return __fls(mask->bits[i]) + (i << 5); in snd_mask_max()
85 static inline void snd_mask_set(struct snd_mask *mask, unsigned int val) in snd_mask_set() argument
87 mask->bits[MASK_OFS(val)] |= MASK_BIT(val); in snd_mask_set()
91 static inline void snd_mask_set_format(struct snd_mask *mask, in snd_mask_set_format() argument
94 snd_mask_set(mask, (__force unsigned int)format); in snd_mask_set_format()
97 static inline void snd_mask_reset(struct snd_mask *mask, unsigned int val) in snd_mask_reset() argument
99 mask->bits[MASK_OFS(val)] &= ~MASK_BIT(val); in snd_mask_reset()
102 static inline void snd_mask_set_range(struct snd_mask *mask, in snd_mask_set_range() argument
107 mask->bits[MASK_OFS(i)] |= MASK_BIT(i); in snd_mask_set_range()
110 static inline void snd_mask_reset_range(struct snd_mask *mask, in snd_mask_reset_range() argument
115 mask->bits[MASK_OFS(i)] &= ~MASK_BIT(i); in snd_mask_reset_range()
118 static inline void snd_mask_leave(struct snd_mask *mask, unsigned int val) in snd_mask_leave() argument
121 v = mask->bits[MASK_OFS(val)] & MASK_BIT(val); in snd_mask_leave()
122 snd_mask_none(mask); in snd_mask_leave()
123 mask->bits[MASK_OFS(val)] = v; in snd_mask_leave()
126 static inline void snd_mask_intersect(struct snd_mask *mask, in snd_mask_intersect() argument
131 mask->bits[i] &= v->bits[i]; in snd_mask_intersect()
134 static inline int snd_mask_eq(const struct snd_mask *mask, in snd_mask_eq() argument
137 return ! memcmp(mask, v, SNDRV_MASK_SIZE * sizeof(u_int32_t)); in snd_mask_eq()
140 static inline void snd_mask_copy(struct snd_mask *mask, in snd_mask_copy() argument
143 *mask = *v; in snd_mask_copy()
146 static inline int snd_mask_test(const struct snd_mask *mask, unsigned int val) in snd_mask_test() argument
148 return mask->bits[MASK_OFS(val)] & MASK_BIT(val); in snd_mask_test()
151 static inline int snd_mask_single(const struct snd_mask *mask) in snd_mask_single() argument
155 if (! mask->bits[i]) in snd_mask_single()
157 if (mask->bits[i] & (mask->bits[i] - 1)) in snd_mask_single()
166 static inline int snd_mask_refine(struct snd_mask *mask, in snd_mask_refine() argument
170 snd_mask_copy(&old, mask); in snd_mask_refine()
171 snd_mask_intersect(mask, v); in snd_mask_refine()
172 if (snd_mask_empty(mask)) in snd_mask_refine()
174 return !snd_mask_eq(mask, &old); in snd_mask_refine()
177 static inline int snd_mask_refine_first(struct snd_mask *mask) in snd_mask_refine_first() argument
179 if (snd_mask_single(mask)) in snd_mask_refine_first()
181 snd_mask_leave(mask, snd_mask_min(mask)); in snd_mask_refine_first()
185 static inline int snd_mask_refine_last(struct snd_mask *mask) in snd_mask_refine_last() argument
187 if (snd_mask_single(mask)) in snd_mask_refine_last()
189 snd_mask_leave(mask, snd_mask_max(mask)); in snd_mask_refine_last()
193 static inline int snd_mask_refine_min(struct snd_mask *mask, unsigned int val) in snd_mask_refine_min() argument
195 if (snd_mask_min(mask) >= val) in snd_mask_refine_min()
197 snd_mask_reset_range(mask, 0, val - 1); in snd_mask_refine_min()
198 if (snd_mask_empty(mask)) in snd_mask_refine_min()
203 static inline int snd_mask_refine_max(struct snd_mask *mask, unsigned int val) in snd_mask_refine_max() argument
205 if (snd_mask_max(mask) <= val) in snd_mask_refine_max()
207 snd_mask_reset_range(mask, val + 1, SNDRV_MASK_BITS); in snd_mask_refine_max()
208 if (snd_mask_empty(mask)) in snd_mask_refine_max()
213 static inline int snd_mask_refine_set(struct snd_mask *mask, unsigned int val) in snd_mask_refine_set() argument
216 changed = !snd_mask_single(mask); in snd_mask_refine_set()
217 snd_mask_leave(mask, val); in snd_mask_refine_set()
218 if (snd_mask_empty(mask)) in snd_mask_refine_set()
223 static inline int snd_mask_value(const struct snd_mask *mask) in snd_mask_value() argument
225 return snd_mask_min(mask); in snd_mask_value()