- Dec 07, 2006
-
-
Linus Torvalds authored
This allows workqueue users to run just their own pending work, rather than wait for the whole workqueue to finish running. This solves the deadlock with networking libphy that was due to other workqueue entries possibly needing a lock that was held by the routine that wanted to flush its own work. It's not wonderful: if you absolutely need to synchronize with the work function having been executed, any user strictly speaking should have its own completion tracking logic, since when we run things explicitly by hand, the generic workqueue layer can no longer help us synchronize. Also, this is strictly only usable for work that has been scheduled without any delayed timers. You can not mix the new interface with schedule_delayed_work(). But it's better than what we had currently. Acked-by:
Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Dec 02, 2006
-
-
Andy Fleming authored
Most PHYs connect to an ethernet controller over a GMII or MII interface. However, a growing number are connected over different interfaces, such as RGMII or SGMII. The ethernet driver will tell the PHY what type of connection it is by setting it manually, or passing it in through phy_connect (or phy_attach). Changes include: * Updates to documentation * Updates to PHY Lib consumers * Changes to PHY Lib to add interface support * Some minor changes to whitespace in phy.h * gianfar driver now detects interface and passes appropriate value to PHY Lib Signed-off-by:
Andrew Fleming <afleming@freescale.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jeff Garzik authored
This reverts commit 477c517903d57047150b01608149e02c6e9d83dd. This patch depended on something that was not yet committed.
-
Andy Fleming authored
This patch requires the new support for configurable PHY interfaces. Changes include: * New support for 88e1145 * New support for 88e111s * Fixing 88e1101 driver to not match non-88e1101 PHYs * Increases in feature support across Marvell PHY product line * Fixes a bunch of whitespace issues found by Lindent Signed-off-by:
Andrew Fleming <afleming@freescale.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Andy Fleming authored
* genphy_update_link is now exported * Added a fix from ncase@xes-inc.com which changes forcing so it only updates the link. Otherwise, it never tries the lower values, since it is always overwriting the speed/duplex values with the current ones, rather than the intended ones. * Fixed a bug where bringing up a PHY with no link caused it to timeout, and enter forcing mode. Once in forcing mode, plugging in the link didn't autonegotiate. Now the AN state detects the lack of link, and enters the NO_LINK state. AN only times out if the link is up and AN fails * Cleaned up the PHY_AN case, reducing one level of indentation for the timeout code. Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Maciej W. Rozycki authored
This patch fixes a couple of problems discovered with interrupt handling in the phylib core, namely: 1. The driver uses timer and workqueue calls, but does not include <linux/timer.h> nor <linux/workqueue.h>. 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is especially important as interrupts may keep arriving if the line is shared with another PHY. The solution is to ignore phy_interrupt() calls if the reported device has already been halted and calling flush_scheduled_work() from phy_stop_interrupts() (but guarded with current_is_keventd() in case the function has been called through keventd from the MAC device's close call to avoid a deadlock on the netlink lock). Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> patch-mips-2.6.18-20060920-phy-irq-16 Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Maciej W. Rozycki authored
This patch adds support for interrupt-driven operation of the Broadcom Gigabit Ethernet PHYs. I have included device IDs for the parts used on Broadcom SiByte evaluation boards; more can be added as a need arises. They are apparently generally software-compatible with one another. Signed-off-by:
Maciej W. Rozycki <macro@linux-mips.org> patch-mips-2.6.18-20060920-broadcom-phy-15 Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Nov 30, 2006
-
-
Matt LaPlante authored
Fix various Kconfig typos. Signed-off-by:
Matt LaPlante <kernel1@cyberdogtech.com> Acked-by:
Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by:
Adrian Bunk <bunk@stusta.de>
-
- Nov 22, 2006
-
-
David Howells authored
Fix up for make allyesconfig. Signed-Off-By:
David Howells <dhowells@redhat.com>
-
- Nov 13, 2006
-
-
Andy Fleming authored
* Cleaned up interrupt mapping a little by adding a helper function which parses the irq out of the device-tree, and puts it into a resource. * Changed the arch/ppc platform files to specify PHY_POLL, instead of -1 * Changed the fixed phy to use PHY_IGNORE_INTERRUPT * Added ethtool.h and mii.h to phy.h includes Signed-off-by:
Paul Mackerras <paulus@samba.org>
-
- Oct 05, 2006
-
-
David Howells authored
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:
David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- Oct 04, 2006
-
-
Dave Jones authored
kbuild explicitly includes this at build time. Signed-off-by:
Dave Jones <davej@redhat.com>
-
- Oct 01, 2006
-
-
Jeff Garzik authored
The recent __must_check stuff flagged some error handling bugs. phy/fixed.c: * handle device_bind_driver() failure phy/phy_device.c: * handle device_bind_driver() failure * release rwsem upon failure Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Sep 26, 2006
-
-
Eric Sesterhenn authored
While checking gcc 4.1 -Wextra warnings, I stumbled across the following two warnings: drivers/net/phy/phy_device.c:528: warning: comparison of unsigned expression < 0 is always false drivers/net/phy/phy_device.c:546: warning: comparison of unsigned expression < 0 is always false Since phy_read() returns an integer and can return negative values, it seems to me the best way to get proper error handling working again is to make val an int. Currently it is an u32, so the < 0 check always fails. Signed-off-by:
Eric Sesterhenn <snakebyte@gmx.de> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Sep 13, 2006
-
-
Jeff Garzik authored
Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Aug 19, 2006
-
-
Vitaly Bordug authored
This makes it possible for HW PHY-less boards to utilize PAL goodies. Generic routines to connect to fixed PHY are provided, as well as ability to specify software callback that fills up link, speed, etc. information into PHY descriptor (the latter feature not tested so far). Signed-off-by:
Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Aug 14, 2006
-
-
Dave Jones authored
config.h is automatically included by kbuild these days. Signed-off-by:
Dave Jones <davej@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Aug 03, 2006
-
-
Sergei Shtylylov authored
Prevent phylib from freeing PHY IRQ twice on closing an eth device: phy_disconnect() first calls phy_stop_interrupts(), then it calls phy_stop_machine() which in turn calls phy_stop_interrupts() making the kernel complain on each bootup... Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Jul 05, 2006
-
-
Kim Phillips authored
Add support for the Cicada 8201 PHY, a.k.a Vitesse VSC8201. This PHY is present on the MPC8349mITX. Signed-off-by:
Kim Phillips <kim.phillips@freescale.com> Signed-off-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Jul 02, 2006
-
-
Thomas Gleixner authored
Signed-off-by:
Thomas 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:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Jun 30, 2006
-
-
Jörn Engel authored
Signed-off-by:
Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by:
Adrian Bunk <bunk@stusta.de>
-
- Jun 27, 2006
-
-
Uwe Zeisberger authored
From: Uwe Zeisberger <Uwe_Zeisberger@digi.com> The phy ids used are taken from an driver that used a right shift of 4 to chop off the revision number. This driver does not shift, so the id and mask values are wrong and must be left shifted by 4 to actually detect the chips. Signed-off-by:
Uwe Zeisberger <Uwe_Zeisberger@digi.com> Acked-by:
Andy Fleming <afleming@freescale.com> [akpm: this is a previously-nacked patch, but the problem is real] Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Jun 21, 2006
-
-
Jon Loeliger authored
Signed-off-by:
Kriston Carson <KristonCarson@freescale.com> Signed-off-by:
Xianghua Xiao <x.xiao@freescale.com> Signed-off-by:
Jon Loeliger <jdl@freescale.com> Acked-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
Paul Mackerras <paulus@samba.org>
-
- May 24, 2006
-
-
Herbert Valerio Riedel authored
new SMSC LAN83C185 10BaseT/100BaseTX PHY driver for the PHY subsystem Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- May 10, 2006
-
-
Herbert Valerio Riedel authored
make sure phy_map entries whose PHY address is masked are initialized to NULL, given that other code (such as mdiobus_unregister for instance) assumes that non-NULL phy_map entries are allocated phy_devices Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org> Signed-off-by:
Stephen Hemminger <shemminger@osdl.org>
-
- Mar 04, 2006
-
-
Arjan van de Ven authored
-
- Jan 12, 2006
-
-
Kumar Gala authored
Add the PHY_ID_FMT macro to ensure that the format of the id string used by a driver to match to its specific phy is consistent between the mdio_bus and the driver. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-
- Jan 06, 2006
-
-
Martin Schwidefsky authored
Sanitize some s390 Kconfig options. We have ARCH_S390, ARCH_S390X, ARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT. Replace these 6 options by S390, 64BIT and COMPAT. Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Dec 24, 2005
-
-
Olaf Hering authored
Andy, libphy has no license tag. Something like the attached (untested!) patch is needed. Hopefully such a change finds its way into 2.6.15. filename: /lib/modules/2.6.15-rc5-3-ppc64/kernel/drivers/net/phy/libphy.ko vermagic: 2.6.15-rc5-3-ppc64 SMP gcc-4.1 depends: srcversion: ACC921B5E82701BE1E6F603 drivers/net/phy/phy_device.c | 4 ++++ 1 files changed, 4 insertions(+) Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-
- Nov 06, 2005
-
-
Jeff Garzik authored
Unused, and causes the files to be needlessly rebuilt in some cases.
-
- Nov 05, 2005
-
-
Matt Porter authored
Adds a phy_mask field to struct mii_bus and uses it. This field indicates each phy address to be ignored when probing the mdio bus. This support is needed for the fs_enet and ibm_emac drivers to be converted to the generic phy layer among other drivers. Many systems lock up on probing certain phy addresses or probing doesn't return 0xffff when nothing is found at the address. A new driver I'm working on also makes use of this mask. Signed-off-by:
Matt Porter <mporter@kernel.crashing.org> Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-
- Oct 28, 2005
-
-
Russell King authored
In PM v1, all devices were called at SUSPEND_DISABLE level. Then all devices were called at SUSPEND_SAVE_STATE level, and finally SUSPEND_POWER_DOWN level. However, with PM v2, to maintain compatibility for platform devices, I arranged for the PM v2 suspend/resume callbacks to call the old PM v1 suspend/resume callbacks three times with each level in order so that existing drivers continued to work. Since this is obsolete infrastructure which is no longer necessary, we can remove it. Here's an (untested) patch to do exactly that. Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- Sep 24, 2005
-
-
Jeff Garzik authored
-
- Sep 05, 2005
-
-
Al Viro authored
drivers/net/phy/phy.c is broken on s390; it uses enable_irq() and friends and these do not exist on s390. Marked as broken for now. Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-
Peter Chubb authored
When building with CONFIG_PHYLIB=y on Itanium, I see: `mdio_bus_exit' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o I believe that mdio_bus_exit should not be declared __exit, because it is referencesd from __init sections in, say, phy_init(). Signed-off-by:
Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-
Pavel Machek authored
Fix remaining bits of u32 vs. pm_message confusion. Should not break anything. Signed-off-by:
Pavel Machek <pavel@suse.cz> Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Aug 29, 2005
-
-
Andy Fleming authored
This patch adds back the code that was taken out, thus re-enabling: * The PHY Layer to initialize without crashing * Drivers to actually connect to PHYs * The entire PHY Control Layer This patch is used by the gianfar driver, and other drivers which are in development. Signed-off-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-
- Aug 11, 2005
-
-
Jeff Garzik authored
- unexport symbols never used outside of home module - remove dead code - remove CONFIG_PHYCONTROL, make it unconditionally enabled
-
Jeff Garzik authored
Includes fixes for problems noted by Adrian Bunk, Andrew Morton, and one other person lost in the annals of history (and email folders).
-
- Jul 30, 2005
-
-
Andy Fleming authored
ethernet drivers to remain as ignorant as is reasonable of the connected PHY's design and operation details. Signed-off-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
Jeff Garzik <jgarzik@pobox.com>
-