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()
202 ring = flow->rings[i]; in brcmf_flowring_block()
203 if ((ring->status == RING_OPEN) && in brcmf_flowring_block()
205 if (ring->blocked) { in brcmf_flowring_block()
212 ring->blocked = blocked; in brcmf_flowring_block()
229 struct brcmf_flowring_ring *ring; in brcmf_flowring_delete() local
233 ring = flow->rings[flowid]; in brcmf_flowring_delete()
234 if (!ring) in brcmf_flowring_delete()
237 hash_idx = ring->hash_id; in brcmf_flowring_delete()
242 skb = skb_dequeue(&ring->skblist); in brcmf_flowring_delete()
245 skb = skb_dequeue(&ring->skblist); in brcmf_flowring_delete()
248 kfree(ring); in brcmf_flowring_delete()
255 struct brcmf_flowring_ring *ring; in brcmf_flowring_enqueue() local
257 ring = flow->rings[flowid]; in brcmf_flowring_enqueue()
259 skb_queue_tail(&ring->skblist, skb); in brcmf_flowring_enqueue()
261 if (!ring->blocked && in brcmf_flowring_enqueue()
262 (skb_queue_len(&ring->skblist) > BRCMF_FLOWRING_HIGH)) { in brcmf_flowring_enqueue()
271 if (skb_queue_len(&ring->skblist) < BRCMF_FLOWRING_LOW) in brcmf_flowring_enqueue()
279 struct brcmf_flowring_ring *ring; in brcmf_flowring_dequeue() local
282 ring = flow->rings[flowid]; in brcmf_flowring_dequeue()
283 if (ring->status != RING_OPEN) in brcmf_flowring_dequeue()
286 skb = skb_dequeue(&ring->skblist); in brcmf_flowring_dequeue()
288 if (ring->blocked && in brcmf_flowring_dequeue()
289 (skb_queue_len(&ring->skblist) < BRCMF_FLOWRING_LOW)) { in brcmf_flowring_dequeue()
301 struct brcmf_flowring_ring *ring; in brcmf_flowring_reinsert() local
303 ring = flow->rings[flowid]; in brcmf_flowring_reinsert()
305 skb_queue_head(&ring->skblist, skb); in brcmf_flowring_reinsert()
311 struct brcmf_flowring_ring *ring; in brcmf_flowring_qlen() local
313 ring = flow->rings[flowid]; in brcmf_flowring_qlen()
314 if (!ring) in brcmf_flowring_qlen()
317 if (ring->status != RING_OPEN) in brcmf_flowring_qlen()
320 return skb_queue_len(&ring->skblist); in brcmf_flowring_qlen()
326 struct brcmf_flowring_ring *ring; in brcmf_flowring_open() local
328 ring = flow->rings[flowid]; in brcmf_flowring_open()
329 if (!ring) { in brcmf_flowring_open()
334 ring->status = RING_OPEN; in brcmf_flowring_open()
340 struct brcmf_flowring_ring *ring; in brcmf_flowring_ifidx_get() local
343 ring = flow->rings[flowid]; in brcmf_flowring_ifidx_get()
344 hash_idx = ring->hash_id; in brcmf_flowring_ifidx_get()