aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/i40evf
AgeCommit message (Collapse)AuthorFilesLines
2014-06-09i40e/i40evf: bump version to 0.4.7 for i40e and 0.9.31 for i40evfShannon Nelson1-1/+1
Bumpity and Fred Worm say it's time to change the numbers again. Signed-off-by: Shannon Nelson <[email protected]> Change-ID: I658731d022ea23cedede4be2bfecd8b4cc68d270 Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-09i40e/i40evf: add PPRS bit to error bits and fix bug in Rx checksumJesse Brandeburg2-20/+57
The driver was not marking packets with bad checksums correctly, especially IPv6 packets with a bad checksum. To do this correctly we need a define that may be set by hardware in rare cases. Change-ID: I1a997b72b491ded27a78ac3bce1197b2d2611130 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40evf: Fix function headerCatherine Sullivan1-1/+1
Fix function header comment to have the correct function name. Signed-off-by: Catherine Sullivan <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: Bump build versionCatherine Sullivan1-1/+1
Bump i40e to 0.4.5 and i40evf to 0.9.29. Change-ID: I9faca5544446518c5425612e733499cf16ef20a1 Signed-off-by: Catherine Sullivan <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: remove deprecated device IDsJesse Brandeburg2-5/+1
Remove two device IDs 1582 and 1573, because they will not be shipped. Change-ID: Ica2e550b5b21a69e3f353eba2fe5e1c532a548c4 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: fix poll weightJesse Brandeburg1-1/+1
Fix a coding error where during the registration for NAPI the driver requested 256 budget. The max recommended value for this is NAPI_POLL_WEIGHT or 64. Change-ID: I03ea1e2934a84ff1b5d572988b18315d6d91c5c6 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: fix TSO accountingJesse Brandeburg2-8/+3
The TSO logic in the transmit path had some assumptions that have been broken now that the kernel can send as much as 32kB in a single skb->frag[.] entry, even on a system with 4kB pages. This fixes the assumptions and allows the kernel to operate as efficiently as possible with both SENDFILE and SEND. In addition, the hardware limit of data contained in a descriptor is changed to the next power of two below where it currently is in order to align to a power of two value, preventing a single byte of data in a descriptor. Change-ID: I6af1f0b87c1458e10644dbd47541591075a52651 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: remove chatty reset messagesMitch Williams1-9/+4
Both the PF side and the VF side of the VF reset process are too noisy. We already warn the user that a reset is happening, and that is sufficient. Because some of these message are inside if statements, we have to rejigger the brackets at the same time to keep our coding style consistent. Change-ID: Id175562fb0ec7c396d9de156b4890e136f52d5f4 Signed-off-by: Mitch Williams <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40evf: use correct format for printing MAC addressesMitch Williams1-2/+2
The correct format is %pM, not %pMAC. Change-ID: Idb335723a966fe56db3a72b9c07c08ca66f9db3c Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40evf: clean up log message formattingMitch Williams2-14/+14
Clean up inconsistent log messages, mostly related to punctuation. Based on the dogma that "kernel messages are not sentences", remove all trailing periods. Reword a few of the messages to make them less sentence-like. Change-ID: Ibd849aa7623a77549b0709988c66ab05d1311472 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40evf: remove bogus commentMitch Williams1-3/+0
This comment is just plain false. VF drivers require MSI-X or they won't get interrupts at all. Change-ID: Iaea5e30b6926948aa834a3c506d9a9223d9e3e29 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40evf: remove unnecessary log messagesMitch Williams2-38/+16
We don't need to print log messages when we encounter an out-of-memory condition, as the allocator will do this for us. Also, remove a Tx hang message that duplicates the one emitted by the netdev layer, and a duplicate message in the watchdog. Change-ID: If2056e6135fe248f66ea939778f9895660f4d189 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: Clean up a few thingsAkeem G Abodunrin1-4/+0
1. There is no ixgbe_watchdog_task function in the driver, so change the comment to the correct function name, i40e_watchdog_subtask. 2. Remove num_msix_entries from interrupt set_up routine because it is never used. 3. Remove some TBD comments that are not needed. Change-ID: I37697a04007074b797f85fd83d626672e4df1ad1 Signed-off-by: Akeem G Abodunrin <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: Fix code to accommodate i40e_register.h changesAnjali Singhai Jain1-6/+1
Remove use of registers no longer supported. Change-ID: I9d27399091cea78a926489d94f958edd762f5a20 Signed-off-by: Anjali Singhai Jain <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-08i40e/i40evf: fix rx descriptor statusJesse Brandeburg1-4/+6
As reported by Eric Dumazet, the driver is not masking the right bits in the receive descriptor before it starts checking them. This patch extends the mask to allow for the right bits to be checked, and fixes the issue permanently via a define. CC: Eric Dumazet <[email protected]> Change-ID: I3274f7619057a950f468143e6d7e11b129f54655 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-06i40e/i40evf: Bump build versionCatherine Sullivan1-1/+1
Bump i40e to 0.4.3 and i40evf to 0.9.27. Change-ID: I4141e9f8615bdcfa3b1b5ecbc2ac62603a03b7ad Signed-off-by: Catherine Sullivan <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-06i40e/i40evf: add Tx pre queue disable functionMatt Jared1-0/+8
Add a function which indicates our intention to enable or disable a particular Tx queue. Also add a function to notify the device's Tx unit that we're about to enable or disable a Tx queue. Change-ID: I6adf3cbb5bb3e3c984d1ec969e06577c19ef296d Signed-off-by: Matt Jared <[email protected]> Signed-off-by: Shannon Nelson <[email protected]> Tested-by: Jim Young <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-06i40e/i40evf: check AQ register for valid dataKamil Krawczyk1-4/+30
B0 Si blocks AQ registers when in Blank Flash mode - write is dropped, read gives 0xDEADBEEF. Introduce a simple check for a correct value in one of the AQ registers to be sure that AQ was configured correctly. Without this check we get into an endless loop while trying to send GetVersion AQ cmd. Change-ID: I00102b8c5fa6c16d14289be677aafadf87f10f0d Signed-off-by: Kamil Krawczyk <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-06i40evf: make messages less direMitch Williams1-2/+2
Depending on the timing of what the PF driver is doing, it make take a few tries before the VF driver is able to communicate with the PF driver on init or reset recovery. In order to prevent confusion, make the most common messages less scary by lowering them to a less terrifying log level and indicate that the driver will retry. Change-ID: I1ec22aa59a68f4469aabe14775a1bfc1ab4b7f2f Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-05i40e/i40evf: remove rx_errors and rx_missedShannon Nelson3-6/+1
The rx_errors (GLV_REPC) and rx_missed (GLV_RMPC) were removed from the chip design. Change-ID: Ifdeb69c90feac64ec95c36d3d32c75e3a06de3b7 Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-05i40e/i40evf: VEB structure added, GTIME macro updateKamil Krawczyk1-2/+12
Structure for VEB context added. Update macro for transition from ms to GTIME (us) time units. Change-ID: Ib3a19587b4cf355348655df8f60c6f37bb1497a3 Signed-off-by: Kamil Krawczyk <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-05i40evf: fix crash when changing ring sizesMitch Williams3-13/+15
i40evf_set_ringparam was broken in several ways. First, it only changed the size of the first ring, and second, changing the ring size would often result in a panic because it would change the count before deallocating resources, causing the driver to either free nonexistent buffers, or leak leftover buffers. Fix this by storing the descriptor count in the adapter structure, and updating the count for each ring each time we allocate them. This ensures that we always free the right size ring, and always end up with the requested count when the device is (re)opened. Change-ID: I298396cd3d452ba8509d9f2d33a93f25868a9a55 Signed-off-by: Mitch Williams <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-05i40evf: set descriptor multiple to 32Mitch Williams1-1/+1
Hardware requires descriptors to be allocated in groups of 32. Change-ID: I752ccc96769d1bd8d3018c004b8aeff464045bf2 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-05i40e/i40evf: remove unused RX_LRO defineJesse Brandeburg1-7/+0
Remove unused defines and macros for RX_LRO. Change-ID: I8ca6715edfa62b56837417a1c4ff68c2345dab6e Signed-off-by: Jesse Brandeburg <[email protected]> Tested-by: Jim Young <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-06-02Merge branch 'ethtool-rssh-fixes' of ↵David S. Miller1-6/+9
git://git.kernel.org/pub/scm/linux/kernel/git/bwh/net-next Ben Hutchings says: ==================== Pull request: Fixes for new ethtool RSS commands This addresses several problems I previously identified with the new ETHTOOL_{G,S}RSSH commands: 1. Missing validation of reserved parameters 2. Vague documentation 3. Use of unnamed magic number 4. No consolidation with existing driver operations I don't currently have access to suitable network hardware, but have tested these changes with a dummy driver that can support various combinations of operations and sizes, together with (a) Debian's ethtool 3.13 (b) ethtool 3.14 with the submitted patch to use ETHTOOL_{G,S}RSSH and minor adjustment for fixes 1 and 3. v2: Update RSS operations in vmxnet3 too ==================== Signed-off-by: David S. Miller <[email protected]>
2014-06-03ethtool: Replace ethtool_ops::{get,set}_rxfh_indir() with {get,set}_rxfh()Ben Hutchings1-6/+9
ETHTOOL_{G,S}RXFHINDIR and ETHTOOL_{G,S}RSSH should work for drivers regardless of whether they expose the hash key, unless you try to set a hash key for a driver that doesn't expose it. Signed-off-by: Ben Hutchings <[email protected]> Acked-by: Jeff Kirsher <[email protected]>
2014-05-29i40evf: don't use RESETTING state during reinitMitch Williams1-2/+0
The RESETTING state means that a Catastrophic Hardware Bad Thing is happening and the driver need to tiptoe around and not use the admin queue or registers or anything like that. On the other hand, a reinit is no big deal and we can use the admin queue, and we should. So don't set the state to RESETTING here. This fixes a Tx hang and FW crash that happens after setting the MTU on a VF. Change-ID: I3e6191edbd6a93958a1f1bd1d41a5c2d17474d41 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-29i40e/i40evf: Change type to u32 to avoid sparse errorGreg Rose1-2/+2
tx_lpi_status and rx_lpi_status are declared as bool but then used in sizeof operations in the CORE driver code. Make them u32 to make sparse be quiet. Change-ID: Iad6daeb1c7149e61ece242acd18c64b320c246a3 Signed-off-by: Greg Rose <[email protected]> Tested-by: Jim Young <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-29i40e/i40evf: remove storm controlJesse Brandeburg2-5/+1
The storm control features are not part of the hardware and mistakenly were left in the code. Remove them as they are not needed any more. Change-ID: I6e9277c8da2c52e69348a657bae25271449c2099 Signed-off-by: Jesse Brandeburg <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-29i40e/i40evf: Remove reserved PCTYPE definesKevin Scott2-12/+3
Patch to remove PCTYPE definitions which are now reserved. Change-ID: I66c1c16a45a16f4894b2983101ab2a48ce03f1f4 Signed-off-by: Kevin Scott <[email protected]> Signed-off-by: Shannon Nelson <[email protected]> Tested-by: Jim Young <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-29i40e/i40evf: Update check for AQ alivenessKevin Scott1-1/+5
Update the i40e_check_asq_alive check to ensure that the len register offset is non-zero, indicating that SW has initialized the AQ. Change-ID: I9c2e804788b4775bef9c7e80954ab004e6bdb306 Signed-off-by: Kevin Scott <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-27i40evf: Use is_multicast_ether_addr helperTobias Klauser1-1/+1
Use the is_multicast_ether_addr helper function from linux/etherdevice.h instead of open coding the multicast address check. Signed-off-by: Tobias Klauser <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-23i40e,igb,ixgbe: remove usless return statementsStephen Hemminger1-4/+0
Remove cases where useless bare return is left at end of function. Signed-off-by: Stephen Hemminger <[email protected]> Tested-by: Aaron Brown <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Tested-by: Phil Schmitt <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()Alexander Gordeev1-20/+11
As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Cc: Jesse Brandeburg <[email protected]> Cc: [email protected] Signed-off-by: Alexander Gordeev <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40e/i40evf: control auto ITR through ethtoolMitch Williams1-36/+29
For all of our supported kernels, ethtool allows us to directly control adaptive ITR instead of just faking it with an ITR value. Support this capability so that user knows explicitly when ITR is being controlled dynamically. Suggested by Ben Hutchings. CC: Ben Hutchings <[email protected]> Change-ID: Iae6b79c5db767a63d22ecd9a9c24acaff02a096e Signed-off-by: Mitch Williams <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40e/i40evf: set proper default for ITR registersMitch Williams1-2/+4
Ethtool consistently reports 0 values for our ITR settings because we never actually set them. Fix this by setting the default values to the specified default values. Change-ID: I2832406a66f7140f2b1230945d6ff6cbf77467c8 Signed-off-by: Mitch Williams <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: make ethtool_ops constMitch Williams1-1/+1
Const-ify the ethtool_ops structure, as it is extremely unlikely to change at runtime. Suggested by Ben Hutchings. CC: Ben Hutchings <[email protected]> Change-ID: I1ccb1b7c3ea801cc934447599a35910e7c93d321 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: don't lie to ethtoolMitch Williams1-1/+1
Don't tell ethtool that the VF can do 10GbaseT, when it really has no idea what its link speed is. Set the supported values to 0 instead. Suggested by Ben Hutchings. CC: Ben Hutchings <[email protected]> Change-ID: Iceb0d8af68fe5d8dc13224366979ba701ba89c39 Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: Use macro param for ethtool statsMitch Williams1-5/+7
Use a macro parameter for ethtool stats instead of just assuming that a valid netdev variable exists. Suggested by Ben Hutchings. CC: Ben Hutchings <[email protected]> Change-ID: I66681698573c1549f95fdea310149d8a7e96a60f Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: Fix the headers and update copyright year.Jesse Brandeburg20-14/+74
Adding the appropriate GNU General Public License header and update copyright year to 2014. Change-ID: I769dd2d37d70350afd0c8727ae2859c0fd340361 Signed-off-by: Jesse Brandeburg <[email protected]> Signed-off-by: Catherine Sullivan <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: Remove unused definesCatherine Sullivan1-9/+0
Remove the defines for PCI bus info that are never used. Signed-off-by: Catherine Sullivan <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-21i40evf: Update AdminQ interfaceShannon Nelson1-14/+8
Minor changes to the AdminQ interface to bring it up-to-date. Change-ID: Ie31a4cc4911b2d9d3b7f9af2e56fb0ae674f6345 Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Kevin Scott <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-05-13net: get rid of SET_ETHTOOL_OPSWilfried Klaebe1-1/+1
net: get rid of SET_ETHTOOL_OPS Dave Miller mentioned he'd like to see SET_ETHTOOL_OPS gone. This does that. Mostly done via coccinelle script: @@ struct ethtool_ops *ops; struct net_device *dev; @@ - SET_ETHTOOL_OPS(dev, ops); + dev->ethtool_ops = ops; Compile tested only, but I'd seriously wonder if this broke anything. Suggested-by: Dave Miller <[email protected]> Signed-off-by: Wilfried Klaebe <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-04-28i40e/i40evf: Bump build versionCatherine Sullivan1-1/+1
Bump i40e to 0.3.46 and i40evf to 0.9.23. Change-ID: Ia604ae6d513d9aaa8bfdac79665d9a3a72507df7 Signed-off-by: Catherine Sullivan <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-04-28i40e/i40evf: Retrieve and store missing link config informationNeerav Parikh1-0/+3
Some information returned via "Get Link Status" command was not being cached in the struct i40e_link_status. Add this so the driver can utilize this information as needed. Change-ID: If084a0ae2a63b16b97572196b993742af2c67772 Signed-off-by: Neerav Parikh <[email protected]> Acked-by: Greg Rose <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-04-28i40evf: remove debugging messageMitch Williams1-1/+0
If the PF driver fails or is removed from the host, the VF driver will fill up its log with this message. Change-ID: I67045f987f7c0d444d21ded403adc509343cdb8f Signed-off-by: Mitch Williams <[email protected]> Signed-off-by: Catherine Sullivan <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-04-28i40evf: fix panic on PF driver failMitch Williams1-3/+9
Fix a panic that would occur in the VF if the PF driver failed or was removed from the host kernel. In this case, the VF driver calls i40evf_close(), but this function does nothing because the driver is in the resetting state. Because of this, the driver doesn't free its irqs and causes a kernel panic when it tries to disable MSI-X. Change-ID: If95644a89e554b4d7be0dca1b6add26f63047129 Signed-off-by: Mitch Williams <[email protected]> Signed-off-by: Catherine Sullivan <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-04-28i40e/i40evf: add driver version string to driver version commandShannon Nelson1-0/+1
The driver version string was added to this struct to be passed down through the firmware to low-level NC-SI functions. We tell the firmware about the length of the ASCII string not counting any terminating null. Change-ID: I09ac98ff9b869e8661c55fc6a5c98808fc280c91 Signed-off-by: Shannon Nelson <[email protected]> Acked-by: Anjali Singhai <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-04-28i40evf: support ethtool RSS optionsMitch A Williams1-0/+316
Add support for getting and setting RSS hashing options, RSS LUT entries, and getting the number of device channels from ethtool. Because the LUT is so small for the VFs, we just read and write the device registers directly instead of maintaining a shadow copy. Signed-off-by: Mitch Williams <[email protected]> Tested-by: Sibai Li <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2014-04-22i40e/i40evf: Bump build versionsCatherine Sullivan1-1/+1
Bump i40e to version 0.3.43 and i40evf to version 0.9.21. Change-ID: Ice4c715731bfa1dfc12dd45418675a3ba6e08d57 Signed-off-by: Catherine Sullivan <[email protected]> Tested-by: Kavindya Deegala <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>