Lines Matching refs:ring

112 	struct brcmf_flowring_ring *ring;  in brcmf_flowring_create()  local
152 ring = kzalloc(sizeof(*ring), GFP_ATOMIC); in brcmf_flowring_create()
153 if (!ring) in brcmf_flowring_create()
161 ring->hash_id = hash_idx; in brcmf_flowring_create()
162 ring->status = RING_CLOSED; in brcmf_flowring_create()
163 skb_queue_head_init(&ring->skblist); in brcmf_flowring_create()
164 flow->rings[i] = ring; in brcmf_flowring_create()
174 struct brcmf_flowring_ring *ring; in brcmf_flowring_tid() local
176 ring = flow->rings[flowid]; in brcmf_flowring_tid()
178 return flow->hash[ring->hash_id].fifo; in brcmf_flowring_tid()
185 struct brcmf_flowring_ring *ring; in brcmf_flowring_block() local
196 ring = flow->rings[flowid]; in brcmf_flowring_block()
197 if (ring->blocked == blocked) { in brcmf_flowring_block()
206 ring = flow->rings[i]; in brcmf_flowring_block()
207 if ((ring->status == RING_OPEN) && in brcmf_flowring_block()
209 if (ring->blocked) { in brcmf_flowring_block()
233 struct brcmf_flowring_ring *ring; in brcmf_flowring_delete() local
237 ring = flow->rings[flowid]; in brcmf_flowring_delete()
238 if (!ring) in brcmf_flowring_delete()
241 hash_idx = ring->hash_id; in brcmf_flowring_delete()
246 skb = skb_dequeue(&ring->skblist); in brcmf_flowring_delete()
249 skb = skb_dequeue(&ring->skblist); in brcmf_flowring_delete()
252 kfree(ring); in brcmf_flowring_delete()
259 struct brcmf_flowring_ring *ring; in brcmf_flowring_enqueue() local
261 ring = flow->rings[flowid]; in brcmf_flowring_enqueue()
263 skb_queue_tail(&ring->skblist, skb); in brcmf_flowring_enqueue()
265 if (!ring->blocked && in brcmf_flowring_enqueue()
266 (skb_queue_len(&ring->skblist) > BRCMF_FLOWRING_HIGH)) { in brcmf_flowring_enqueue()
275 if (skb_queue_len(&ring->skblist) < BRCMF_FLOWRING_LOW) in brcmf_flowring_enqueue()
278 return skb_queue_len(&ring->skblist); in brcmf_flowring_enqueue()
284 struct brcmf_flowring_ring *ring; in brcmf_flowring_dequeue() local
287 ring = flow->rings[flowid]; in brcmf_flowring_dequeue()
288 if (ring->status != RING_OPEN) in brcmf_flowring_dequeue()
291 skb = skb_dequeue(&ring->skblist); in brcmf_flowring_dequeue()
293 if (ring->blocked && in brcmf_flowring_dequeue()
294 (skb_queue_len(&ring->skblist) < BRCMF_FLOWRING_LOW)) { in brcmf_flowring_dequeue()
306 struct brcmf_flowring_ring *ring; in brcmf_flowring_reinsert() local
308 ring = flow->rings[flowid]; in brcmf_flowring_reinsert()
310 skb_queue_head(&ring->skblist, skb); in brcmf_flowring_reinsert()
316 struct brcmf_flowring_ring *ring; in brcmf_flowring_qlen() local
318 ring = flow->rings[flowid]; in brcmf_flowring_qlen()
319 if (!ring) in brcmf_flowring_qlen()
322 if (ring->status != RING_OPEN) in brcmf_flowring_qlen()
325 return skb_queue_len(&ring->skblist); in brcmf_flowring_qlen()
331 struct brcmf_flowring_ring *ring; in brcmf_flowring_open() local
333 ring = flow->rings[flowid]; in brcmf_flowring_open()
334 if (!ring) { in brcmf_flowring_open()
339 ring->status = RING_OPEN; in brcmf_flowring_open()
345 struct brcmf_flowring_ring *ring; in brcmf_flowring_ifidx_get() local
348 ring = flow->rings[flowid]; in brcmf_flowring_ifidx_get()
349 hash_idx = ring->hash_id; in brcmf_flowring_ifidx_get()