12 Aug, 2011
26 commits
-
RCU api had been completed and rcu_access_pointer() or
rcu_dereference_protected() are better than generic
rcu_dereference_raw()Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Remove the artificial HZ latency on arp resolution.
Instead of firing a timer in one jiffy (up to 10 ms if HZ=100), lets
send the ARP message immediately.Before patch :
# arp -d 192.168.20.108 ; ping -c 3 192.168.20.108
PING 192.168.20.108 (192.168.20.108) 56(84) bytes of data.
64 bytes from 192.168.20.108: icmp_seq=1 ttl=64 time=9.91 ms
64 bytes from 192.168.20.108: icmp_seq=2 ttl=64 time=0.065 ms
64 bytes from 192.168.20.108: icmp_seq=3 ttl=64 time=0.061 msAfter patch :
$ arp -d 192.168.20.108 ; ping -c 3 192.168.20.108
PING 192.168.20.108 (192.168.20.108) 56(84) bytes of data.
64 bytes from 192.168.20.108: icmp_seq=1 ttl=64 time=0.152 ms
64 bytes from 192.168.20.108: icmp_seq=2 ttl=64 time=0.064 ms
64 bytes from 192.168.20.108: icmp_seq=3 ttl=64 time=0.074 msSigned-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Error comes from commit ac124ff973e27802797
(be2net: cleanup and refactor stats code)ERROR: "__udivdi3" [drivers/net/benet/be2net.ko] undefined!
Signed-off-by: Eric Dumazet
CC: Sathya Perla
Signed-off-by: David S. Miller -
Move the Toshiba ethernet drivers into drivers/net/ethernet/toshiba
and make the necessary Kconfig and Makefile changes.CC: Geoff Levand
CC: Jens Osterkamp
CC: Ishizaki Kou
Signed-off-by: Jeff Kirsher -
Move the Micrel drivers into drivers/net/ethernet/micrel/ and
make the necessary Kconfig and Makefile changes.CC: Ben Dooks
CC: Tristram Ha
Signed-off-by: Jeff Kirsher -
Move the Freescale drivers into drivers/net/ethernet/freescale/ and
make the necessary Kconfig and Makefile changes.CC: Sandeep Gopalpet
CC: Andy Fleming
CC: Shlomi Gridish
CC: Li Yang
CC: Pantelis Antoniou
CC: Vitaly Bordug
CC: Dan Malek
CC: Sylvain Munaut
Signed-off-by: Jeff Kirsher -
Move the Allied Telesis/Fujitsu drivers into drivers/net/ethernet/fujitsu/
and make the necessary Kconfig and Makefile changes.CC: Shingo Fujimoto
CC: Yutaka Tamiya
CC: Rene Schmit
CC: Mika Kuoppala
Signed-off-by: Jeff Kirsher -
Move the VIA drivers into drivers/net/ethernet/via/ and make the
necessary Kconfig and Makefile changes.CC: Roger Luethi
CC: Francois Romieu
Signed-off-by: Jeff Kirsher -
Move the Marvell Ethernet drivers into drivers/net/ethernet/marvell/
and make the necessary Kconfig and Makefile changes.CC: Sachin Sanap
CC: Zhangfei Gao
CC: Philip Rakity
CC: Mark Brown
CC: Lennert Buytenhek
CC: Stephen Hemminger
Signed-off-by: Jeff Kirsher -
Move the OKI Semiconductor driver into driver/net/ethernet/oki-semi/
and make the necessary Kconfig and Makefile changes.Note: there is no documented maintainer for this driver, so I CC'd
the last 2 major contributors.CC: Tomoya
CC: Toshiharu Okada
Signed-off-by: Jeff Kirsher -
Move the drivers that use SEEQ chipset into drivers/net/ethernet/seeq
and make the necessary Kconfig and Makefile changes.CC: Russell King
CC: Hamish Coleman
Signed-off-by: Jeff Kirsher -
Move the SGI drivers into drivers/net/ethernet/sgi/ and make the
necessary Kconfig and Makefile changes.CC: Ralf Baechle
Signed-off-by: Jeff Kirsher -
Move the DEC - Tulip driver into drivers/net/ethernet/dec/tulip/
and make the necessary Kconfig and Makefile changes.The Digital Equioment (DEC) driver ewrk3 was moved into
drivers/net/ethernet/dec/ and the remaining drivers (Tulip)
were moved into drivers/net/ethernet/dec/tulip/CC: Tobias Ringstrom
CC: Grant Grundler
CC: David Davies
Signed-off-by: Jeff Kirsher
Acked-by: Grant Grundler -
Both Spider net driver and Sun GEM driver use the sungem_phy.o object.
This fix creates a Kconfig object for sungem_phy (like MDIO) so that
both drivers require the SUNGEM_PHY object.This has been compile tested for the Sun GEM driver.
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
Reported-by: Stephen Rothwell
Signed-off-by: David S. Miller -
Reported-by: Stephen Rothwell
Signed-off-by: David S. Miller -
Move the Atheros drivers into drivers/net/ethernet/atheros/ and
make the necessary Kconfig and Makefile changes.CC: Jay Cliburn
CC: Chris Snook
CC: Jie Yang
Signed-off-by: Jeff Kirsher -
Move the D-Link drivers into drivers/net/ethernet/dlink/ and
make the necessary Kconfig and Makefile changes.CC: Bjorn Ekwall
CC: Donald Becker
CC: Edward Peng
Signed-off-by: Jeff Kirsher -
Move the Realtek drivers into drivers/net/ethernet/realtek/ and make
the necessary Kconfig and Makefile changes.CC: Realtek linux nic maintainers
CC: Francois Romieu
CC: Jeff Garzik
CC: Donald Becker
Signed-off-by: Jeff Kirsher -
Move the Faraday driver into drivers/net/ethernet/faraday/ and
make the necessary Kconfig and Makefile changes.CC: "Po-Yu Chuang"
Signed-off-by: Jeff Kirsher
Acked-by: Po-Yu Chuang -
Move the Intel XScale IXP drivers into drivers/net/ethernet/xscale/
and make the necessary Kconfig and Makefile changes.CC: Krzysztof Halasa
CC: Lennert Buytenhek
Signed-off-by: Jeff Kirsher -
Move the National Semi-conductor drivers into drivers/net/ethernet/natsemi/
and make the necessary Kconfig and Makefile changes. Also moved the 8390
(National Semi-conductor) devices as a sub-menu of National Semi-conductor
devices.- moved the ibmlana driver as well into this directory since it is a
"SONIC" driverCC: Alfred Arnold
CC: Thomas Bogendoerfer
CC: Harald Welte
CC: Tim Hockin
CC:
CC: Kevin Chea
CC: Marc Gauthier
CC: Chris Zankel
Signed-off-by: Jeff Kirsher
Acked-by: Marc Gauthier -
Move the Apple drivers into driver/net/ethernet/apple/ and make the
necessary Kconfig and Makefile changes.CC: Paul Mackerras
CC: Paul Mackerras
CC: Russell Nelson
Signed-off-by: Jeff Kirsher -
Move the STMicroelectronics driver into driver/net/ethernet/stmicro/ and
make the necessary Kconfig and Makefile changes.CC: Giuseppe Cavallaro
Signed-off-by: Jeff Kirsher -
Move the Tehuti driver into drivers/net/ethernet/tehuti/ and
make the necessary Kconfig and Makefile changes.CC: Alexander Indenbaum
CC: Andy Gospodarek
Signed-off-by: Jeff Kirsher -
Move the PA Semi driver into drivers/net/ethernet/pasemi/ and
make the necessary Kconfig and Makefile changes.CC: Olof Johansson
Signed-off-by: Jeff Kirsher
Acked-by: Olof Johansson
11 Aug, 2011
14 commits
-
dev->real_num_tx_queues is correctly set already in alloc_netdev_mqs.
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
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: Jiri Pirko
Signed-off-by: David S. Miller -
Signed-off-by: Rasesh Mody
Signed-off-by: David S. Miller -
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: Rasesh Mody
Signed-off-by: David S. Miller -
Remove unused code.
Signed-off-by: Rasesh Mody
Signed-off-by: David S. Miller -
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
Signed-off-by: David S. Miller -
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: Rasesh Mody
Signed-off-by: David S. Miller -
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: Rasesh Mody
Signed-off-by: David S. Miller -
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: Rasesh Mody
Signed-off-by: David S. Miller -
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: Rasesh Mody
Signed-off-by: David S. Miller -
Move the Cisco driver into drivers/net/ethernet/cisco/ and make the
necessary Kconfig and Makefile changes.CC: Christian Benvenuti
CC: Vasanthy Kolluri
CC: Roopa Prabhu
CC: David Wang
Signed-off-by: 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 movedCC: Christoph Raisch
CC: Santiago Leon
CC: Benjamin Herrenschmidt
CC: David Gibson
CC: Kyle Lucke
CC: Michael Ellerman
Signed-off-by: Jeff Kirsher -
Move the Exar drivers into drivers/net/ethernet/neterion/ and make the
necessary Kconfig and Makefile changes.CC: Jon Mason
Signed-off-by: Jeff Kirsher -
Move the Myricom drivers into drivers/net/ethernet/myricom/ and make
the necessary Kconfig and Makefile changes.CC: Andrew Gallatin
CC: Brice Goglin
Signed-off-by: Jeff Kirsher