Lines Matching refs:slot
86 int slot, in op32_idx2desc() argument
91 *meta = &(ring->meta[slot]); in op32_idx2desc()
93 desc = &(desc[slot]); in op32_idx2desc()
104 int slot; in op32_fill_descriptor() local
109 slot = (int)(&(desc->dma32) - descbase); in op32_fill_descriptor()
110 B43_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); in op32_fill_descriptor()
116 if (slot == ring->nr_slots - 1) in op32_fill_descriptor()
131 static void op32_poke_tx(struct b43_dmaring *ring, int slot) in op32_poke_tx() argument
134 (u32) (slot * sizeof(struct b43_dmadesc32))); in op32_poke_tx()
159 static void op32_set_current_rxslot(struct b43_dmaring *ring, int slot) in op32_set_current_rxslot() argument
162 (u32) (slot * sizeof(struct b43_dmadesc32))); in op32_set_current_rxslot()
178 int slot, in op64_idx2desc() argument
183 *meta = &(ring->meta[slot]); in op64_idx2desc()
185 desc = &(desc[slot]); in op64_idx2desc()
196 int slot; in op64_fill_descriptor() local
201 slot = (int)(&(desc->dma64) - descbase); in op64_fill_descriptor()
202 B43_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); in op64_fill_descriptor()
208 if (slot == ring->nr_slots - 1) in op64_fill_descriptor()
226 static void op64_poke_tx(struct b43_dmaring *ring, int slot) in op64_poke_tx() argument
229 (u32) (slot * sizeof(struct b43_dmadesc64))); in op64_poke_tx()
254 static void op64_set_current_rxslot(struct b43_dmaring *ring, int slot) in op64_set_current_rxslot() argument
257 (u32) (slot * sizeof(struct b43_dmadesc64))); in op64_set_current_rxslot()
275 static inline int next_slot(struct b43_dmaring *ring, int slot) in next_slot() argument
277 B43_WARN_ON(!(slot >= -1 && slot <= ring->nr_slots - 1)); in next_slot()
278 if (slot == ring->nr_slots - 1) in next_slot()
280 return slot + 1; in next_slot()
283 static inline int prev_slot(struct b43_dmaring *ring, int slot) in prev_slot() argument
285 B43_WARN_ON(!(slot >= 0 && slot <= ring->nr_slots - 1)); in prev_slot()
286 if (slot == 0) in prev_slot()
288 return slot - 1; in prev_slot()
315 int slot; in request_slot() local
321 slot = next_slot(ring, ring->current_slot); in request_slot()
322 ring->current_slot = slot; in request_slot()
327 return slot; in request_slot()
1198 static u16 generate_cookie(struct b43_dmaring *ring, int slot) in generate_cookie() argument
1211 B43_WARN_ON(slot & ~0x0FFF); in generate_cookie()
1212 cookie |= (u16)slot; in generate_cookie()
1219 struct b43_dmaring *parse_cookie(struct b43_wldev *dev, u16 cookie, int *slot) in parse_cookie() argument
1241 *slot = (cookie & 0x0FFF); in parse_cookie()
1242 if (unlikely(!ring || *slot < 0 || *slot >= ring->nr_slots)) { in parse_cookie()
1258 int slot, old_top_slot, old_used_slots; in dma_tx_fragment() local
1275 slot = request_slot(ring); in dma_tx_fragment()
1276 desc = ops->idx2desc(ring, slot, &meta_hdr); in dma_tx_fragment()
1279 header = &(ring->txhdr_cache[(slot / TX_SLOTS_PER_FRAME) * hdrsize]); in dma_tx_fragment()
1280 cookie = generate_cookie(ring, slot); in dma_tx_fragment()
1300 slot = request_slot(ring); in dma_tx_fragment()
1301 desc = ops->idx2desc(ring, slot, &meta); in dma_tx_fragment()
1341 ops->poke_tx(ring, next_slot(ring, slot)); in dma_tx_fragment()
1484 int slot, firstused; in b43_dma_handle_txstatus() local
1489 ring = parse_cookie(dev, status->cookie, &slot); in b43_dma_handle_txstatus()
1502 if (unlikely(slot != firstused)) { in b43_dma_handle_txstatus()
1506 if (slot == next_slot(ring, next_slot(ring, firstused))) { in b43_dma_handle_txstatus()
1510 slot = firstused; in b43_dma_handle_txstatus()
1516 ring->index, slot); in b43_dma_handle_txstatus()
1526 ring->index, firstused, slot); in b43_dma_handle_txstatus()
1534 B43_WARN_ON(slot < 0 || slot >= ring->nr_slots); in b43_dma_handle_txstatus()
1536 ops->idx2desc(ring, slot, &meta); in b43_dma_handle_txstatus()
1541 slot, firstused, ring->index); in b43_dma_handle_txstatus()
1567 slot, firstused, ring->index); in b43_dma_handle_txstatus()
1606 slot, firstused, ring->index); in b43_dma_handle_txstatus()
1619 slot = next_slot(ring, slot); in b43_dma_handle_txstatus()
1642 static void dma_rx(struct b43_dmaring *ring, int *slot) in dma_rx() argument
1653 desc = ops->idx2desc(ring, *slot, &meta); in dma_rx()
1690 desc = ops->idx2desc(ring, *slot, &meta); in dma_rx()
1695 *slot = next_slot(ring, *slot); in dma_rx()
1750 int slot, current_slot; in b43_dma_rx() local
1757 slot = ring->current_slot; in b43_dma_rx()
1758 for (; slot != current_slot; slot = next_slot(ring, slot)) { in b43_dma_rx()
1759 dma_rx(ring, &slot); in b43_dma_rx()
1763 ops->set_current_rxslot(ring, slot); in b43_dma_rx()
1764 ring->current_slot = slot; in b43_dma_rx()