summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-29net/smc: introduce sg-logic for RMBsUrsula Braun
The follow-on patch makes use of ib_map_mr_sg() when introducing separate memory regions for RMBs. This function is based on scatterlists; thus this patch introduces scatterlists for RMBs. Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-29net/smc: shorten local bufsize variablesUrsula Braun
Initiate the coming rework of SMC buffer handling with this small code cleanup. No functional changes here. Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-29net/smc: serialize connection creation in all casesUrsula Braun
If a link group for a new server connection exists already, the mutex serializing the determination of link groups is given up early. The coming registration of memory regions benefits from the serialization as well, if the mutex is held till connection creation is finished. This patch postpones the unlocking of the link group creation mutex. Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-28Merge branch 'inet6_protocol-const'David S. Miller
Julia Lawall says: ==================== constify inet6_protocol structures The inet6_protocol structure is only passed as the first argument to inet6_add_protocol or inet6_del_protocol, both of which are declared as const. Thus the inet6_protocol structure itself can be const. Done with the help of Coccinelle. // <smpl> @r disable optional_qualifier@ identifier i; position p; @@ static struct inet6_protocol i@p = { ... }; @ok1@ identifier r.i; expression e1; position p; @@ \(inet6_add_protocol\|inet6_del_protocol\)(&i@p,...) @bad@ position p != {r.p,ok1.p}; identifier r.i; struct inet6_protocol e; @@ e@i@p @depends on !bad disable optional_qualifier@ identifier r.i; @@ static +const struct inet6_protocol i = { ... }; // </smpl> ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-28l2tp: constify inet6_protocol structuresJulia Lawall
The inet6_protocol structure is only passed as the first argument to inet6_add_protocol or inet6_del_protocol, both of which are declared as const. Thus the inet6_protocol structure itself can be const. Also drop __read_mostly on the newly const structure. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-28ipv6: constify inet6_protocol structuresJulia Lawall
The inet6_protocol structure is only passed as the first argument to inet6_add_protocol or inet6_del_protocol, both of which are declared as const. Thus the inet6_protocol structure itself can be const. Also drop __read_mostly where present on the newly const structures. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27Merge branch 'liquidio-standardization-and-cleanup'David S. Miller
Rick Farrington says: ==================== liquidio: standardization and cleanup This patchset corrects some non-standard macro usage. 1. Replaced custom MIN macro with use of standard 'min_t'. 2. Removed cryptic and misleading macro 'CAST_ULL'. change log: V1 -> V2: 1. Add driver cleanup of macro 'CAST_ULL'. V2 -> V3: 1. Remove extra parentheses from previous usage of macro 'CAST_ULL'. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27liquidio: cleanup: removed cryptic and misleading macroRick Farrington
Signed-off-by: Rick Farrington <ricardo.farrington@cavium.com> Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27liquidio: standardization: use min_t instead of custom macroRick Farrington
Signed-off-by: Rick Farrington <ricardo.farrington@cavium.com> Signed-off-by: Derek Chickles <derek.chickles@cavium.com> Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27net: phy: Remove stale comments referencing timerFlorian Fainelli
Since commit a390d1f379cf ("phylib: convert state_queue work to delayed_work"), the PHYLIB state machine was converted to use delayed workqueues, yet some functions were still referencing the PHY library timer in their comments, fix that and remove the now unused linux/timer.h include. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27Merge branch 'nfp-extend-firmware-request-logic'David S. Miller
Jakub Kicinski says: ==================== nfp: extend firmware request logic We have been pondering for some time how to support loading different application firmwares onto NFP. We want to support both users selecting one of the firmware images provided by Netronome (which are optimized for different use cases each) as well as firmware images created by users themselves or other companies. In the end we decided to go with the simplest solution - depending on the right firmware image being placed in /lib/firmware. This vastly simplifies driver logic and also doesn't require any new API. Different NICs on one system may want to run different applications therefore we first try to load firmware specific to the device (by serial number of PCI slot) and if not present try the device model based name we have been using so far. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27nfp: only use direct firmware requestsJakub Kicinski
request_firmware() will fallback to user space helper and may cause long delays when driver is loaded if udev doesn't correctly handle FW requests. Since we never really made use of the user space helper functionality switch to the simpler request_firmware_direct() call. The side effect of this change is that no warning will be printed when the FW image does not exists. To help users figure out which FW file is missing print a info message when we request each file. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27nfp: look for firmware image by device serial number and PCI nameJakub Kicinski
We generally look up firmware by card type, but that doesn't allow users who have more than one card of the same type in their system to select firmware per adapter. Unfortunately user space firmware helper seems fraught with difficulties and to be on its way out. In particular support for handling firmware uevents have been dropped from systemd and most distributions don't enable the FW fallback by default any more. To allow users selecting firmware for a particular device look up firmware names by serial and pci_name(). Use the direct lookup to disable generating uevents when enabled in Kconfig and not print any warnings to logs if adapter-specific files are missing. Users can place in /lib/firmware/netronome files named: pci-${pci_name}.nffw serial-${serial}.nffw to target a specific card. E.g.: pci-0000:04:00.0.nffw pci-0000:82:00.0.nffw serial-00-aa-bb-11-22-33-10-ff.nffw We use the full serial number including the interface id, as it appears in lspci output (bytes separated by '-'). Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27nfp: remove the probe deferral when FW not presentJakub Kicinski
We use a hack to defer probe when firmware was not pre-loaded or found on disk. This helps in case users forgot to include firmware in initramfs, the driver will most likely get another shot at probing after real root is mounted. This is not for what EPROBE_DEFER is supposed to be used, and when FW is completely missing every time new device is probed NFP will reprobe spamming kernel logs. Remove this hack, users will now have to make sure the right firmware image is present in initramfs if nfp.ko is placed there or built in. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27Merge branch 'qed-next'David S. Miller
Manish Chopra says: ==================== qed/qede: Enhancements This patch series adds these below features support in qed/qede 1) Ntuple filter configuration [via ethtool -n/N] 2) EEE (energy efficient ethernet) support [ethtool --set-eee/show-eee] 3) Coalescing configuration support for VFs [via ethtool -c/C] Please consider applying this to "net-next" V1->V2: * Fixes below Kbuild test robot warning. drivers/net//ethernet/qlogic/qed/qed_l2.c: In function 'qed_get_queue_coalesce': drivers/net//ethernet/qlogic/qed/qed_l2.c:2137:8: error: implicit declaration of function 'qed_vf_pf_get_coalesce' [-Werror=implicit-function-declaration] ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qed: enhanced per queue max coalesce value.Rahul Verma
Maximum coalesce per Rx/Tx queue is extended from 255 to 511. Signed-off-by: Rahul Verma <rahul.verma@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qed: Read per queue coalesce from hardwareRahul Verma
Retrieve the actual coalesce value from hardware for every Rx/Tx queue, instead of Rx/Tx coalesce value cached during set coalesce. Signed-off-by: Rahul Verma <Rahul.Verma@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qed: Add support for vf coalesce configuration.Rahul Verma
This patch add the ethtool support to set RX/Tx coalesce value to the VF associated Rx/Tx queues. Signed-off-by: Rahul Verma <Rahul.Verma@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qede: Add ethtool support for Energy efficient ethernet.Sudarsana Reddy Kalluru
The patch adds ethtool callback implementations for querying/configuring the Energy Efficient Ethernet (EEE) parameters. Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qed: Add support for Energy efficient ethernet.Sudarsana Reddy Kalluru
The patch adds required driver support for reading/configuring the Energy Efficient Ethernet (EEE) parameters. Signed-off-by: Sudarsana Reddy Kalluru <sudarsana.kalluru@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qed/qede: Add setter APIs support for RX flow classificationChopra, Manish
This patch adds support for adding and deleting rx flow classification rules. Using this user can classify RX flow constituting of TCP/UDP 4-tuples [src_ip/dst_ip and src_port/dst_port] to be steered on a given RX queue Signed-off-by: Manish Chopra <manish.chopra@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-27qede: Add getter APIs support for RX flow classificationChopra, Manish
This patch adds support for ethtool getter APIs to query RX flow classification rules. Signed-off-by: Manish Chopra <manish.chopra@cavium.com> Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-26Merge branch '40GbE' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== 40GbE Intel Wired LAN Driver Updates 2017-07-25 This series contains updates to i40e and i40evf only. Gustavo Silva fixes a variable assignment, where the incorrect variable was being used to store the error parameter. Carolyn provides a fix for a problem found in systems when entering S4 state, by ensuring that the misc vector's IRQ is disabled as well. Jake removes the single-threaded restriction on the module workqueue, which was causing issues with events such as CORER. Does some future proofing, by changing how the driver displays the UDP tunnel type. Paul adds a retry in releasing resources if the admin queue times out during the first attempt to release the resources. Jesse fixes up references to 32bit timspec, since there are a small set of errors on 32 bit, so we need to be using the right calls for dealing with timespec64 variables. Cleaned up code indentation and corrected an "if" conditional check, as well as making the code flow more clear. Cast or changed the types to remove warnings for comparing signed and unsigned types. Adds missing includes in i40evf, which were being used but were not being directly included. Daniel Borkmann fixes i40e to fill the XDP prog_id with the id just like other XDP enabled drivers, so that on dump we can retrieve the attached program based on the id and dump BPF insns, opcodes, etc back to user space. Tushar Dave adds le32_to_cpu while evaluating the hardware descriptor fields, since they are in little-endian format. Also removed unnecessary "__packed" to a couple of i40evf structures. Stefan Assmann fixes an issue when an administratively set MAC was set and should now be switched back to 00:00:00:00:00:00, the pf_set_mac flag is not being toggled back to false. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-26Merge branch '10GbE' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== 10GbE Intel Wired LAN Driver Updates 2017-07-25 This series contains updates to ixgbe only. Tony provides all of the changes in the series, starting with adding a check to ensure that adding a MAC filter was successful, before setting the MACVLAN. In order to receive notifications of link configurations of the external PHY and support the configuration of the internal iXFI link on X552 devices, Tony enables LASI interrupts. Update the iXFI driver code flow, since the MAC register NW_MNG_IF_SEL fields have been redefined for X553 devices, so add MAC checks for iXFI flows. Added additional checks for flow control autonegotiation, since it is not support for X553 fiber and XFI devices. v2: removed unnecessary parens noticed by David Miller in patch 6 of the series. v3: dropped patch 6 of the original series, while we work out a more generic solution for malicious driver detection (MDD) support. v4: updated patch 1 of the series with the comments from Joe Perches which were: - switched logic to return on error - return 0 on success - declare retval as an integer ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-26bpf: install libbpf headers on 'make install'Jakub Kicinski
Add a new target to install the bpf.h header to $(prefix)/include/bpf/ directory. This is necessary to build standalone applications using libbpf, without the need to clone the kernel sources and point to them. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-26hamradio: dmascc: avoid -Wformat-overflow warningArnd Bergmann
gcc warns that the device name might overflow: drivers/net/hamradio/dmascc.c: In function 'dmascc_init': drivers/net/hamradio/dmascc.c:584:22: error: 'sprintf' may write a terminating nul past the end of the destination [-Werror=format-overflow=] sprintf(dev->name, "dmascc%i", 2 * n + i); drivers/net/hamradio/dmascc.c:584:3: note: 'sprintf' output between 8 and 17 bytes into a destination of size 16 sprintf(dev->name, "dmascc%i", 2 * n + i); >From the static data in this file, I can tell that the index is strictly limited to 16, so it won't overflow. This simply changes the sprintf() to snprintf(), which is a good idea in general, and shuts up this warning. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-26i40e: handle setting administratively set MAC address back to zeroStefan Assmann
When an administratively set MAC was previously set and should now be switched back to 00:00:00:00:00:00 the pf_set_mac flag did not get toggled back to false. As a result VFs were still treated as if an administratively set MAC was present. Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40evf: remove unnecessary __packedTushar Dave
This is similar to 'commit 9588397d24eec ("i40e: remove unnecessary __packed")' to avoid unaligned access. Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40evf: Use le32_to_cpu before evaluating HW desc fieldsTushar Dave
i40e hardware descriptor fields are in little-endian format. Driver must use le32_to_cpu while evaluating these fields otherwise on big-endian arch we end up evaluating incorrect values, cause errors like: i40evf 0000:03:0a.0: Expected response 24 from PF, received 402653184 i40evf 0000:03:0a.1: Expected response 7 from PF, received 117440512 Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: report BPF prog id during XDP_QUERY_PROGDaniel Borkmann
Fill the XDP prog_id with the id just like we do in other XDP enabled drivers such as ixgbe. This is needed so that on dump we can retrieve the attached program based on the id, and dump BPF insns, opcodes, etc back to user space. Only XDP driver missing this is currently i40e. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: John Fastabend <john.fastabend@gmail.com> Acked-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40evf: add some missing includesJesse Brandeburg
These includes were all being used in the driver, but weren't being directly included. Since the current advised method is to directly include anything that you need, this implements that. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: display correct UDP tunnel type nameJacob Keller
The i40e driver attempts to display the UDP tunnel name by doing a check against the type, where for non-zero types we use "vxlan" and for zero type we use "geneve". This is not future proof, because if new tunnel types get added, we'll incorrectly label them. It also depends on the value of UDP_TUNNEL_TYPE_GENEVE == 0, which is brittle. Instead, replace this with a function that can return a constant string depending on the type. For now we'll use "unknown" for types we don't know about, and we can expand this in the future if new types get added. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e/i40evf: remove mismatched type warningsJesse Brandeburg
Compiler reported several places where driver compared signed and unsigned types. Cast or change the types to remove the warnings. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e/i40evf: make IPv6 ATR code clearerJesse Brandeburg
This just reorders some local vars and makes the code flow clearer. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: fix odd formatting and indentJesse Brandeburg
The compiler warned on an oddly indented bit of code, and when investigating that, noted that the functions themselves had an odd flow. The if condition was checked, and would exclude a call to AQ, but then the aq_ret would be checked unconditionally which just looks really weird, and is likely to cause objections. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: fix up 32 bit timespec referencesJesse Brandeburg
As it turns out there was only a small set of errors on 32 bit, and we just needed to be using the right calls for dealing with timespec64 variables. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: Handle admin Q timeout when releasing NVMPaul M Stillwell Jr
There are some rare cases where the release resource call will return an admin Q timeout. In these cases the code needs to try to release the resource again until it succeeds or it times out. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: remove WQ_UNBOUND and the task limit of our workqueueJacob Keller
During certain events such as a CORER, multiple devices will run a work task to handle some cleanup. This can cause issues due to a single-threaded workqueue which can mean that a device doesn't cleanup in time. Prevent this by removing the single-threaded restriction on the module workqueue. This avoids the need to add more complex yielding logic in our service task routine. This is also similar to what other drivers such as fm10k do. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: Fix for trace found with S4 stateCarolyn Wyborny
This patch fixes a problem found in systems when entering S4 state. This patch fixes the problem by ensuring that the misc vector's IRQ is disabled as well. Without this patch a stack trace can be seen upon entering S4 state. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-26i40e: fix incorrect variable assignmentGustavo A R Silva
Fix incorrect variable assignment. Based on line 1511: aq_ret = I40_ERR_PARAM; the correct variable to be used in this instance is aq_ret instead of ret. Also, variable ret is updated at line 1602 just before return, so assigning a value to this variable in this code block is useless. Addresses-Coverity-ID: 1397693 Signed-off-by: Gustavo A R Silva <garsilva@embeddedor.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-25virtio-net: mark PM functions as __maybe_unusedArnd Bergmann
After removing the reset function, the freeze and restore functions are now unused when CONFIG_PM_SLEEP is disabled: drivers/net/virtio_net.c:1881:12: error: 'virtnet_restore_up' defined but not used [-Werror=unused-function] static int virtnet_restore_up(struct virtio_device *vdev) drivers/net/virtio_net.c:1859:13: error: 'virtnet_freeze_down' defined but not used [-Werror=unused-function] static void virtnet_freeze_down(struct virtio_device *vdev) A more robust way to do this is to remove the #ifdef around the callers and instead mark them as __maybe_unused. The compiler will now just silently drop the unused code. Fixes: 4941d472bf95 ("virtio-net: do not reset during XDP set") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-25ixgbe: Disable flow control for XFITony Nguyen
Flow control autonegotiation is not supported for XFI. Make sure that ixgbe_device_supports_autoneg_fc() returns false and hw->fc.disable_fc_autoneg is set to true to avoid running the fc_autoneg function for that device. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-25ixgbe: Do not support flow control autonegotiation for X553Tony Nguyen
Flow control autonegotiation is not supported for fiber on X553. Add device ID checks in ixgbe_device_supports_autoneg_fc() to return the appropriate value. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-25ixgbe: Update NW_MNG_IF_SEL support for X553Tony Nguyen
The MAC register NW_MNG_IF_SEL fields have been redefined for X553. These changes impact the iXFI driver code flow. Since iXFI is only supported in X552, add MAC checks for iXFI flows. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-25ixgbe: Enable LASI interrupts for X552 devicesTony Nguyen
Enable LASI interrupts on X552 devices in order to receive notifications of link configurations of the external PHY and support the configuration of the internal iXFI link since iXFI does not support auto-negotiation. This is not required for X553 devices; add a check to avoid enabling LASI interrupts for X553 devices. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-25ixgbe: Ensure MAC filter was added before setting MACVLANTony Nguyen
This patch adds a check to ensure that adding the MAC filter was successful before setting the MACVLAN. If it was unsuccessful, propagate the error. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-07-25Merge branch 'bnxt_en-Fix-kbuild-errors-and-rename-phys_port_name'David S. Miller
Michael Chan says: ==================== bnxt_en: Fix kbuild errors and rename phys_port_name. Fix 2 more kbuild errors (the first one already fixed by DaveM), and rename the physical port name. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-25bnxt_en: fix switchdev port naming for external-port-rep and vf-repsSathya Perla
Fix the phys_port_name for the external physical port to be in "pA" format and that of VF-rep to be in "pCvfD" format as suggested by Jakub Kicinski. Fixes: c124a62ff2dd ("bnxt_en: add support for port_attr_get and get_phys_port_name") Signed-off-by: Sathya Perla <sathya.perla@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-25bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_opsSathya Perla
This fixes the build error: ‘struct net_device’ has no member named ‘switchdev_ops’ Reported-by: kbuild test robot <lkp@intel.com> Fixes: c124a62ff2dd ("bnxt_en: add support for port_attr_get and and get_phys_port_name") Signed-off-by: Sathya Perla <sathya.perla@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-25bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switchSathya Perla
And define empty functions in bnxt_vfr.h when CONFIG_BNXT_SRIOV is not defined. This fixes build error when CONFIG_BNXT_SRIOV is switched off: >> drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c:165:16: error: 'struct >> bnxt' has no member named 'sriov_lock' Reported-by: kbuild test robot <lkp@intel.com> Fixes: 4ab0c6a8ffd7 ("bnxt_en: add support to enable VF-representors") Signed-off-by: Sathya Perla <sathya.perla@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>