1. 12 8月, 2011 25 次提交
  2. 11 8月, 2011 15 次提交
    • J
      bonding: implement get_tx_queues rtnk_link_op · d5da4510
      Jiri Pirko 提交于
      If bonding device is created via rtnl, it is created with default number
      of rx/tx queues. This patch implements callback in bonding so the
      correct value (previously specified by bonding module param) is used.
      Signed-off-by: NJiri Pirko <jpirko@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d5da4510
    • R
      bna: Driver Version changed to 3.0.2.0 · 5098af0a
      Rasesh Mody 提交于
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5098af0a
    • R
      bna: Remove Obsolete Files · e827e326
      Rasesh Mody 提交于
      Change details:
       - Removec bfi_ll.h bna_hw.h bna_ctrl.c and bna_txrx.c due to ENET, MSGQ
         and TXRX changes for new FW Driver interface and TX RX re-design.
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e827e326
    • R
      bna: Remove Unused Code · f6d46a2e
      Rasesh Mody 提交于
      Remove unused code.
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f6d46a2e
    • R
      bna: ENET and Tx Rx Redesign Enablement · 078086f3
      Rasesh Mody 提交于
      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: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      078086f3
    • R
      bna: Add New HW Defs · 6849c6b3
      Rasesh Mody 提交于
      Change details:
       - Add new file bna_hw_defs.h to support new code MSGQ, ENET and TX RX redign.
         This makes bna_hw.h obsolete and is removed in a later patch. bna_hw_defs.h
         removes all unused HW register definition that were part of bna_hw.h.
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6849c6b3
    • R
      bna: Tx and Rx Redesign · f3bd5173
      Rasesh Mody 提交于
      Change details:
       - This patch contains the changes as a result of redesigning of Tx, Rx data
         path setup. In the old design, setting up Txqs, Rxqs were done in the driver.
         With the new design, most of the hardware setup steps for the Txq, Rxqs are
         moved to FW. Host driver issues commands to FW through the message queue to
         setup/teardown tx, rx data path. FW performs necessary steps and responds
         back to the driver with a status.
       - As a result of this redesign, the state machine implementation for Tx, Rx
         objects have changed significantly. Instead of doing the raw register access,
         these state machines mostly send a command to FW and wait for response and
         take the next action. In addition to tx, rx datapath setup, this patch also
         deals with rx filter configuration - such as unicast address, multicast
         address, vlan filter, promiscuous mode etc.
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f3bd5173
    • R
      bna: Introduce ENET as New Driver and FW Interface · 45979c1e
      Rasesh Mody 提交于
      Change details:
       - This patch contains the messages, opcodes and structure format for the
         messages and responses exchanged between driver and the FW. In addition
         this patch contains the state machine implementation for Ethport, Enet,
         IOCEth.
       - Ethport object is responsible for receiving link state events, sending
         port enable/disable commands to FW.
       - Enet object is responsible for synchronizing initialization/teardown of
         tx & rx datapath configuration.
       - IOCEth object is responsible for init/un-init of IO Controller in the
         adapter which runs the FW.
       - This patch also contains code for initialization and resource assignment
         for Ethport, Enet, IOCEth, Tx, Rx objects.
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45979c1e
    • R
      bna: MSGQ Implementation · af027a34
      Rasesh Mody 提交于
      Change details:
       - Currently modules communicate with the FW using 32 byte command and
         response register. This limits the size of the command and response
         messages exchanged with the FW to 32 bytes. We need a mechanism to
         exchange the comamnds and responses exchange with FW that exceeds 32 bytes.
      
       - MSGQ implementation provides that facility. It removes the assumption that
         command/response queue size is precisely calculated to accommodate all
         concurrent FW commands/responses. The queue depth is made variable now, defined
         by a macro. A waiting command list is implemented to hold all the commands
         when there is no place in the command queue. Callback is implemented for
         each command entry to invoke the module posting the command, when there is
         space in the command queue and the command was finally posted to the queue.
         Module/Object information is embedded in the response for tracking purpose.
      Signed-off-by: NRasesh Mody <rmody@brocade.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      af027a34
    • J
      enic: Move the Cisco driver · a6a5580c
      Jeff Kirsher 提交于
      Move the Cisco driver into drivers/net/ethernet/cisco/ and make the
      necessary Kconfig and Makefile changes.
      
      CC: Christian Benvenuti <benve@cisco.com>
      CC: Vasanthy Kolluri <vkolluri@cisco.com>
      CC: Roopa Prabhu <roprabhu@cisco.com>
      CC: David Wang <dwang2@cisco.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      a6a5580c
    • J
      ehea/ibm*: Move the IBM drivers · 9aa32835
      Jeff Kirsher 提交于
      Move the IBM drivers into drivers/net/ethernet/ibm/ and make the
      necessary Kconfig and Makefile changes.
      
      - Renamed ibm_new_emac to emac
      - Cleaned up Makefile and Kconfig options which referred to
        IBM_NEW_EMAC to IBM_EMAC
      - ibmlana driver is a National Semiconductor SONIC driver so
        it was not moved
      
      CC: Christoph Raisch <raisch@de.ibm.com>
      CC: Santiago Leon <santil@linux.vnet.ibm.com>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: David Gibson <dwg@au1.ibm.com>
      CC: Kyle Lucke <klucke@us.ibm.com>
      CC: Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9aa32835
    • J
      s2io/vxge: Move the Exar drivers · 86387e1a
      Jeff Kirsher 提交于
      Move the Exar drivers into drivers/net/ethernet/neterion/ and make the
      necessary Kconfig and Makefile changes.
      
      CC: Jon Mason <jdmason@kudzu.us>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      86387e1a
    • J
      myri*: Move the Myricom drivers · 93f7848b
      Jeff Kirsher 提交于
      Move the Myricom drivers into drivers/net/ethernet/myricom/ and make
      the necessary Kconfig and Makefile changes.
      
      CC: Andrew Gallatin <gallatin@myri.com>
      CC: Brice Goglin <brice@myri.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      93f7848b
    • J
      mlx4: Move the Mellanox driver · 5a2cc190
      Jeff Kirsher 提交于
      Moves the Mellanox driver into drivers/net/ethernet/mellanox/ and
      make the necessary Kconfig and Makefile changes.
      
      CC: Roland Dreier <roland@kernel.org>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      5a2cc190
    • J
      bna: Move the Brocade driver · f844a0ea
      Jeff Kirsher 提交于
      Moves the Brocade driver into drivers/net/ethernet/brocade/ and make
      the necessary Kconfig and Makefile changes.
      
      CC: Rasesh Mody <rmody@brocade.com>
      CC: Debashis Dutt <ddutt@brocade.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      f844a0ea