Lines Matching refs:_s
50 #define __RING_HEADER_SIZE(_s) \
51 ((intptr_t)(_s)->ring - (intptr_t)(_s))
59 #define __CONST_RING_SIZE(_s, _sz) \
60 (__RD32(((_sz) - offsetof(struct _s##_sring, ring)) / \
61 sizeof(((struct _s##_sring *)0)->ring[0])))
65 #define __RING_SIZE(_s, _sz) \
66 (__RD32(((_sz) - __RING_HEADER_SIZE(_s)) / sizeof((_s)->ring[0])))
73 #define __RING_PAGES(_s, _entries) \
74 ((__RING_HEADER_SIZE(_s) \
75 + (__RD32(_entries) * sizeof((_s)->ring[0])) \
172 #define SHARED_RING_INIT(_s) do { \
173 (_s)->req_prod = (_s)->rsp_prod = 0; \
174 (_s)->req_event = (_s)->rsp_event = 1; \
175 (void)memset((_s)->private.pvt_pad, 0, sizeof((_s)->private.pvt_pad)); \
176 (void)memset((_s)->__pad, 0, sizeof((_s)->__pad)); \
179 #define FRONT_RING_INIT(_r, _s, __size) do { \
182 (_r)->nr_ents = __RING_SIZE(_s, __size); \
183 (_r)->sring = (_s); \
186 #define BACK_RING_INIT(_r, _s, __size) do { \
189 (_r)->nr_ents = __RING_SIZE(_s, __size); \
190 (_r)->sring = (_s); \
194 #define FRONT_RING_ATTACH(_r, _s, __size) do { \
195 (_r)->sring = (_s); \
196 (_r)->req_prod_pvt = (_s)->req_prod; \
197 (_r)->rsp_cons = (_s)->rsp_prod; \
198 (_r)->nr_ents = __RING_SIZE(_s, __size); \
201 #define BACK_RING_ATTACH(_r, _s, __size) do { \
202 (_r)->sring = (_s); \
203 (_r)->rsp_prod_pvt = (_s)->rsp_prod; \
204 (_r)->req_cons = (_s)->req_prod; \
205 (_r)->nr_ents = __RING_SIZE(_s, __size); \