19 #include <linux/errno.h>
20 #include <linux/types.h>
21 #include <linux/pci.h>
23 #include <linux/slab.h>
27 static int vnic_wq_alloc_bufs(
struct vnic_wq *wq)
36 for (i = 0; i < blks; i++) {
44 for (i = 0; i < blks; i++) {
47 buf->
index = i * VNIC_WQ_BUF_BLK_ENTRIES +
j;
53 }
else if (j + 1 == VNIC_WQ_BUF_BLK_ENTRIES) {
86 unsigned int desc_count,
unsigned int desc_size)
105 err = vnic_wq_alloc_bufs(wq);
115 unsigned int error_interrupt_enable,
116 unsigned int error_interrupt_offset)
126 iowrite32(error_interrupt_enable, &wq->
ctrl->error_interrupt_enable);
127 iowrite32(error_interrupt_offset, &wq->
ctrl->error_interrupt_offset);
148 for (wait = 0; wait < 100; wait++) {
170 (*buf_clean)(wq,
buf);
172 buf = wq->to_clean = buf->
next;
173 wq->ring.desc_avail++;