b43_dmaring
struct b43_dmaring;
struct b43_dmaring *tx_ring_AC_BK; /* Background */
struct b43_dmaring *tx_ring_AC_BE; /* Best Effort */
struct b43_dmaring *tx_ring_AC_VI; /* Video */
struct b43_dmaring *tx_ring_AC_VO; /* Voice */
struct b43_dmaring *tx_ring_mcast; /* Multicast */
struct b43_dmaring *rx_ring;
static u16 generate_cookie(struct b43_dmaring *ring, int slot)
struct b43_dmaring *parse_cookie(struct b43_wldev *dev, u16 cookie, int *slot)
struct b43_dmaring *ring = NULL;
static void op32_poke_tx(struct b43_dmaring *ring, int slot)
static int dma_tx_fragment(struct b43_dmaring *ring,
static void op32_tx_suspend(struct b43_dmaring *ring)
static inline int should_inject_overflow(struct b43_dmaring *ring)
static void op32_tx_resume(struct b43_dmaring *ring)
static struct b43_dmaring *select_ring_by_priority(struct b43_wldev *dev,
struct b43_dmaring *ring;
struct b43_dmaring *ring;
static int op32_get_current_rxslot(struct b43_dmaring *ring)
struct b43_dmaring *ring;
static void op32_set_current_rxslot(struct b43_dmaring *ring, int slot)
static void dma_rx(struct b43_dmaring *ring, int *slot)
struct b43_dmadesc_generic *op64_idx2desc(struct b43_dmaring *ring,
void b43_dma_handle_rx_overflow(struct b43_dmaring *ring)
void b43_dma_rx(struct b43_dmaring *ring)
static void b43_dma_tx_suspend_ring(struct b43_dmaring *ring)
static void b43_dma_tx_resume_ring(struct b43_dmaring *ring)
static void op64_fill_descriptor(struct b43_dmaring *ring,
static void op64_poke_tx(struct b43_dmaring *ring, int slot)
static void op64_tx_suspend(struct b43_dmaring *ring)
static void op64_tx_resume(struct b43_dmaring *ring)
static int op64_get_current_rxslot(struct b43_dmaring *ring)
static void op64_set_current_rxslot(struct b43_dmaring *ring, int slot)
static inline int free_slots(struct b43_dmaring *ring)
static inline int next_slot(struct b43_dmaring *ring, int slot)
static inline int prev_slot(struct b43_dmaring *ring, int slot)
static void update_max_used_slots(struct b43_dmaring *ring,
void update_max_used_slots(struct b43_dmaring *ring, int current_used_slots)
static inline int request_slot(struct b43_dmaring *ring)
dma_addr_t map_descbuffer(struct b43_dmaring *ring,
void unmap_descbuffer(struct b43_dmaring *ring,
void sync_descbuffer_for_cpu(struct b43_dmaring *ring,
void sync_descbuffer_for_device(struct b43_dmaring *ring,
void free_descriptor_buffer(struct b43_dmaring *ring,
static int alloc_ringmemory(struct b43_dmaring *ring)
static void free_ringmemory(struct b43_dmaring *ring)
static bool b43_dma_mapping_error(struct b43_dmaring *ring,
static bool b43_rx_buffer_is_poisoned(struct b43_dmaring *ring, struct sk_buff *skb)
static void b43_poison_rx_buffer(struct b43_dmaring *ring, struct sk_buff *skb)
static int setup_rx_descbuffer(struct b43_dmaring *ring,
static int alloc_initial_descbuffers(struct b43_dmaring *ring)
static int dmacontroller_setup(struct b43_dmaring *ring)
struct b43_dmadesc_generic *op32_idx2desc(struct b43_dmaring *ring,
static void dmacontroller_cleanup(struct b43_dmaring *ring)
static void free_all_descbuffers(struct b43_dmaring *ring)
struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
struct b43_dmaring *ring;
static void op32_fill_descriptor(struct b43_dmaring *ring,
static void b43_destroy_dmaring(struct b43_dmaring *ring,
struct b43_dmaring;
struct b43_dmadesc_generic *(*idx2desc) (struct b43_dmaring * ring,
void (*fill_descriptor) (struct b43_dmaring * ring,
void (*poke_tx) (struct b43_dmaring * ring, int slot);
void (*tx_suspend) (struct b43_dmaring * ring);
void (*tx_resume) (struct b43_dmaring * ring);
int (*get_current_rxslot) (struct b43_dmaring * ring);
void (*set_current_rxslot) (struct b43_dmaring * ring, int slot);
static inline u32 b43_dma_read(struct b43_dmaring *ring, u16 offset)
static inline void b43_dma_write(struct b43_dmaring *ring, u16 offset, u32 value)
void b43_dma_handle_rx_overflow(struct b43_dmaring *ring);
void b43_dma_rx(struct b43_dmaring *ring);