summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-30bnxt_en: Fix xmit_more with BQL.Michael Chan
We need to write the doorbell if BQL has stopped the queue and skb->xmit_more is set. Otherwise it is possible for the tx queue to rot and cause tx timeout. Fixes: 4d172f21cefe ("bnxt_en: Implement xmit_more.") Suggested-by: Yuval Mintz <yuval.mintz@cavium.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30Merge branch 'bnxt_en-Misc-updates-for-net-next'David S. Miller
Michael Chan says: ==================== bnxt_en: Misc. updates for net-next. The 1st 2 patches add short firmware message support for new VF devices. The 3rd patch adds a pci shutdown callback for the RDMA driver for proper shutdown. The next 3 patches improve the doorbell operations by elimiating the double doorbell workaround on newer chips, and by adding xmit_more support. The last patch adds a parameter to bnxt_set_dflt_rings(). ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Pass in sh parameter to bnxt_set_dflt_rings().Michael Chan
In the existing code, the local variable sh is hardcoded to true to calculate default rings for shared ring configuration. It is better to have the caller determine the value of sh. Reported-by: Gustavo A. R. Silva <garsilva@embeddedor.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Implement xmit_more.Michael Chan
Do not write the TX doorbell if skb->xmit_more is set unless the TX queue is full. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Optimize doorbell write operations for newer chips.Michael Chan
Older chips require the doorbells to be written twice, but newer chips do not. Add a new common function bnxt_db_write() to write all doorbells appropriately depending on the chip. Eliminating the extra doorbell on newer chips has a significant performance improvement on pktgen. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Add additional chip ID definitions.Michael Chan
Add additional chip definitions and macros for all supported chips. Add a new macro BNXT_CHIP_P4_PLUS for the newer generation of chips and use the macro to properly determine the features supported by these newer chips. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Add a callback to inform RDMA driver during PCI shutdown.Michael Chan
When bnxt_en gets a PCI shutdown call, we need to have a new callback to inform the RDMA driver to do proper shutdown and removal. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Add PCI IDs for BCM57454 VF devices.Deepak Khungar
Signed-off-by: Deepak Khungar <deepak.khungar@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30bnxt_en: Support for Short Firmware MessageDeepak Khungar
The new short message format is used on the new BCM57454 VFs. Each firmware message is a fixed 16-byte message sent using the standard firmware communication channel. The short message has a DMA address pointing to the legacy long firmware message. Signed-off-by: Deepak Khungar <deepak.khungar@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: dsa: b53: remove unused dev argumentVivien Didelot
The port net device passed to b53_fdb_copy is not used. Remove it. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: dsa: remove dsa_port_is_bridgedVivien Didelot
The helper is only used once and makes the code more complicated that it should. Remove it and reorganize the variables so that it fits on 80 columns. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30cxgb4: Fix netdev_features flagArjun Vynipadath
GRO is not supported by Chelsio HW when rx_csum is disabled. Update the netdev features flag when rx_csum is modified. Signed-off-by: Arjun Vynipadath <arjun@chelsio.com> Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30cxgb4: FW upgrade fixesArjun Vynipadath
Disable FW_OK flag while flashing Firmware. This will help to fix any potential mailbox timeouts during Firmware flash. Grab new devlog parameters after Firmware restart. When we FLASH new Firmware onto an adapter, the new Firmware may have the Firmware Device Log located at a different memory address or have a different size for it. Signed-off-by: Arjun Vynipadath <arjun@chelsio.com> Signed-off-by: Casey Leedom <leedom@chelsio.com> Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30cxgb4: add new T5 pci device idGanesh Goudar
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30cxgb4: keep carrier off before registering netdevSurendra Mobiya
Mark carrier off before registering netdev to ensure that vlan device picks up the correct state of the carrier Signed-off-by: Surendra Mobiya <surendra@chelsio.com> Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30Merge branch 'net-qualcomm-add-QCA7000-UART-driver'David S. Miller
Stefan Wahren says: ==================== net: qualcomm: add QCA7000 UART driver The Qualcomm QCA7000 HomePlug GreenPHY supports two interfaces: UART and SPI. This patch series adds the missing support for UART. This driver based on the Qualcomm code [1], but contains some changes: * use random MAC address per default * use net_device_stats from device * share frame decoding between SPI and UART driver * improve error handling * reimplement tty_wakeup with work queue (based on slcan) * use new serial device bus instead of ldisc The patches 1 - 3 are just for clean up and are not related to the UART support. Patch 4 adds SET_NETDEV_DEV() to qca_spi. Patches 5 - 16 prepare the existing QCA7000 code for UART support. The last patch contains the new driver. The code itself has been tested on a Freescale i.MX28 board and a Raspberry Pi Zero. Changes in v8: * add necessary header includes to qca_7k.c in order to reflect dependencies Changes in v7: * fix race between tx workqueue and device deregistration (reported by Lino) ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: add QCA7000 UART driverStefan Wahren
This patch adds the Ethernet over UART driver for the Qualcomm QCA7000 HomePlug GreenPHY. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Reviewed-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30dt-bindings: qca7000: append UART interface to bindingStefan Wahren
This merges the serdev binding for the QCA7000 UART driver (Ethernet over UART) into the existing document. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30dt-bindings: slave-device: add current-speed propertyStefan Wahren
This adds a new DT property to define the current baud rate of the slave device. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30dt-bindings: qca7000: rename bindingStefan Wahren
Before we can merge the QCA7000 UART binding the document needs to be renamed. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30dt-bindings: qca7000-spi: Rework bindingStefan Wahren
In preparation for the QCA7000 UART binding rework the binding document. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: make qca_7k_common a separate kernel moduleStefan Wahren
In order to share common functions between QCA7000 SPI and UART protocol driver the qca_7k_common needs to be a separate kernel module. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: prepare frame decoding for UART driverStefan Wahren
Unfortunately the frame format is not exactly identical between SPI and UART. In case of SPI there is an additional HW length at the beginning. So store the initial state to make the decoding state machine more flexible and easy to extend for UART support. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: rename qca_framing.c to qca_7k_common.cStefan Wahren
As preparation for the upcoming UART driver we need a module which contains common functions for both interfaces. The module qca_framing is a good candidate but renaming to qca_7k_common would make it clear. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qca_spi: Clarify MODULE_DESCRIPTIONStefan Wahren
Since this driver is specific to the QCA7000, we should make the module description more precisely. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: move qcaspi_tx_cmd to qca_spi.cStefan Wahren
The function qcaspi_tx_cmd() is only called from qca_spi.c. So we better move it there. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qca_spi: remove QCASPI_MTUStefan Wahren
There is no need for an additional MTU define. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: Improve readability of length definesStefan Wahren
In order to avoid mixing things up, make the MTU and frame length defines easier to read. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: use net_device_ops instead of direct callStefan Wahren
There is no need to export qcaspi_netdev_open and qcaspi_netdev_close because they are also accessible via the net_device_ops. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qca_spi: Use SET_NETDEV_DEV()Stefan Wahren
Use SET_NETDEV_DEV() in qca_spi to create the "/sys/class/net/<if>/device" symlink. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qca_7k: Use BIT macroStefan Wahren
Use the BIT macro for the CONFIG and INT register values. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qca_framing: use u16 for frame offsetStefan Wahren
It doesn't make sense to use a signed variable for offset here, so fix it up. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: qualcomm: qca_7k: clean up header includesStefan Wahren
Currently the includes doesn't reflect the dependencies. So fix this up by removing all unnecessary entries and add the necessary ones explicit. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30Merge branch 'net-phy-Support-managed-Cortina-phys'David S. Miller
Bogdan Purcareata says: ==================== net: phy: Support managed Cortina phys So far, the Cortina family phys (CS4340 in this particular case) are only supported in fixed link mode (via fixed_phy_register). The generic 10G phy driver does not work well with the phylib state machine, when the phy is registered via of_phy_connect. This prohibits the user from describing the phy nodes in the device tree. In order to support this scenario, and to properly describe the board device tree, add a minimal Cortina driver that reads the status from the right register. With the generic 10G C45 driver, the kernel will print messages like: [ 0.226521] mdio_bus 8b96000: Error while reading PHY16 reg at 1.6 [ 0.232780] mdio_bus 8b96000: Error while reading PHY16 reg at 1.5 v3 -> v4: - Add trademark info. - Minor documentation entry consistency nit. v2 -> v3: - Add documentation entry. v1 -> v2: - Change approach for getting the phy_id from hacking get_phy_c45_ids to describing the device in the device tree via ethernet-phy-id. More patch version changes per individual patches. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30dt-bindings: net: Add Cortina device tree bindingsBogdan Purcareata
Add device tree description info for Cortina 10G phy devices. Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: phy: Add Cortina CS4340 driverBogdan Purcareata
Add basic support for Cortina PHY drivers. Support only CS4340 for now. The phys are not compatible with IEEE 802.3 clause 22/45 registers. Implement proper read_status support. The generic 10G phy driver causes bus register access errors. The driver should be described using the "ethernet-phy-id" device tree compatible. Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30Merge branch 'qed-DCBx-and-Attentions-series'David S. Miller
Yuval Mintz says: ==================== qed: DCBx and Attentions series The series contains 2 major components [& some odd bits]: - The first 3 patches are DCBx-related, containg missing bits in the implementation, correcting existing API and removing code no longer necessary. - Most of the remaining patches are interrupt/hw-attention related, adding some differeneces relating to QL41xxx and QL45xxx differences. While at it, they also remove a large chunk of unnecessary structure definitions. The series also contain a patch [#10] that was accidently missing from a previous series. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Cache alignemnt padding to match hostMintz, Yuval
Improve PCI performance by adjusting padding sizes to match those of the host machine's cacheline. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Mask parities after occuranceMintz, Yuval
Parities might exhibit a flood behavior since we re-enable the attention line without preventing the parity from re-triggering the assertion. Mask the source in AEU until the parity would be handled. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Print multi-bit attentions properlyMintz, Yuval
In strucuture reflecting the AEU hw block some entries represent multiple HW bits, and the associated name is in fact a pattern. Today, whenever such an attention would be asserted the resulted prints would show the pattern string instead of indicating which of the possible bits was set. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Diffrentiate adapter-specific attentionsMintz, Yuval
There are 4 attention bits in AEU that have different meaning for QL45xxx and QL41xxx adapters. Instead of doing a massive infrastructure change in favor of these bits, we implement a point fix where only those four would change meaning dependent on the adapter involved. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Get rid of the attention-arraysMintz, Yuval
We have almost all the necessary information regarding attentions in the logic employed for taking register dumps. Add some more and get rid of the seperate implementation we have today for identifying & printing various attention sources. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Support dynamic s-tag changeMintz, Yuval
In case management firmware indicates a change in the used S-tag, propagate the configuration to HW and FW. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: QL41xxx VF MSI-x tableMintz, Yuval
The QL41xxx adapters' PCI allows a single configuration for the MSI-x table size of all child VFs of a given PF. The existing code wouldn't cause the management firmware to set that value, meaning the VFs would retain the default MSI-x table size. Introduce a new scheme so that whenever a VF is enabled, driver would set the number of MSI-x to be the maximum over the various VFs' needs. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30qed: Don't inherit RoCE DCBx for V2Sudarsana Reddy Kalluru
Older firmware used by device didn't distinguish between RoCE and RoCE V2 from DCBx configuration perspective, and as a result we've used to take a the RoCE-related configuration and apply to it for both. Since we now support configuring each its own values, there's no reason to reflect [& configure] that both are using the same. 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-05-30qed: Correct DCBx update schemeSudarsana Reddy Kalluru
Instead of using a boolean value that propagates to FW configuration, use the proper firmware HSI values. 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-05-30qed: Add missing static/local dcbx infoSudarsana Reddy Kalluru
Some getters are not getting filled with the correct information regarding local DCBx. Fixes: 49632b5822ea ("qed: Add support for static dcbx.") 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-05-30Merge branch 'net-more-extack'David S. Miller
David Ahern says: ==================== net: another round of extack handling for routing This set focuses on passing extack through lwtunnel and MPLS with additional catches for IPv4 route add and minor cleanups in MPLS encountered passing the extack arg around. v2 - mindful of bloat adding duplicate messages + refactored prefix and prefix length checks in ipv4's fib_table_insert and fib_table_del + refactored label check in mpls - split mpls cleanups into 2 patches + move nla_get_via up in af_mpls to avoid forward declaration ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: mpls: remove unnecessary initialization of errDavid Ahern
err is initialized to EINVAL and not used before it is set again. Remove the unnecessary initialization. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-30net: mpls: Make nla_get_via in af_mpls.cDavid Ahern
nla_get_via is only used in af_mpls.c. Remove declaration from internal.h and move up in af_mpls.c before first use. Code move only; no functional change intended. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>