Lines Matching refs:_spsc
84 ._spsc = \
103 struct spsc _spsc; \
124 #define spsc_size(spsc) ((spsc)->_spsc.mask + 1)
133 #define z_spsc_mask(spsc, i) ((i) & (spsc)->_spsc.mask)
139 #define z_spsc_in(spsc) (unsigned long)atomic_get(&(spsc)->_spsc.in)
145 #define z_spsc_out(spsc) (unsigned long)atomic_get(&(spsc)->_spsc.out)
157 (spsc)->_spsc.consume = 0; \
158 (spsc)->_spsc.acquire = 0; \
159 atomic_set(&(spsc)->_spsc.in, 0); \
160 atomic_set(&(spsc)->_spsc.out, 0); \
172 unsigned long idx = z_spsc_in(spsc) + (spsc)->_spsc.acquire; \
175 (spsc)->_spsc.acquire += 1; \
189 if ((spsc)->_spsc.acquire > 0) { \
190 (spsc)->_spsc.acquire -= 1; \
191 atomic_add(&(spsc)->_spsc.in, 1); \
205 if ((spsc)->_spsc.acquire > 0) { \
206 unsigned long acquired = (spsc)->_spsc.acquire; \
207 (spsc)->_spsc.acquire = 0; \
208 atomic_add(&(spsc)->_spsc.in, acquired); \
221 (spsc)->_spsc.acquire = 0; \
233 unsigned long idx = z_spsc_out(spsc) + (spsc)->_spsc.consume; \
236 (spsc)->_spsc.consume += 1; \
248 if ((spsc)->_spsc.consume > 0) { \
249 (spsc)->_spsc.consume -= 1; \
250 atomic_add(&(spsc)->_spsc.out, 1); \
261 if ((spsc)->_spsc.consume > 0) { \
262 unsigned long consumed = (spsc)->_spsc.consume; \
263 (spsc)->_spsc.consume = 0; \
264 atomic_add(&(spsc)->_spsc.out, consumed); \
274 ({ (((spsc)->_spsc.in + (spsc)->_spsc.acquire) - (spsc)->_spsc.out) - spsc_size(spsc); })
281 #define spsc_consumable(spsc) ({ (spsc)->_spsc.in - (spsc)->_spsc.out - (spsc)->_spsc.consume; })
292 unsigned long idx = z_spsc_out(spsc) + (spsc)->_spsc.consume; \