BNX2X: IRQs implemented
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 19 Feb 2015 22:10:37 +0000 (17:10 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 2 Mar 2015 16:59:10 +0000 (11:59 -0500)
commit2cef76c05712398af3377eebaa698137667d5df5
tree9289a2d8b4f9b1e9d5dc9c761cbd850804a512e7
parent08fc061f3492252bc4231d81a28598662ee42cad
BNX2X: IRQs implemented

IRQs are registered okay, but we were hanging here:

[bnx2x]:[bnx2x_state_wait:285()]waiting for state to become 1
[bnx2x]:[bnx2x_sp_task:5648()]sp task invoked
[bnx2x]:[bnx2x_sp_task:5657()]status 0
[bnx2x]:[bnx2x_sp_task:5658()]setting interrupt_occurred to 0
[bnx2x]:[bnx2x_state_wait:303()]timeout waiting for state 1

The issue is that we should be receiving an FP IRQ at this point, and we
needed to be consistent with whether or not we have CNIC_SUPPORT.  If we
do, then the code needs to reserve an extra MSIX vector in the
pci_devices table for the CNIC.  The actual card will know about it
(since we tell it elsewhere), and then the FP's won't begin until MSIX
vector 2 (the third one).

Also, since we do various hackery, we need to make sure the driver knows
we're using MSIX.  We'll tell it later, based on the flag.

Btw, the current pr_fmt seems a bit obnoxious.  Damned if you do, damned if you
don't.
kern/drivers/net/bnx2x/akaros_compat.h
kern/drivers/net/bnx2x/bnx2x_cmn.c
kern/drivers/net/bnx2x/bnx2x_main.c
kern/drivers/net/bnx2x/bnx2x_sp.c