linux/drivers/net/sfc
Ben Hutchings 9007b9fa36 sfc: Simplify XMAC link polling
From: Steve Hodgson <shodgson@solarflare.com>

Only the XMAC on Falcon needs help from the driver to poll and reset
the MAC-PHY link (XAUI); GMII is a simple parallel bus and on later
NICs firmware takes care of the XAUI link.  Also, an XMAC interrupt
currently schedules a work item which simply clears a flag
(efx_nic::mac_up) to be checked by the regular monitor (or the next
link reconfiguration, if that is sooner).

Rename the flag to xmac_poll_required, changing its sense.  Remove the
needless indirection and just set the flag immediately.  Call
falcon_xmac_poll() directly where required.

Add a new generic operation mac_op::check_fault to check the link
outside of regular monitoring, as required during self-tests.

(Note that this leaves us with an unused work item, but we will
immediately have another use for it.)

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-11-26 15:59:43 -08:00
..
bitfield.h sfc: Remove versioned bitfield macros 2009-10-24 04:26:56 -07:00
efx.c sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
efx.h sfc: Split MAC stats DMA initiation and completion 2009-11-26 15:59:36 -08:00
enum.h sfc: Log interrupt and reset type names, not numbers 2009-11-24 10:59:04 -08:00
ethtool.c sfc: Clean up struct falcon_board and struct falcon_board_data 2009-11-26 15:59:16 -08:00
falcon.c sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
falcon.h sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
falcon_boards.c sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
falcon_gmac.c sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
falcon_xmac.c sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
io.h sfc: Rename register I/O header and functions used by both Falcon and Siena 2009-10-24 04:27:04 -07:00
Kconfig sfc: Use generic MDIO functions and definitions 2009-04-29 17:32:30 -07:00
mac.h sfc: Add support for sub-10G speeds 2008-12-12 21:58:17 -08:00
Makefile sfc: Rename 'xfp' file and functions to reflect reality 2009-10-24 04:27:28 -07:00
mdio_10g.c sfc: Remove unused code for non-autoneg speed/duplex switching 2009-10-24 04:27:26 -07:00
mdio_10g.h sfc: Remove boards.h, moving last remaining declaration to falcon.h 2009-10-24 04:26:56 -07:00
mtd.c drivers/net/sfc: fix sparse warnings: Should it be static? 2009-02-18 17:49:50 -08:00
net_driver.h sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
phy.h sfc: Use a single blink implementation 2009-11-24 10:58:39 -08:00
qt202x_phy.c sfc: Clean up struct falcon_board and struct falcon_board_data 2009-11-26 15:59:16 -08:00
regs.h sfc: Update hardware definitions for Siena 2009-10-24 04:27:03 -07:00
rx.c sfc: Combine high-level header files 2009-11-24 10:58:59 -08:00
selftest.c sfc: Simplify XMAC link polling 2009-11-26 15:59:43 -08:00
selftest.h sfc: Use generic MDIO functions and definitions 2009-04-29 17:32:30 -07:00
spi.h sfc: Clean up waits for flash/EEPROM operations 2008-12-12 21:57:35 -08:00
tenxpress.c sfc: Split MAC stats DMA initiation and completion 2009-11-26 15:59:36 -08:00
tx.c sfc: Combine high-level header files 2009-11-24 10:58:59 -08:00
workarounds.h sfc: Move all TX DMA length limiting into tx.c 2009-10-24 04:27:07 -07:00