summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)Author
2012-01-27sfc: Merge efx_mac_operations into efx_nic_typeBen Hutchings
No NICs need to switch efx_mac_operations at run-time, and the MAC operations are fairly closely bound to NIC types. Move efx_mac_operations::reconfigure to efx_nic_type::reconfigure_mac and efx_mac_operations::check_fault fo efx_nic_type::check_mac_fault. Change callers to call through efx->type or directly if the NIC type is known. Remove efx_mac_operations::update_stats. The implementations for Falcon used to fetch MAC statistics synchronously and this was used by efx_register_netdev() to clear statistics after running self-tests. However, it now only converts statistics that have already been fetched (and that only for Falcon), and the call from efx_register_netdev() has no effect. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-27sfc: Hold efx_nic::stats_lock while reading efx_nic::mac_statsBen Hutchings
efx_nic::stats_lock is used to serialise stats updates, but each reader was dropping it before it finished reading efx_nic::mac_stats. If there were concurrent stats reads using procfs, or one using procfs and one using ethtool, an update could race with a read. On a 32-bit system, the reader could see word-tearing of 64-bit stats (32 bits of the old value and 32 bits of the new). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-27sfc: Use new names for MC shared memory layout constantsBen Hutchings
These are defined alongside the firmware protocol in mcdi_pcol.h. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-27sfc: Make handling of MC reboot more reliableBen Hutchings
When the MC reboots, either as part of a firmware upgrade or due to a bug, it attempts to complete (with an error) any requests that were outstanding before the reboot. Since there is an inherent race condition in checking this, it will also write to a status word in shared memory. If we look at each of these separately, we may detect each reboot twice, resulting in a spurious command failure after a firmware upgrade or frustrating recovery from a firmware bug. Instead, if a request completion indicates a reboot, we must poll and clear the status word. This bug was previously masked by use of an incorrect address for the status word. Fix that, using the definition now included in mcdi_pcol.h. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-27sfc: Remove fallback for invalid permanent MAC addressBen Hutchings
By the time we look at the MAC address in efx_probe_port(), either the driver or the firmware has already validated the board configuration. The possibility of having an invalid MAC address just isn't worth considering. It certainly isn't worth having a compile-time option for this. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-09sfc: Set default parallelism to per-core by defaultBen Hutchings
The previous default of per-package can be more CPU-efficient, but users generally seem to prefer per-core. It should also allow accelerated RFS to direct packets more precisely, if IRQ affinity is properly spread out. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-09sfc: Rename efx_wanted_channels() to efx_wanted_parallelism()Ben Hutchings
This function returns the degree of parallelism wanted, which is not necessarily the total number of channels we want to create. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-09sfc: Update MCDI (firmware interface) definitionsBen Hutchings
Some commands and constants have been renamed; adjust the code accordingly. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-09sfc: Remove unnecessary inclusion of <asm/io.h>, prompted by checkpatchBen Hutchings
Fix the warning: WARNING: Use #include <linux/io.h> instead of <asm/io.h> There is no need for selftest.c to include the file at all. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-09sfc: Const-qualify static data as appropriate, partly prompted by checkpatchBen Hutchings
Fix the following warnings: WARNING: struct dev_pm_ops should normally be const WARNING: static const char * array should probably be static const char * const Similarly const-qualify struct i2c_board_info, struct i2c_algo_bit_data, struct efx_ethtool_stat, struct efx_mtd_ops and struct siena_nvram_type_info. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-05sfc: Remove parentheses around return expressions, reported by checkpatchBen Hutchings
Fix the following error: ERROR: return is not a function, parentheses are not required Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-05sfc: Avoid assignment in an if-statement, reported by checkpatchBen Hutchings
Fix the following error: ERROR: do not use assignment in if condition Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-05sfc: Fix some formatting errors reported by checkpatchBen Hutchings
Fix the following errors and warnings: ERROR: trailing whitespace ERROR: spaces required around that '=' (ctx:VxV) WARNING: please, no space before tabs Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2012-01-04r6040: place comments before codeFlorian Fainelli
checkpatch.pl complained about the line exceding 80 columns, and the comment was actually on the same line as the code, fix that. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04r6040: use __aligned(size)Florian Fainelli
instead of __attribute__((__aligned(size)__)) Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04r6040: use definitions for MAC_SM register read/writesFlorian Fainelli
Bit 1 is the reset bit of the MAC status machine register, define and use it. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04r6040: use MAC_RST bit definition with MCR1 read/writesFlorian Fainelli
MAC_RST bit is already defined, use it instead of 0x1 where applicable. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04r6040: define more MCR0 register bitsFlorian Fainelli
Define more MCR0-register bits and use them in place of the bits values. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04r6040: remove unused variables and definitionsFlorian Fainelli
Since the conversion to phylib (3831861b: r6040: implement phylib) some PHY-related variables and definitions are now useless, remove them. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04r6040: use an unique MDIO bus nameFlorian Fainelli
We should use an unique MDIO bus name which does not clash with anything else in the system like the Fixed MDIO bus. The bus is now named: r6040-<card number> which is unique in the system. Reported-by: Vladimir Kolpakov <vova.kolpakov@gmail.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04sfc: Remove now-unused filter functionBen Hutchings
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04sfc: Implement ethtool RX NFC rules API instead of n-tuple APIBen Hutchings
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04sfc: Add support for retrieving and removing filters by IDBen Hutchings
These new functions will support an implementation of the ethtool RX NFC rules API. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04sfc: Use consistent types for filter IDs, indices and search depthsBen Hutchings
Filter IDs are u32 (but never very large) so an ID/error return value should have type s32. Filter indices and search depths are never negative, so should have type unsigned int. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04sfc: Change filter ID generation to satisfy priority semantics of RX NFCBen Hutchings
Also add note that the efx_filter_spec::priority field has nothing to do with priority between multiple matching filters. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-04gianfar: Reject out-of-range RX NFC locationsBen Hutchings
Currently the driver only uses location values to maintain an ordered list of filters. Make it reject location values >= MAX_FILER_IDX passed to the ETHTOOL_SRXCLSRLINS command, consistent with the range it reports for the ETHTOOL_GRXCLSRLALL command. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Acked-by: Sebastian Pöhn <sebastian.poehn@googlemail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03net/smsc911x: Check if PHY is in operational mode before software resetJavier Martinez Canillas
SMSC LAN generation 4 chips integrate an IEEE 802.3 ethernet physical layer. The PHY driver for this integrated chip enable an energy detect power-down mode. When the PHY is in a power-down mode, it prevents the MAC portion chip to be software reseted. That means that if we compile the kernel with the configuration option SMSC_PHY enabled and try to bring the network interface up without an cable plug-ed the PHY will be in a low power mode and the software reset will fail returning -EIO to user-space: root@igep00x0:~# ifconfig eth0 up ifconfig: SIOCSIFFLAGS: Input/output error This patch disable the energy detect power-down mode before trying to software reset the LAN chip and re-enables after it was reseted successfully. Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03net: phy: smsc: Move SMSC PHY constants to <linux/smscphy.h>Javier Martinez Canillas
SMSC generation 4 LAN chips integrate an IEEE 802.3 ethernet physical layer. The ethernet driver for this family of devices needs to access the SMSC PHY registers and bit-fields. So, this patch moves these constants to a place where it can be used for both the PHY and LAN drivers. Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03Merge branch 'master' of ↵John W. Linville
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/b43/dma.c drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
2012-01-03skge: fix warning when CONFIG_PM is defined but not CONFIG_PM_SLEEPDaniel Halperin
drivers/net/ethernet/marvell/skge.c:4046: warning: ‘skge_suspend’ defined but not used drivers/net/ethernet/marvell/skge.c:4071: warning: ‘skge_resume’ defined but not used Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu> Cc: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03net/davinci: do not use all descriptors for tx packetsSascha Hauer
The driver uses a shared pool for both rx and tx descriptors. During open it queues fixed number of 128 descriptors for receive packets. For each received packet it tries to queue another descriptor. If this fails the descriptor is lost for rx. The driver has no limitation on tx descriptors to use, so it can happen during a nmap / ping -f attack that the driver allocates all descriptors for tx and looses all rx descriptors. The driver stops working then. To fix this limit the number of tx descriptors used to half of the descriptors available, the rx path uses the other half. Tested on a custom board using nmap / ping -f to the board from two different hosts. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03mlx4_core: Elaborating limitation on VF port optionsYevgeny Petrilin
Showing which capabilities are not passed to VF when executing QUERY_PORT Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03mlx4_core: fix mtt range deallocationMarcel Apfelbaum
The mtt range was allocated in mtt units but deallocated in segments. Among the rest, this caused crash during hotplug removal Reported-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Marcel Apfelbaum <marcela@mellanox.co.il> Reviewed-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Tested-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-03bonding: fix error handling if slave is busy (v2)stephen hemminger
If slave device already has a receive handler registered, then the error unwind of bonding device enslave function is broken. The following will leave a pointer to freed memory in the slave device list, causing a later kernel panic. # modprobe dummy # ip li add dummy0-1 link dummy0 type macvlan # modprobe bonding # echo +dummy0 >/sys/class/net/bond0/bonding/slaves The fix is to detach the slave (which removes it from the list) in the unwind path. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Reviewed-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-038139cp: properly config rx mode after resumingJason Wang
Rx mode should be reset after resming, so unconditionally updating rx mode rather than conditionally updating based on the value we remembered, otherwise unexpected value may be used by the nic after resuming. btw. I find and test this when debugging guest hibernation in qemu, as I did not have a 8139cp card in hand, this patch is untested in a physical 8139cp card, plase review it carefully. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-038139cp/8139too: do not read into reserved registersJason Wang
delay_eeprom() use long read for Cfg9346 register(offset 0x50) which may read into the area of reserved register(offset 0x53). Use byte read instead. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-02ixgbe: add support for new 82599 device.Don Skidmore
This device uses an already existing DevID but since it supports WoL we need to add the Sub DevID. It's support of WoL is limited to the first port. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02ixgbe: add support for new 82599 device idEmil Tantilov
Support for new 82599 based quad port adapter. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02ixgbe: add write flush in ixgbe_clock_out_i2c_byte()Emil Tantilov
I2C access is timing critical. Always do a write flush after writing to the I2CCTL register. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02ixgbe: fix typo'sStephen Hemminger
Saw typo in one message, so decided to run spell checker. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02ixgbe: fix incorrect PHY register readsEmil Tantilov
Fix some register reads that had the opcode and register parameters swapped. Also use define instead of a magic (0x3) number. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02igb: Add flow control advertising to ethtool setting.Carolyn Wyborny
Added pause flag for bi-directional flow control advertising to ethtool settings. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02ixgbevf: Fix register defines to correctly handle complex expressionsAlexander Duyck
This patch is meant to address possible issues with the IXGBEVF register defines generating incorrect values when given a complex expression for the register offset. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-01-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
2012-01-02Merge branch 'master' of ↵John W. Linville
git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next
2012-01-02Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds
* 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6: dt/device: Fix auxdata matching to handle entries without a name override
2012-01-01Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: netfilter: ctnetlink: fix timeout calculation ipvs: try also real server with port 0 in backup server skge: restore rx multicast filter on resume and after config changes mlx4_en: nullify cq->vector field when closing completion queue
2011-12-31gspca: Fix falling back to lower isoc alt settingsMauro Carvalho Chehab
The current gspca core code has a regression where it no longer properly falls back to lower alt settings when there is not enough bandwidth. This causes many iso based usb-1 cameras to not work when plugged into a usb2 hub or a sandybridge chipset motherboard! This patch fixes this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-12-30skge: restore rx multicast filter on resume and after config changesFlorian Zumbiehl
Restore skge hardware registers for multicast filtering to their appropriate values after system resume and after hardware restarts that are done when changing certain settings. Signed-off-by: Florian Zumbiehl <florz@florz.de> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-12-30be2net: query link status in be_open()Ajit Khaparde
be2net gets an async link status notification from the FW when it creates an MCC queue. There are some cases in which this gratuitous notification is not received from FW. To cover this explicitly query the link status in be_open(). Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>