03 May, 2006
1 commit
-
On Sat, Mar 11, Olaf Hering wrote:
> Why is the /sys/class/net/eth0/device symlink not created for the
> mv643xx_eth driver? Does this work for other platform device drivers?
> Seems to work for the ps2 keyboard at least.The SET_NETDEV_DEV has to be done before a call to register_netdev. With
the new patch below, the device symlink for the platform device was
created. Unfortunately, after the 4 ls commands, the network connection
died. No idea if the box crashed or if something else broke, lost remote
access.Provide sysfs 'device' in /class/net/ethN Also, set module owner field,
like pcnet32 driver does.Signed-off-by: Olaf Hering
Acked-by: Dale Farnsworth
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik
13 Apr, 2006
2 commits
-
After resetting the hardware on a tx_timeout, call netif_wake_queue()
only if we have free tx descriptors.Also, attempt to recover if mv643xx_eth_start_xmit() is called when
there are fewer free tx descriptors than expected.The BUG_ON() call we are replacing was hit on a tx_timeout that
called netif_wake_queue(), indirectly via netif_device_attach(),
even though we did not have enough free tx descriptors.Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Fix the tx interrupt handler to free completed tx descriptors even
when NAPI is enabled. Otherwise, the tx queue would fill up resulting
in poor performance and "NETDEV WATCHDOG: : transmit timed out"
messages.Signed-off-by: Brent Cook
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik
04 Mar, 2006
8 commits
-
The task level rx queue refill feature hasn't ever worked
(at least in 2.6) and is of dubious value. Remove it.Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Simplify and remove redundant code for filling transmit descriptors.
No changes in features; it's just a code reorganization/cleanup.Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Use better terminology for HW queues. No functional changes.
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
This bug could result in a system hang.
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik
10 Feb, 2006
1 commit
08 Feb, 2006
1 commit
-
Signed-off-by: Al Viro
28 Jan, 2006
10 commits
-
We shouldn't expose the hardware register contents in platform_data.
The only things we allow the user to configure are autoneg, speed, and
duplex. Add specific platform_data fields for these values and remove
the registers configs.Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Use the common ethtool support functions of the MII library.
Add generic MII ioctl handler.
Add PHY parameter speed/duplex/negotiation initialization and modification.Signed-off-by: James Chapman
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Modify link up/down handling to use the functions from the MII
library. Note that I track link state using the MII PHY registers
rather than the mv643xx chip's link state registers because I think
it's cleaner to use the MII library code rather than writing local
driver support code. It is also useful to make the actual MII
registers available to the user with maskable kernel printk messages
so the MII registers are being read anywaySigned-off-by: James Chapman
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Add and use the following functions:
mv643xx_eth_port_enable_tx()
mv643xx_eth_port_enable_rx()
mv643xx_eth_port_disable_tx()
mv643xx_eth_port_disable_rx()so that ports are enabled/disabled consistently.
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
tx_ring_skbs is actually a count of tx descriptors currently in use.
Since there may be multiple descriptors per skb, it is not the
same as the number of skbs in the ring.Also change rx_ring_skbs to rx_desc_count to be consistent.
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Remove duplicated code by having unicast and multicast code use
a common filter table function: eth_port_set_filter_table_entry().Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
mp->port_mac_addr is just a redundant copy of dev->dev_addr, so remove it.
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
Update dev->last_rx on packet receive
This fix corrects errors seen during configuration of the bonding driver.
Signed-off-by: Paolo Galtieri
Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik -
This patch eliminates a spinlock recursion bug introduced recently.
Since eth_port_send() is always called with the lock held, we simply
remove the locking inside the function itself.Signed-off-by: Dale Farnsworth
Signed-off-by: Jeff Garzik
17 Jan, 2006
12 commits
-
All interrupts controlled by the extended mask register are also
masked by a bit in the main mask register, so there is no need to
directly manipulate the extended mask register.Signed-off-by: Dale Farnsworth
mv643xx_eth.c | 81 ++++++++++++++++++----------------------------------------
1 file changed, 26 insertions(+), 55 deletions(-)
Signed-off-by: Jeff Garzik -
Move code from helper functions mv643xx_eth_real_open and mv643xx_eth_real_stop
as they are no longer needed.Signed-off-by Dale Farnsworth
mv643xx_eth.c | 109 +++++++++++++++++++++++-----------------------------------
1 file changed, 45 insertions(+), 64 deletions(-)Signed-off-by: Jeff Garzik
-
Signed-off-by: Dale Farnsworth
mv643xx_eth.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Signed-off-by: Jeff Garzik -
This patch removes the NETIF_F_HW_CSUM flag to be able to use other protocols
than IPv4. Hardware checksums for IPv4 should continue to work because
NETIF_F_IP_CSUM is still set. The sanity-check has been enhanced to check
the used protocol and to not access skb->iph for non-ipv4-packets.Signed-off-by: Wolfram Joost
Signed-off-by: Dale Farnsworthmv643xx_eth.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
Signed-off-by: Jeff Garzik -
This driver has historically held a spin_lock during the entire open
and stop functions and while receiving multiple packets. This is
unecessarily long and holds locks during calls that may sleep.
This patch reduces the size of windows where locks are held.Signed-off-by: Dale Farnsworth
mv643xx_eth.c | 172 ++++++++++++++++++++++++++++++----------------------------
1 file changed, 91 insertions(+), 81 deletions(-)
Signed-off-by: Jeff Garzik -
Signed-off-by: Dale Farnsworth
mv643xx_eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Signed-off-by: Jeff Garzik -
Fix handling of small, unaligned fragments.
It also solves a potential deadlock if skb_linearize() returns -ENOMEM.Signed-off-by: Paul Janzen
Signed-off-by: Dale Farnsworthmv643xx_eth.c | 54 +++++++++++++++++++++++++++++++-----------------------
1 file changed, 31 insertions(+), 23 deletions(-)
Signed-off-by: Jeff Garzik -
The Marvell mv643xx ethernet hardware requires that DMA buffers be
aligned to 8-byte boundaries. This patch satisfies this requirement.
Buffers allocated by dev_alloc_skb() only have 4-byte alignment when
slab debugging is enabled.Also, document that the 2-byte offset to align the IP packets on
receive is a hardware feature and is not tied to NET_IP_ALIGN.Signed-off-by: Dale Farnsworth
mv643xx_eth.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
Signed-off-by: Jeff Garzik -
This code is adapted from code in a ppc-specific version of the driver.
Signed-off-by: Dale Farnsworth
mv643xx_eth.c | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 197 insertions(+), 4 deletions(-)
Signed-off-by: Jeff Garzik -
Fix a NULL pointer dereference.
Fill in the buf_ptr and byte_cnt fields of pkt_info in
eth_tx_return_desc().Signed-off-by: Paolo Galtieri
Signed-off-by: Dale Farnsworthmv643xx_eth.c | 51 +++++++++++++++++++++------------------------------
1 file changed, 21 insertions(+), 30 deletions(-)
Signed-off-by: Jeff Garzik -
If you do a dma_map_single you must do dma_unmap_single and if you do
a dma_map_page you must do a dma_unmap_page.Signed-off-by: Paolo Galtieri
Signed-off-by: Dale Farnsworthmv643xx_eth.c | 51 +++++++++++++++++++++------------------------------
1 file changed, 21 insertions(+), 30 deletions(-)
Signed-off-by: Jeff Garzik -
Signed-off-by: Olaf Hering
Signed-off-by: Dale Farnsworthmv643xx_eth.c | 2 ++
1 file changed, 2 insertions(+)
Signed-off-by: Jeff Garzik
09 Jan, 2006
1 commit
-
Remove bouncing mail address of mv643xx maintainer.
Signed-off-by: Olaf Hering
Cc: Jeff Garzik
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik
10 Nov, 2005
1 commit
-
This allows us to eliminate the casts in the drivers, and eventually
remove the use of the device_driver function pointer methods for
platform device drivers.Signed-off-by: Russell King
Acked-by: Greg Kroah-Hartman
31 Oct, 2005
1 commit
-
Manual #include fixups for clashes - there may be some unnecessary
30 Oct, 2005
1 commit
-
Convert everyone who uses platform_bus_type to include
linux/platform_device.h.Signed-off-by: Russell King
Acked-by: Greg Kroah-Hartman
29 Oct, 2005
1 commit
-
Added information message when using the SRAM in mv643xx_eth_probe()
Signed-off-by: Nicolas DET
Signed-off-by: Sven Luther
Signed-off-by: Andrew Morton
Signed-off-by: Paul Mackerras