18 #include <linux/string.h>
19 #include <linux/errno.h>
20 #include <linux/pci.h>
34 unsigned long work_done = 0;
64 static irqreturn_t fnic_isr_msi(
int irq,
void *data)
66 struct fnic *fnic =
data;
67 unsigned long work_done = 0;
81 static irqreturn_t fnic_isr_msix_rq(
int irq,
void *data)
83 struct fnic *fnic =
data;
84 unsigned long rq_work_done = 0;
95 static irqreturn_t fnic_isr_msix_wq(
int irq,
void *data)
97 struct fnic *fnic =
data;
98 unsigned long wq_work_done = 0;
108 static irqreturn_t fnic_isr_msix_wq_copy(
int irq,
void *data)
110 struct fnic *fnic =
data;
111 unsigned long wq_copy_work_done = 0;
121 static irqreturn_t fnic_isr_msix_err_notify(
int irq,
void *data)
123 struct fnic *fnic =
data;
144 if (fnic->
msix[i].requested)
146 fnic->
msix[i].devid);
168 0, fnic->
name, fnic);
174 "%.11s-fcs-rq", fnic->
name);
179 "%.11s-fcs-wq", fnic->
name);
184 "%.11s-scsi-wq", fnic->
name);
189 "%.11s-err-notify", fnic->
name);
191 fnic_isr_msix_err_notify;
196 fnic->
msix[i].isr, 0,
197 fnic->
msix[i].devname,
198 fnic->
msix[i].devid);
202 " failed %d\n", err);
206 fnic->
msix[
i].requested = 1;
235 for (i = 0; i < n + m + o + 1; i++)
253 "Using MSI-X Interrupts\n");
269 !pci_enable_msi(fnic->
pdev)) {
280 "Using MSI Interrupts\n");
306 "Using Legacy Interrupts\n");