linux/drivers/net/ethernet
Rasesh Mody 078086f3c1 bna: ENET and Tx Rx Redesign Enablement
Change details:
This patch contains additional structure and function definition changes
that are required to enable the new msgq/enet/txrx redesign introduced
by the previous 4 patches.
 - structure and function definition changes to header files as a result
   of Ethport, Enet, IOCEth, Tx, Rx redesign.
 - ethtool changes to use new enet function and definitions
 - Set number of Tx and Rx queues bassed on underlying hardware. Define
   separate macros for maximum and supported numbers of Tx and Rx queues
   based on underlying hardware. Take VLAN header into account for MTU
   calculation. Default to INTx mode when pci_enable_msix() fails. Set a
   bit in Rx poll routine, check and wait for that bit to be cleared in
   the cleanup routine before proceeding.
 - The TX and Rx coalesce settings are programmed in steps of 5 us. The value
   that are not divisible by 5 are rounded to the next lower number. This was
   causing the value os 1 to 4 to be rounded to 0, which is an invalid setting.
   When creating Rx and Tx object, we are currently assigning the default
   values of Rx and Tx coalescing_timeo. If these values are changed in the
   driver to a different value, the change is lost during such operations as
   MTU change. In order to avoid that, pass the configured value of
   coalescing_timeo before Rx and Tx object creation. Fix
   bnad_tx_coalescing_timeo_set() so it applies to all the Tx objects.
 - Reorg uninitialization path in case of pci_probe failure.
 - Hardware clock setup changes to pass asic generation, port modes and
   asic mode as part firmware boot parameters to firmware.
 - FW mailbox interface changes to defined asic specific mailbox interfaces.
   h/w mailbox interfaces take 8-bit FIDs and 2-bit port id for owner. Cleaned
   up mailbox definitions and usage for new and old HW. Eliminated usage of
   ASIC ID. MSI-X vector assignment and programming done by firmware. Fixed
   host offsets for CPE/RME queue registers.
 - Implement polling mechanism for FW ready to have poll mechanism replaces
   the current interrupt based FW READY method. The timer based poll routine
   in IOC will query the ioc_fwstate register to see if there is a state
   change in FW, and sends the READY event. Removed infrastructure needed to
   support mbox READY event from fw as well as IOC code.
 - Move FW init to HW init. Handle the case where PCI mapping goes away when
   IOCPF state machine is waiting for semaphore.
 - Add IOC mbox call back to client indicating that the command is sent.

Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-08-11 07:30:13 -07:00
..
3com 3c*/acenic/typhoon: Move 3Com Ethernet drivers 2011-08-10 19:53:41 -07:00
8390 smsc: Move the SMC (SMSC) drivers 2011-08-10 20:04:03 -07:00
amd amd: Move AMD (Lance) chipset drivers 2011-08-10 19:54:11 -07:00
broadcom broadcom: Move the Broadcom drivers 2011-08-10 19:54:39 -07:00
brocade bna: ENET and Tx Rx Redesign Enablement 2011-08-11 07:30:13 -07:00
chelsio chelsio: Move the Chelsio drivers 2011-08-10 19:54:52 -07:00
cisco enic: Move the Cisco driver 2011-08-11 02:42:06 -07:00
emulex be2net: Move the Emulex driver 2011-08-11 02:33:55 -07:00
i825xx i825xx: Move the Intel 82586/82593/82596 based drivers 2011-08-10 20:04:12 -07:00
ibm ehea/ibm*: Move the IBM drivers 2011-08-11 02:41:59 -07:00
intel intel: Move the Intel wired LAN drivers 2011-08-10 20:03:27 -07:00
mellanox mlx4: Move the Mellanox driver 2011-08-11 02:41:35 -07:00
myricom myri*: Move the Myricom drivers 2011-08-11 02:41:42 -07:00
neterion s2io/vxge: Move the Exar drivers 2011-08-11 02:41:47 -07:00
qlogic qlogic: Move the QLogic drivers 2011-08-10 20:03:49 -07:00
racal ni5010: Move the Racal-Interlan (Micom) driver 2011-08-11 02:33:31 -07:00
sfc sfc: Move the Solarflare drivers 2011-08-11 02:33:50 -07:00
smsc smsc: Move the SMC (SMSC) drivers 2011-08-10 20:04:03 -07:00
sun cassini/niu/sun*: Move the Sun drivers 2011-08-11 02:33:43 -07:00
Kconfig enic: Move the Cisco driver 2011-08-11 02:42:06 -07:00
Makefile enic: Move the Cisco driver 2011-08-11 02:42:06 -07:00