aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet
AgeCommit message (Collapse)AuthorFilesLines
2013-08-29sfc: Remove unnecessary use of atomic_tBen Hutchings2-17/+13
We can set, get and compare-and-exchange without using atomic_t. Change efx_mcdi_iface::state to the enum type we really wanted it to be. Suggested-by: David Miller <[email protected]> Signed-off-by: Ben Hutchings <[email protected]>
2013-08-29sfc: Refactor efx_mcdi_rpc_start() and efx_mcdi_copyin()Ben Hutchings1-19/+30
Preparation for asynchronous MCDI requests. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-29sfc: Add support for new board sensorsBen Hutchings1-30/+91
Add support for power and current sensors, which need to be named differently in sysfs. Power sensors also require values to be scaled between MCDI and sysfs, and have no minimum value. Add definitions of the power, current, fan, and additional temperature and voltage sensors found on SFA6902F, SFN7022F and SFN7122F. (Includes a bug fix from Andrew Jackson.) Signed-off-by: Ben Hutchings <[email protected]>
2013-08-29ixgbe: add support for older QSFP active DA cablesEmil Tantilov2-10/+50
This patch adds support for QSFP active direct attach (DA) cables which pre-date SFF-8436 v3.6. Signed-off-by: Emil Tantilov <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: include QSFP PHY types in ixgbe_is_sfp()Emil Tantilov1-0/+4
This patch makes sure that QSFP+ modules use the SFP+ code path for setting up link. Signed-off-by: Emil Tantilov <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: add 1Gbps support for QSFP+Emil Tantilov3-11/+33
This patch adds GB speed support for QSFP+ modules. Autonegotiation is not supported with QSFP+. The user will have to set the desired speed on both link partners using ethtool advertise setting. Signed-off-by: Emil Tantilov <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: fix SFF data dumps of SFP+ modules from an offsetEmil Tantilov1-5/+4
This patch fixes the read loop for the I2C data to account for the offset. Also includes a whitespace cleanup and removes ret_val as it is not needed. CC: Ben Hutchings <[email protected]> Reported-by: Ben Hutchings <[email protected]> Signed-off-by: Emil Tantilov <[email protected]> Tested-by: Phil Schmitt <[email protected]> Reviewed-by: Ben Hutchings <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: cleanup some log messagesDon Skidmore2-5/+3
Some minor log messages cleanup, changing the level one message is logged, adding a bit of detail to another and put all the text on one line. Signed-off-by: Don Skidmore <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: zero out mailbox buffer on initEmil Tantilov1-2/+2
This patch initializes the msgbuf array to 0 in order to avoid using random numbers from the memory as MAC address for the VF. Signed-off-by: Emil Tantilov <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: fix link test when connected to 1Gbps link partnerEmil Tantilov1-17/+10
This patch is a partial reverse of: commit dfcc4615f09c33454bc553567f7c7506cae60cb9 Author: Jacob Keller <[email protected]> Date: Thu Nov 8 07:07:08 2012 +0000 ixgbe: ethtool ixgbe_diag_test cleanup Specifically forcing the laser before the link check can lead to inconsistent results because it does not guarantee that the link will be negotiated correctly. Such is the case when dual speed SFP+ module is connected to a gigabit link partner. Signed-off-by: Emil Tantilov <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: fix incorrect limit value in ring transverseDon Skidmore1-1/+1
We were transversing the tx_ring with IXGBE_NUM_RX_QUEUES. Now this define happens to have the correct value but this is misleading and a change later could easily make this no longer true. I updated it to netdev->num_tx_queues like we use in ixgbe_get_strings(). Signed-off-by: Don Skidmore <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: Check return value on eeprom readsMark Rustad4-39/+107
This patch fixes the possible use of uninitialized memory by checking the return value on eeprom reads. These issues were identified by static analysis. In many cases error messages will be produced so that corrupted eeprom issues will be more visible. Signed-off-by: Mark Rustad <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29ixgbe: disable link when adapter goes downJacob Keller3-0/+25
This patch fixes an issue with the 82599 adapter where it can potentially keep link lights up when the adapter has gone down. The patch adds a function which ensures link is disabled, and calls this function when the adapter transitions to a down state. Signed-off-by: Jacob Keller <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2013-08-29Merge branch 'for-davem' of ↵David S. Miller20-1326/+1536
git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next Ben Hutchings says: ==================== 1. Further cleanup and refactoring in preparation for EF10. 2. Remove ethtool stats that are always zero on Falcon boards. 3. Add an ethtool stat for merged TX completions. 4. Prepare to support merged RX completions. 5. Prepare to support more hwmon sensors. 6. Add support for new events that are generated by EF10 firmware. 7. Update MC reboot detection for EF10. ==================== Signed-off-by: David S. Miller <[email protected]>
2013-08-29qlcnic: underflow in qlcnic_validate_max_tx_rings()Dan Carpenter2-2/+2
This function checks the upper bound but it doesn't check for negative numbers: if (txq > QLCNIC_MAX_TX_RINGS) { I've solved this by making "txq" a u32 type. I chose that because ->tx_count in the ethtool_channels struct is a __u32. This bug was added in aa4a1f7df7 ('qlcnic: Enable Tx queue changes using ethtool for 82xx Series adapter.'). Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Himanshu Madhani <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-28net: xilinx: fix memleakLibo Chen1-0/+1
decrease device_node refcount np1 in err case. Signed-off-by: Libo Chen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-28net: stmmac: fixed the pbl setting with DTByungho An1-8/+12
This patch fixed the pbl(programmable burst length) setting using DT. Even though the default pbl is 8, If there is no pbl property in device tree file, pbl is set 0 and it causes bandwidth degradation. Signed-off-by: Byungho An <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27bnx2x: Fix VF stats syncAriel Elior3-1/+39
Since the PF gathers statistics for the VF, when the VF is about to unload we must synchronize the release of its statistics buffer with the PF, so that no DMA operation will be made to that address after the buffer release. Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27bnx2x: Fix VF memory leak unloadAriel Elior2-4/+8
Due to incorrect VF/PF conditions, when unloading a VF it will not release part of the memory it has previously allocated. Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27bnx2x: Fix functionality of configuring vlan listAriel Elior1-35/+2
The check on return code of bnx2x_vfop_config_vlan0() would lead to error handling flow as the return value indicating an existing pending ramrod would be erroneously considered as an error. Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27bnx2x: Fix move FP memory deallocationsYuval Mintz1-0/+6
If driver will fail to allocate all queues, it will shrink the number of queues and move the storage queue to its correct place (i.e., the last queue among the newly supported number). When changing the pointers of the new location of the FCoE queue, we need to pay special attention to the aggregations pointer - that memory is allocated during probe and released upon driver removal. Current implementation has 2 pointers pointing to the same chunk of allocated memory, meaning upon removal there will be two kfree() of the same chunk while the other won't be released. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27bnx2x: vf mark stats startedAriel Elior1-12/+8
Solve issue where no stats were being collected for VF devices due to missing configuration in the stats' atomic synchronization mechanism. Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27Merge branch 'for-davem' of ↵David S. Miller17-1767/+2118
git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next Ben Hutchings says: ==================== More refactoring and cleanup, particularly around filter management. ==================== Signed-off-by: David S. Miller <[email protected]>
2013-08-27sfc: Use extended MC_CMD_SENSOR_INFO and MC_CMD_READ_SENSORSBen Hutchings1-44/+95
We need to use extended requests to read and get metadata for sensors numbered > 31. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Return an error code when a sensor is busy.Alexandre Rames1-1/+6
[bwh: Also name this new state, though we don't expect to see it in an event] Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Add support for reading packet length from prefixBen Hutchings2-2/+14
Define a flag for struct efx_rx_buffer and efx_rx_packet() that indicates packet length must be read from the prefix. If this is set, read the length in __efx_rx_packet() (when the prefix should have arrived in cache). Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Add TX merged completion counterBen Hutchings3-0/+6
Add a counter for TX merged completion events. This is implemented in the common TX path, because the NIC event handlers only know how many descriptors were completed, not how many packets. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Generalise packet hash lookup to support EF10 RX prefixJon Cooper6-13/+28
EF10 uses an entirely different RX prefix format from Falcon-arch. Extend struct efx_nic_type to describe this. [bwh: Also replace the magic numbers used for the Falcon-arch RX prefix] Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Rename EFX_PAGE_BLOCK_SIZE to EFX_VI_PAGE_SIZE and adjust commentsBen Hutchings1-4/+4
Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Remove early call to efx_nic_type::reconfigure_mac in efx_reset_up()Ben Hutchings1-2/+0
efx_reset_up() calls efx_nic_type::reconfigure_mac once directly, then again through efx_start_all() -> efx_start_port() -> efx->type->reconfigure_mac(). This first call is also made too early to work properly on EF10. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: use MCDI epoch flag to improve MC reboot detection in the driverDaniel Pieczko2-6/+15
The Huntington MC will reject all MCDI requests after an MC reboot until it sees one with the NOT_EPOCH flag clear. This flag is set by default for all requests, and then cleared on the first request after we detect that an MC reboot has occurred. The old MCDI_STATUS_DELAY_COUNT gave a timeout of 10ms, which was not long enough for the driver to detect that a reboot had occurred based on the warm boot count while calling efx_mcdi_poll_reboot() from the loop in efx_mcdi_ev_death(). Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Add EF10 support for TX/RX DMA error events handling.Alexandre Rames5-11/+15
Also, since we handle all DMA errors in the same way, merge RESET_TYPE_(RX|TX)_DESC_FETCH into RESET_TYPE_DMA_ERROR. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Add a function pointer to abstract write of host time into NIC shared ↵Laurence Evans3-2/+16
memory Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: PTP MCDI requests need to initialise periph ID fieldLaurence Evans1-0/+7
This field is ignored by Siena firmware but is significant to EF10 firmware. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Delegate MAC/NIC statistic description to efx_nic_typeBen Hutchings8-389/+498
Various hardware statistics that are available for Siena are unavailable or meaningless for Falcon. Huntington adds further to the NIC-type-specific statistics, as it has different MAC blocks from Falcon/Siena. All NIC types still provide most statistics by DMA, and use little-endian byte order. Therefore: 1. Add some general utility functions for reporting hardware statistics, efx_nic_describe_stats() and efx_nic_update_stats(). 2. Add an efx_nic_type::describe_stats operation to get the number and names of statistics, implemented using efx_nic_describe_stats() 3. Change efx_nic_type::update_stats to store the core statistics (struct rtnl_link_stats64) or full statistics (array of u64) in a caller-provided buffer. Use efx_nic_update_stats() to aid in the implementation. 4. Rename struct efx_ethtool_stat to struct efx_sw_stat_desc and EFX_ETHTOOL_NUM_STATS to EFX_ETHTOOL_SW_STAT_COUNT. 5. Remove efx_nic::mac_stats and struct efx_mac_stats. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Remove driver-local struct ethtool_stringBen Hutchings1-24/+13
It's not really helpful to pretend ethtool string arrays are structured. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Remove more left-overs from Falcon GMAC supportBen Hutchings3-18/+6
We only ever used the XMAC (10G link speed) in production. Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27sfc: Move MTD operations into efx_nic_typeBen Hutchings9-831/+807
Merge the per-NIC-type MTD probe selection and struct efx_mtd_ops into struct efx_nic_type. Move the implementations into the appropriate source files. Several NVRAM functions are now only called from MTD operations which are now implemented in the same file (falcon.c or mcdi.c). There is no need for them to be extern, or to be defined at all if CONFIG_SFC_MTD is not enabled, so move them into the #ifdef CONFIG_SFC_MTD sections in those files. Most of the SPI-related definitions are also only used in falcon.c, so move them there. Put the remainder of spi.h into nic.h (which previously included it). Signed-off-by: Ben Hutchings <[email protected]>
2013-08-27e1000e: balance semaphore put/get for 82573Steven La1-0/+5
Steven (cc-ed) noticed an imbalance in semaphore put/get for 82573-based NICs. Don't we need something like the following (untested) patch? Signed-off-by: Steven La <[email protected]> Acked-by: Arthur Kepner <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27bna: firmware update to 3.2.1.1Rasesh Mody1-2/+2
This patch updates the firmware to address the thermal notification issue Signed-off-by: Rasesh Mody <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27be2net: implement ethtool set/get_channel hooksSathya Perla3-32/+104
Support is provided only for combined channels. When SR-IOV is not enabled, BE3 supports upto 16 channels and Lancer-R/SH-R support upto 32 channels. Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27be2net: refactor be_setup() to consolidate queue creation routinesSathya Perla2-58/+50
1) Move be_cmd_if_create() above queue create routines to allow TXQ creation (that requires if_handle) to be clubbed with TX-CQ creation. 2) Consolidate all queue create routines into be_setup_queues() Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27be2net: Fix be_cmd_if_create() to use MBOX if MCCQ is not createdSathya Perla1-24/+85
Currently the IF_CREATE FW cmd is issued only *after* MCCQ is created as it was coded to only use MCCQ. By fixing this, cmd_if_create() can be called before MCCQ is created and the same routine for VF provisioning can be called after. This allows for consolidating all the queue create routines by moving the be_cmd_if_create() call above all queue create calls in be_setup(). Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27be2net: refactor be_get_resources() codeSathya Perla6-189/+229
1) use be_resources{} struct to query/store HW resource limits 2) The HW queue/resource limits for BE2/BE3 chips are mostly called out in driver as constants. Code to handle this is scattered across various places in be_setup(). Consolidate this code into BEx_get_resources(). For Lancer-R, Skyhawk-R, these limits are queried from FW. Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27be2net: Fixup profile management routinesVasundhara Volam2-59/+88
1) Parse PCIe descriptor for max-VFs supported by HW 2) Cleanup NIC descriptor parsing in get_func/profile_config() routines 3) Use common struct definitions for v0 and v1 versions of GET_FUNC_CONFIG Signed-off-by: Vasundhara Volam <[email protected]> Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27be2net: use EQ_CREATEv2 for SH-RSathya Perla4-39/+18
EQ_CREATEv2 explicitly returns the msix-index associated with a EQ. For SH-R this is needed if EQs need to be deleted and re-created without resetting a function. Signed-off-by: Sathya Perla <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27qlcnic: Update version to 5.3.49.Sucheta Chakraborty1-2/+2
Signed-off-by: Sucheta Chakraborty <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27qlcnic: dcb: Add support for CEE Netlink interface.Sucheta Chakraborty4-1/+629
o Adapter and driver supports only CEE dcbnl ops. Only GET callbacks within dcbnl ops are supported currently. Signed-off-by: Sucheta Chakraborty <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27qlcnic: dcb: Register DCB AEN handler.Sucheta Chakraborty7-2/+137
o Adapter sends Asynchronous Event Notifications to the driver when there are changes in the switch or adapter DCBX configuration. AEN handler updates the driver DCBX parameters. Signed-off-by: Sucheta Chakraborty <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-08-27qlcnic: dcb: Get DCB parameters from the adapter.Sucheta Chakraborty7-2/+278
o Populate driver data structures with local, operational, and peer DCB parameters. Signed-off-by: Sucheta Chakraborty <[email protected]> Signed-off-by: David S. Miller <[email protected]>