19 #include <linux/errno.h>
20 #include <linux/types.h>
21 #include <linux/pci.h>
23 #include <linux/slab.h>
27 static int vnic_rq_alloc_bufs(
struct vnic_rq *
rq)
36 for (i = 0; i < blks; i++) {
44 for (i = 0; i < blks; i++) {
47 buf->
index = i * VNIC_RQ_BUF_BLK_ENTRIES +
j;
53 }
else if (j + 1 == VNIC_RQ_BUF_BLK_ENTRIES) {
86 unsigned int desc_count,
unsigned int desc_size)
105 err = vnic_rq_alloc_bufs(rq);
115 unsigned int error_interrupt_enable,
116 unsigned int error_interrupt_offset)
125 iowrite32(error_interrupt_enable, &rq->
ctrl->error_interrupt_enable);
126 iowrite32(error_interrupt_offset, &rq->
ctrl->error_interrupt_offset);
157 for (wait = 0; wait < 100; wait++) {
180 (*buf_clean)(
rq,
buf);
182 buf = rq->to_clean = buf->
next;
183 rq->ring.desc_avail++;