summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* igb: implement SIOCGHWTSTAMP ioctlJacob Keller2014-03-213-17/+38
| | | | | | | | | | | | | | | | | This patch adds support for the SIOCGHWTSTAMP ioctl which enables user processes to read the current hwtstamp_config settings non-destructively. Previously a process had to be privileged and could only set values, it couldn't return what is currently set without possibly overwriting the value. This patch adds support for this new operation into igb by keeping a shadow copy of the config in the adapter structure, which is returned upon request. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Acked-by: Matthew Vick <matthew.vick@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* ixgbevf: Additional adapter removal checksMark Rustad2014-03-212-0/+35
| | | | | | | | | | | | Additional checks are needed for a detected removal not to cause problems. Some involve simply avoiding a lot of stuff that can't do anything good, and also cases where the phony return value can cause problems. In addition, down the adapter when the removal is sensed. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* ixgbevf: Check for adapter removal on register writesMark Rustad2014-03-211-1/+5
| | | | | | | | | Prevent writes to an adapter that has been detected as removed by a previous failing read. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* ixgbevf: Check register reads for adapter removalMark Rustad2014-03-213-8/+53
| | | | | | | | | | | | | Check all register reads for adapter removal by checking the status register after any register read that returns 0xFFFFFFFF. Since the status register will never return 0xFFFFFFFF unless the adapter is removed, such a value from a status register read confirms the removal. Since this patch adds so much to ixgbe_read_reg, stop inlining it, to reduce driver bloat. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* ixgbevf: Make the ethtool register test use accessorsMark Rustad2014-03-211-52/+67
| | | | | | | | | | Make the ethtool register test use the normal register accessor functions. Also eliminate macros used for calling register test functions to make error exits clearer. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* ixgbevf: Use static inlines instead of macrosMark Rustad2014-03-214-14/+35
| | | | | | | | | | Kernel coding standard prefers static inline functions instead of macros, so use them for register accessors. This is to prepare for adding LER, Live Error Recovery, checks to those accessors. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* ixgbe: Break recursion in case of removalMark Rustad2014-03-211-0/+3
| | | | | | | | | | | When an adapter is removed and registers all read as all one's, an infinite recursion can happen between ixgbe_clear_vmdq_generic and ixgbe_clear_rar_generic. Adding a check for removal breaks this recursion. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* i40evf: clean up init error messagesMitch Williams2014-03-211-3/+4
| | | | | | | | | | | Add an error message when the admin queue message never completes, and fix formatting on another one that was unnecessarily wrapped. Change-ID: I8b8a4eb7629d741f09357250144023cd4a72231f Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* i40evf: don't shut down admin queue on errorMitch Williams2014-03-211-2/+0Star
| | | | | | | | | | | | | If the driver encounters an error while communicating with the PF driver, don't just shut down the admin queue unconditionally. The PF may be delayed, and shutting down the admin queue causes it to fail completely. If this happens, the VF will never complete initialization. Change-ID: I6192e9d8caeefb738428c3597fa2f54fa400ce7f Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* i40e: Fix a message stringAnjali Singhai Jain2014-03-211-1/+1
| | | | | | | | | | Change string from "Side Band" to "Sideband" for consistency. Change-ID: I45f05466bb5c63b0f999d743312bcb61b5bd6518 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* i40e/i40evf: Add EEE LPI statsAnjali Singhai Jain2014-03-214-0/+30
| | | | | | | | | | | | Add 4 new stats to keep track of EEE LPI (Low Power Idle) state. Change-ID: Id6316619bb0559789770288b694a54d17f8fac5c Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Acked-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Kevin Scott <kevin.c.scott@intel.com> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* Merge branch 'bcmgenet-next'David S. Miller2014-03-202-14/+10Star
|\ | | | | | | | | | | | | | | | | | | | | | | Florian Fainelli says: ==================== net: bcmgenet: misc fixes This patch series contains some misc. fixes for the bcmgenet driver. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: manipulate netdev_queue directlyFlorian Fainelli2014-03-201-4/+8
| | | | | | | | | | | | | | | | | | | | Instead of always invoking netdev_get_tx_queue() in bcmgenet_xmit() and bcmgenet_tx_reclaim(), just get the corresponding netdev_queue pointer once and for all and manipulate it throughout bcmgenet_xmit() and bcmgenet_tx_reclaim(). Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: remove bogus tx queue checksFlorian Fainelli2014-03-201-8/+0Star
| | | | | | | | | | | | | | | | | | | | netdev_pick_tx already takes care of making sure that a given skb->queue_mapping value will remain within the number of advertised hardware queue number, there is no need to re-do this again in the driver. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: add skb_tx_timestamp callFlorian Fainelli2014-03-201-0/+2
| | | | | | | | | | | | | | | | | | The BCMGENET driver was not TX timestamping the SKBs it queued for transmission, do this in bcmgenet_xmit() right before kicking the Transmit DMA engine. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: bcmgenet: remove unused spinlock memberFlorian Fainelli2014-03-202-2/+0Star
|/ | | | | | | The spinlock cookie in bcmgenet_priv is never used, get rid of it. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'sh_eth-next'David S. Miller2014-03-201-54/+31Star
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Laurent Pinchart says: ==================== sh_eth: Fix the race between open and MDIO bus registration This patch series fixes the race condition that exists in the sh_eth driver between network device open and MDIO bus registration. The actual fix is in patch 4/5, with previous patches preparing the driver and patch 5/5 cleaning up an unrelated issue. I've based the idea on Sergei's attempt to fix the problem and can successfully boot the Koelsch board over NFS with this series. I might have missed other issues though, hence the RFC status. The patches are based on top of the latest net-next master branch. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Remove goto statements that jump straight to a returnLaurent Pinchart2014-03-201-21/+9Star
| | | | | | | | | | | | | | | | | | | | "goto" is well accepted for error paths in the kernel but should not be used unnecessarily. Return the correct value directly instead of using a goto when possible. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Register MDIO bus before registering the network deviceLaurent Pinchart2014-03-201-11/+9Star
| | | | | | | | | | | | | | | | | | | | Network API functions that rely on the MDIO bus can be called as soon as the driver calls register_netdev(). Register the MDIO bus before the network device to avoid race conditions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Simplify MDIO bus initialization and releaseLaurent Pinchart2014-03-201-19/+11Star
| | | | | | | | | | | | | | | | | | | | The network device passed to the sh_mdio_init and sh_mdio_release functions is only used to access the sh_eth_private instance. Pass it directly to those functions. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Use the platform device as the MDIO bus parentLaurent Pinchart2014-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | The MDIO bus parent is set to the network device. Beside not reflecting the hardware topology, this prevents registering the MDIO bus before initializing the network device. Fix it by setting the MDIO bus parent to the platform device. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sh_eth: Use the platform device for memory allocationLaurent Pinchart2014-03-201-4/+3Star
|/ | | | | | | | | | | | | | | | Memory allocated for the MDIO bus with the devm_kzalloc() API is associated with the network device. While this will cause memory to be freed at the right time, it doesn't allow allocating memory before the network device is initialized. Replace the network device with the parent platform device for memory allocation to remove that dependency. This also improves consistency with the other devm_* calls in the driver that all use the platform device. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* ieee802154: dgram: cleanup set of broadcast panidAlexander Aring2014-03-201-1/+1
| | | | | | | | | This patch is only a cleanup to use the right define for a panid field. The broadcast address and panid broadcast is still the same value. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* af_ieee802154: fix check on broadcast addressAlexander Aring2014-03-201-1/+1
| | | | | | | | | | | | | | This patch fixes an issue which was introduced by commit b70ab2e87f17176d18f67ef331064441a032b5f3 ("ieee802154: enforce consistent endianness in the 802.15.4 stack"). The correct behaviour should be a check on the broadcast address field which is 0xffff. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Reported-by: Jan Luebbe <jlu@pengutronix.de> Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* of_mdio: Allow the DT to specify the phy ID and avoid autoprobingJason Gunthorpe2014-03-201-1/+22
| | | | | | | | | | | | | | | | | | | | | This makes the generic of_mdiobus_register parse the DT compatible string for the pattern ethernet-phy-idAAAA.BBBB. If present it should be a value that matches the phy-id register normally readable through MDIO. When the ID is given the phy autoprobing is defeated and the phy is created directly. This is necessary to support phy's that cannot be autoprobed when of_mdiobus_register is called. Specifically, my case has the phy in reset at of_mdiobus_register, the reset is only released once the ethernet driver starts, before it attaches to the phy. Tested on ARM Kirkwood with phy id 0x01410e90 (Marvell 88E1318) Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* dt: Document a compatible entry for MDIO ethernet PhysJason Gunthorpe2014-03-201-1/+9
| | | | | | | | | | | | | | | This describes a compatible entry of the form: ethernet-phy-idAAAA,BBBB Which is modelled after the PCI structured compatible entry (pciVVVV,DDDD.SSSS.ssss.RR) If present the OF core will be able to use this information to directly create the correct phy without auto probing the bus. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'cdc-next'David S. Miller2014-03-203-0/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ben Chan says: ==================== Adjust MTU as indicated by MBIM extended functional descriptor. The MBIM extended functional descriptor, defined in "Universal Serial Bus Communications Class Subclass Specification for Mobile Broadband Interface Model, Revision 1.0, Errata-1" by USB-IF, indicates the operator preferred MTU value via a wMTU field. This patch set ensures that the initial MTU value set by cdc_ncm on a MBIM net device does not exceed the wMTU value, provided the MBIM device exposes a MBIM extended functional descriptor. * Changelog v2: Fixed a le16_to_cpu conversion issue in patch 2/2 pointed out by Bjørn Mork <bjorn@mork.no> v3: No code changes. Resubmitted to include patch 1/2 as suggested by David Miller <davem@davemloft.net> v4: No code changes. Resubmitted as suggested by David Miller: - Added a summary of the patch set - Carried the ACK from Greg Kroah-Hartman <gregkh@linuxfoundation.org> - Added a specified the tree (net-next) to apply the patch set to ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: cdc_ncm: respect operator preferred MTU reported by MBIMBen Chan2014-03-202-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to "Universal Serial Bus Communications Class Subclass Specification for Mobile Broadband Interface Model, Revision 1.0, Errata-1" published by USB-IF, the wMTU field of the MBIM extended functional descriptor indicates the operator preferred MTU for IP data streams. This patch modifies cdc_ncm_setup to ensure that the MTU value set on the usbnet device does not exceed the operator preferred MTU indicated by wMTU if the MBIM device exposes a MBIM extended functional descriptor. Signed-off-by: Ben Chan <benchan@chromium.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * USB: cdc: add MBIM extended functional descriptor structureBen Chan2014-03-201-0/+12
|/ | | | | | | | | | | This patch adds the MBIM extended functional descriptor structure defined in "Universal Serial Bus Communications Class Subclass Specification for Mobile Broadband Interface Model, Revision 1.0, Errata-1" published by USB-IF. Signed-off-by: Ben Chan <benchan@chromium.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'mlx4-next'David S. Miller2014-03-2012-114/+676
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Or Gerlitz says: ==================== mlx4: Add support for single port VFs The mlx4 Firmware && driver expose both ports of the device through one PCI function. This can be non-optimal under virtualization schemes where the admin would like the VF to expose one interface to the VM, etc. This series from Matan Barak adds support for single ported VFs. Since all the VF interaction with the firmware passes through the PF driver, we can emulate to the VF they have one port, and further create a set of the VFs which act on port1 of the device and another set which acts on port2. Series done against net-next commit 3ab428a "netfilter: Add missing vmalloc.h include to nft_hash.c" Roland, we send this through netdev, but if you have comments, will love to hear them. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Adapt num_vfs/probed_vf params for single port VFMatan Barak2014-03-201-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new syntax is added for the module parameters num_vfs and probe_vf. num_vfs=p1,p2,p1+p2 probe_bf=p1,p2,p1+p2 Where p1(2) is the number of VFs on / probed VFs for physical port1(2) and p1+p2 is the number of dual port VFs. Single port VFs are currently supported only when the link type for both ports of the device is Ethernet. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Adapt code for N-Port VFMatan Barak2014-03-2012-79/+417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for N-Port VFs, this includes: 1. Adding support in the wrapped FW command In wrapped commands, we need to verify and convert the slave's port into the real physical port. Furthermore, when sending the response back to the slave, a reverse conversion should be made. 2. Adjusting sqpn for QP1 para-virtualization The slave assumes that sqpn is used for QP1 communication. If the slave is assigned to a port != (first port), we need to adjust the sqpn that will direct its QP1 packets into the correct endpoint. 3. Adjusting gid[5] to modify the port for raw ethernet In B0 steering, gid[5] contains the port. It needs to be adjusted into the physical port. 4. Adjusting number of ports in the query / ports caps in the FW commands When a slave queries the hardware, it needs to view only the physical ports it's assigned to. 5. Adjusting the sched_qp according to the port number The QP port is encoded in the sched_qp, thus in modify_qp we need to encode the correct port in sched_qp. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Add utils for N-Port VFsMatan Barak2014-03-203-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the following utils: 1. Convert slave_id -> VF 2. Get the active ports by slave_id 3. Convert slave's port to real port 4. Get the slave's port from real port 5. Get all slaves that uses the i'th real port 6. Get all slaves that uses the i'th real port exclusively Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * net/mlx4: Add data structures to support N-Ports per VFMatan Barak2014-03-202-24/+92
| | | | | | | | | | | | | | | | | | Adds the required data structures to support VFs with N (1 or 2) ports instead of always using the number of physical ports. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * IB/mlx4_ib: Adapt code to use caps.num_ports instead of a constantMatan Barak2014-03-201-4/+4
|/ | | | | | | | | | | Some code in the mlx4 IB driver stack assumed MLX4_MAX_PORTS ports. Instead, we should only loop until the number of actual ports in i the device, which is stored in dev->caps.num_ports. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* smsc911x: Change clock warning message to debug levelFabio Estevam2014-03-201-1/+1
| | | | | | | | | | | | Since passing the clock is not mandatory, change the warning message to debug, so that we avoid getting the following clock failure message on every boot: smsc911x: Driver version 2008-10-21 smsc911x smsc911x (unregistered net_device): couldn't get clock -2 libphy: smsc911x-mdio: probed Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: remove empty lines from tcp_syn_flood_actionDaniel Baluta2014-03-201-2/+0Star
| | | | | Signed-off-by: Daniel Baluta <dbaluta@ixiacom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2014-03-2015-206/+113Star
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series contains updates to e100, igb, igbvf, ixgbe and ixgbevf. Stefan adds a igb patch to enable the ability strip VLAN header information for packets bound for a VM on i350 hardware. Joe Perches provides patches for e100, igb, igbvf, ixgbe and ixgbevf to convert the use of __constant_<foo> to just <foo> to align with the rest of the kernel. Don provides two fixes for ixgbe, first resolves a link issue with DA cables where we were not always freeing the firmware/software semaphore after grabbing it. Second stops caching whether the management firmware was enabled, however since this is not static, we really need to verify with each check. Jacob provides six fixes/cleanups for ixgbe, most notably, correct the stop_mac_link_on d3() to check the Core Clock Disable bit before stopping link and to fully check to see if manage firmware is running or could be enabled before bringing down the link. Fix flow control auto-negation for KR/KX/K4 interfaces, since setting up MAC link, the cached autoc value and current autoc value were being incorrectly used to determine whether link reset is required. Emil provides a fix for ixgbe where there was a chance for aggressive start_ndo_zmit() callers to sneak packets between enabling the Tx queues and the link coming up. To resolve this, move the call to enable Tx queues to after the link is established. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * ixgbe: enable tx queues after link upEmil Tantilov2014-03-201-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the call to enable Tx queues after the link is established. Previously there was a chance for aggressive start_ndo_xmit() callers to sneak packets between enabling the Tx queues and the link coming up. In addition it replaces netif_tx_start_all_queues() with netif_tx_wake_all_queues() to allow for flushing of the qdisc. CC: Arun Sharma <asharma@fb.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: Stop cacheing if the MNG FW enabledDon Skidmore2014-03-206-13/+5Star
| | | | | | | | | | | | | | | | | | | | | | We use to cache whether the MNG FW was enabled, how since this isn't static we really need to verify with each check. This patch makes that change. CC: Arun Sharma <asharma@fb.com> 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>
| * ixgbe: clean up ixgbe_atr_compute_perfect_hash_82599Jacob Keller2014-03-201-37/+9Star
| | | | | | | | | | | | | | | | | | | | Rather than assign several parameters in a row, we should use a for loop, which reduces code size. CC: Arun Sharma <asharma@fb.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: use ixgbe_read_pci_cfg_wordJacob Keller2014-03-201-8/+3Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces some direct uses of pci_read_config_word with the protected ixgbe_read_pci_cfg_word function, which checks for whether the adapter is removed when LER is enabled. We shouldn't use the pci_read_config_word calls directly because of these checks. This patch also cleans up an unnecessary save of a pointer to the mac object, as our standard style is to just use the hw pointer. CC: Arun Sharma <asharma@fb.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: remove unused media typeJacob Keller2014-03-204-81/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch reverts the addition of the fiber_fixed type, which ended up never being used. We don't have plans to support this type going forward, and there is no reason to keep an unused type around polluting the code. Reverts: 4e8e1bca6e2 ("ixgbe: add new media type") CC: Arun Sharma <asharma@fb.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: fix ixgbe_setup_mac_link_82599 autoc variablesJacob Keller2014-03-201-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes flow control autonegotiation for KR/KX/K4 interfaces. When setting up MAC link, the cached autoc value and current autoc value were being incorrectly used to determine whether link reset is required. This resulted in the driver ignoring and discarding flow control negotiation changes that occur since the caching happened, as well as when the mac was being setup. This patch also splits the assignments for the 3 autoc variables into their own block, and adds a comment explaining what each one means, in order to help keep logic more straightforward while reading the code. CC: Arun Sharma <asharma@fb.com> Reported-by: Sourav Chatterjee <sourav.chatterjee@intel.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: fix ixgbe_stop_mac_link_on_d3_82599 to check mng correctlyJacob Keller2014-03-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Previously, we did a full check to see if MNG FW was running. Instead, we should only check to see whether it could be enabled. Since it may become active while down, we don't want to bring the link down. CC: Arun Sharma <asharma@fb.com> Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: check Core Clock Disable bitJacob Keller2014-03-202-1/+8
| | | | | | | | | | | | | | | | | | | | This patch corrects the stop_mac_link_on_d3 function in ixgbe_82599 by checking the Core Clock Disable bit before stopping link. CC: Arun Sharma <asharma@fb.com> Reported-by: Chris Pavlas <chris.pavlas@intel.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: fix errors related to protected AUTOC callsDon Skidmore2014-03-202-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Found several incorrect conditionals after calling the prot_autoc_* functions. Likewise we weren't always freeing the FWSW semaphore after grabbing it. This would lead to DA cables being unable to link along with possible other errors. CC: Arun Sharma <asharma@fb.com> CC: Emil Tantilov <emil.s.tantilov@intel.com> 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>
| * ixgbevf: Convert uses of __constant_<foo> to <foo>Joe Perches2014-03-201-2/+2
| | | | | | | | | | | | | | | | | | | | The use of __constant_<foo> has been unnecessary for quite awhile now. Make these uses consistent with the rest of the kernel. Signed-off-by: Joe Perches <joe@perches.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: Convert uses of __constant_<foo> to <foo>Joe Perches2014-03-202-19/+19
| | | | | | | | | | | | | | | | | | | | The use of __constant_<foo> has been unnecessary for quite awhile now. Make these uses consistent with the rest of the kernel. Signed-off-by: Joe Perches <joe@perches.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igbvf: Convert uses of __constant_<foo> to <foo>Joe Perches2014-03-201-2/+2
| | | | | | | | | | | | | | | | | | | | The use of __constant_<foo> has been unnecessary for quite awhile now. Make these uses consistent with the rest of the kernel. Signed-off-by: Joe Perches <joe@perches.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>