summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/aic8800/aic8800_fdrv/aicwf_rx_prealloc.h
blob: a19bbe9a4578564cbc39d5ee9dd8dcc9734ead62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef _AICWF_RX_PREALLOC_H_
#define _AICWF_RX_PREALLOC_H_

#ifdef CONFIG_PREALLOC_RX_SKB

struct rx_buff {
    struct list_head queue;
    unsigned char *data;
    u32 len;
    uint8_t *start;
    uint8_t *end;
    uint8_t *read;
};

struct aicwf_rx_buff_list {
    struct list_head rxbuff_list;
    atomic_t rxbuff_list_len;
};

extern struct rx_buff *aicwf_prealloc_rxbuff_alloc(spinlock_t *lock);
extern void aicwf_prealloc_rxbuff_free(struct rx_buff *rxbuff, spinlock_t *lock);
extern int aicwf_prealloc_init(void);
extern void aicwf_prealloc_exit(void);
extern int aicwf_rxbuff_size_get(void);
#endif
#endif /* _AICWF_RX_PREALLOC_H_ */