- 06 3月, 2007 1 次提交
-
-
由 Dale Farnsworth 提交于
We were using the platform_device.id field to identify which ethernet port is used for mv643xx_eth device. This is not generally correct. It will be incorrect, for example, if a hardware platform uses a single port but not the first port. Here, we add an explicit port_number field to struct mv643xx_eth_platform_data. This makes the mv643xx_eth_platform_data structure required, but that isn't an issue since all users currently provide it already. Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 03 3月, 2007 1 次提交
-
-
由 Dale Farnsworth 提交于
The information contained within platform_data should be self-contained. Replace the pointer to a MAC address with the actual MAC address in struct mv643xx_eth_platform_data. Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 27 2月, 2007 1 次提交
-
-
由 Ralf Baechle 提交于
The driver contains this little piece of candy: #if defined(CONFIG_DMA_NONCOHERENT) || defined(CONFIG_NOT_COHERENT_CACHE) #define ETH_DMA_ALIGN L1_CACHE_BYTES #else #define ETH_DMA_ALIGN 8 #endif Any reason why we're not using dma_get_cache_alignment() instead? Ralf Signed-off-by: NRalf Baechle <ralf@linux-mips.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 10 2月, 2007 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 24 1月, 2007 1 次提交
-
-
由 Dale Farnsworth 提交于
mv643xx_eth: Fix race condition in mv643xx_eth_free_tx_descs This bug was found and isolated by Thibaut VARENE <T-Bone@parisc-linux.org> and Jarek Poplawski <jarkao2@o2.pl>. This patch is a modification of their fixes. We acquire and release the lock for each descriptor that is freed to minimize the time the lock is held. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 07 12月, 2006 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 05 12月, 2006 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 21 10月, 2006 1 次提交
-
-
由 Linus Torvalds 提交于
This reverts commit 4596c75c as requested by Olaf Hering. It causes compile errors, and says Olaf: "This change is also wrong, the autoloading works perfect with 2.6.18, no need to add random PCI ids. See commit a0245f7a, platform devices have now a modalias entry in sysfs. The network card is not a PCI device." Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 18 10月, 2006 1 次提交
-
-
由 Ben Collins 提交于
Signed-off-by: NBen Collins <bcollins@ubuntu.com>
-
- 09 10月, 2006 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 05 10月, 2006 2 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
由 Maxime Bizon 提交于
Some stats reported by ethtool -S on mv643xx_eth device are cleared between each call. This patch fixes it. Signed-off-by: NMaxime Bizon <mbizon@freebox.fr> Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 23 9月, 2006 1 次提交
-
-
由 Patrick McHardy 提交于
Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose checksum still needs to be completed) and CHECKSUM_COMPLETE (for incoming packets, device supplied full checksum). Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3. Signed-off-by: NPatrick McHardy <kaber@trash.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 21 9月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
The last minute fix submitted by the author fixed a bug, but broke the driver build. Noticed by Al Viro, since I can't build on said platform. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 14 9月, 2006 3 次提交
-
-
由 Jeff Garzik 提交于
Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Garzik 提交于
Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Fix a missing call to dma_unmap_single() in the receive path. Without this call, errors have been observed on non-cache-coherent systems. Signed-off-by Dale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 03 7月, 2006 1 次提交
-
-
由 Thomas Gleixner 提交于
Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 18 6月, 2006 1 次提交
-
-
由 Herbert Xu 提交于
The linearisation operation doesn't need to be super-optimised. So we can replace __skb_linearize with __pskb_pull_tail which does the same thing but is more general. Also, most users of skb_linearize end up testing whether the skb is linear or not so it helps to make skb_linearize do just that. Some callers of skb_linearize also use it to copy cloned data, so it's useful to have a new function skb_linearize_cow to copy the data if it's either non-linear or cloned. Last but not least, I've removed the gfp argument since nobody uses it anymore. If it's ever needed we can easily add it back. Misc bugs fixed by this patch: * via-velocity error handling (also, no SG => no frags) Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 03 5月, 2006 1 次提交
-
-
由 Olaf Hering 提交于
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: NOlaf Hering <olh@suse.de> Acked-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 13 4月, 2006 2 次提交
-
-
由 Dale Farnsworth 提交于
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: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Brent Cook 提交于
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: <iface>: transmit timed out" messages. Signed-off-by: NBrent Cook <bcook@bpointsys.com> Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 04 3月, 2006 8 次提交
-
-
由 Dale Farnsworth 提交于
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: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Simplify and remove redundant code for filling transmit descriptors. No changes in features; it's just a code reorganization/cleanup. Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Use better terminology for HW queues. No functional changes. Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
This bug could result in a system hang. Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Dale Farnsworth 提交于
Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 08 2月, 2006 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 28 1月, 2006 9 次提交
-
-
由 Dale Farnsworth 提交于
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: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 James Chapman 提交于
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: NJames Chapman <jchapman@katalix.com> Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 James Chapman 提交于
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 anyway Signed-off-by: NJames Chapman <jchapman@katalix.com> Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Dale Farnsworth 提交于
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: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Dale Farnsworth 提交于
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: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Dale Farnsworth 提交于
Remove duplicated code by having unicast and multicast code use a common filter table function: eth_port_set_filter_table_entry(). Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Dale Farnsworth 提交于
mp->port_mac_addr is just a redundant copy of dev->dev_addr, so remove it. Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Dale Farnsworth 提交于
Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-
由 Paolo Galtieri 提交于
Update dev->last_rx on packet receive This fix corrects errors seen during configuration of the bonding driver. Signed-off-by: NPaolo Galtieri <pgaltieri@mvista.com> Signed-off-by: NDale Farnsworth <dale@farnsworth.org> Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
-