aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc
Commit message (Collapse)AuthorAgeFilesLines
* netdev: Do not use TX lock to protect address lists.David S. Miller2008-07-151-4/+2
| | | | | | | | | Now that we have a specific lock to protect the network device unicast and multicast lists, remove extraneous grabs of the TX lock in cases where the code only needs address list protection. Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: Add netdev->addr_list_lock protection.David S. Miller2008-07-151-0/+2
| | | | | | | | | | | | | Add netif_addr_{lock,unlock}{,_bh}() helpers. Use them to protect operations that operate on or read the network device unicast and multicast address lists. Also use them in cases where the code simply wants to block calls into the driver's ->set_rx_mode() and ->set_multicast_list() methods. Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2008-06-131-1/+3
|\ | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/smc911x.c
| * sfc: Recover from RX queue flush failureSteve Hodgson2008-06-101-1/+3
| | | | | | | | | | | | | | | | RX queue flush can fail if traffic continues to arrive. Recover by performing an invisible reset. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | Merge branch 'master' of ↵David S. Miller2008-06-101-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h
| * [netdrvr] sfc: Report XAUI link down at default log levelBen Hutchings2008-05-301-1/+1
| | | | | | | | | | | | | | This is normal when the external link is down so don't report it as an error. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | sfc: Reduce I2C udelay to 5 resulting in a clock frequency of 100 kHzBen Hutchings2008-05-301-1/+1
| | | | | | | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | sfc: Use kernel I2C system and i2c-algo-bit driverBen Hutchings2008-05-3010-559/+133
|/ | | | | | | Remove our own implementation of I2C bit-banging. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Remove sub-minor component from driver versionBen Hutchings2008-05-221-1/+1
| | | | | | | | | This driver has diverged from the out-of-tree driver to which the version number originally applied. It should be identified primarily by kernel version. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Added checks for heap allocation failureBen Hutchings2008-05-223-0/+6
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Remove redundant casts to and from void *Ben Hutchings2008-05-225-17/+17
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Change type of efx_nic::nic_data to struct falcon_nic_data *Ben Hutchings2008-05-222-5/+2
| | | | | | | Remove redundant casts and variable. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Use __packed macroBen Hutchings2008-05-221-2/+2
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Do not define inline macroBen Hutchings2008-05-221-5/+0
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Use DMA_BIT_MASK() instead of our own DMA mask macrosBen Hutchings2008-05-223-15/+3
| | | | | | | | Also change type of efx_nic_type::max_dma_mask to u64, matching pci_dma_supported() parameter type. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Correct and expand some commentsBen Hutchings2008-05-221-6/+14
| | | | | | | | These comments have been revised in response to questions raised by Andrew Morton in <20080501120858.207b6dd6.akpm@linux-foundation.org>. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Use resource_size_t for PCI bus addressBen Hutchings2008-05-222-6/+7
| | | | | | | This should make the driver work on 32-bit systems with 64-bit PCI support. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Merged efx_page_offset() into efx_rx_buf_offset()Ben Hutchings2008-05-221-7/+3
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Replaced various macros with inline functionsBen Hutchings2008-05-2211-75/+105
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Added and removed braces to comply with kernel styleBen Hutchings2008-05-224-8/+13
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Removed unncesssary UL suffixes on 0 literalsBen Hutchings2008-05-221-2/+2
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Simplified efx_rx_calc_buffer_size() using get_order()Ben Hutchings2008-05-221-21/+8
| | | | | | | Merged it into its only caller, efx_init_channels(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Removed casts to voidBen Hutchings2008-05-225-13/+13
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* sfc: Use mod_timer() to set expiry and add_timer() togetherBen Hutchings2008-05-221-6/+3
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: sfc: Add self-test supportBen Hutchings2008-05-1314-7/+1379
| | | | | | | | Add a set of self-tests accessible thorugh ethtool. Add hardware loopback and TX disable control code to support them. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Increment rx_reset when reported as driver eventBen Hutchings2008-05-131-0/+1
| | | | | | | | An RX_RESET event can be reported either as a global or as a driver event. We were counting only global events. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Remove unused macro EFX_XAUI_RETRAIN_MAXBen Hutchings2008-05-131-2/+0
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Fix code formattingBen Hutchings2008-05-131-2/+2
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Remove kernel-doc comments for removed members of struct efx_nicBen Hutchings2008-05-131-2/+0
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Remove garbage from commentBen Hutchings2008-05-131-1/+1
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Removed bogus 'fall-thru' commentsBen Hutchings2008-05-132-3/+0
| | | | | | | Fall-through is expected outside a switch statement. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Add phy_flash_cfg module parameter and implementationBen Hutchings2008-05-134-4/+26
| | | | | | | | | The 10Xpress PHY supports flash upgrades through MDIO, but needs to be put in upgrade mode at power-up. This adds a module parameter and other logic to support that. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] sfc: Add TSO supportBen Hutchings2008-05-134-1/+708
| | | | | | | | | | The SFC4000 controller does not have hardware support for TSO, and the core GSO code incurs a high cost in allocating and freeing skbs. This TSO implementation uses lightweight packet header structures and is substantially faster. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* New driver "sfc" for Solarstorm SFC4000 controller.Ben Hutchings2008-04-2933-0/+12877
The driver supports the 10Xpress PHY and XFP modules on our reference designs SFE4001 and SFE4002 and the SMC models SMC10GPCIe-XFP and SMC10GPCIe-10BT. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>