- Nov 16, 2016
-
-
Tobias Regnery authored
Extend the driver data structures to be able to handle multiple queues. Based on the downstream driver at github.com/qca/alx Signed-off-by:
Tobias Regnery <tobias.regnery@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Tobias Regnery authored
Split the allocation of descriptor memory and the buffer allocation into a tx and rx function. This is in preparation for multiple queues where we need to iterate over the new functions. While at it drop the unneeded casting on the rx side. Signed-off-by:
Tobias Regnery <tobias.regnery@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Madalin Bucur says: ==================== dpaa_eth: Add the QorIQ DPAA Ethernet driver This patch series adds the Ethernet driver for the Freescale QorIQ Data Path Acceleration Architecture (DPAA). This version includes changes following the feedback received on previous versions from Eric Dumazet, Bob Cochran, Joe Perches, Paul Bolle, Joakim Tjernlund, Scott Wood, David Miller - thank you. Together with the driver a managed version of alloc_percpu is provided that simplifies the release of per-CPU memory. The Freescale DPAA architecture consists in a series of hardware blocks that support the Ethernet connectivity. The Ethernet driver depends upon the following drivers that are currently in the Linux kernel: - Peripheral Access Memory Unit (PAMU) drivers/iommu/fsl_* - Frame Manager (FMan) added in v4.4 drivers/net/ethernet/freescale/fman - Queue Manager (QMan), Buffer Manager (BMan) added in v4.9-rc1 drivers/soc/fsl/qbman dpaa_eth interfaces mapping to FMan MACs: dpaa_eth /eth0\ ... /ethN\ driver | | | | ------------- ---- ----------- ---- ------------- -Ports / Tx Rx \ ... / Tx Rx \ FMan | | | | -MACs | MAC0 | | MACN | / dtsec0 \ ... / dtsecN \ (or tgec) / \ / \(or memac) --------- -------------- --- -------------- --------- FMan, FMan Port, FMan SP, FMan MURAM drivers --------------------------------------------------------- FMan HW blocks: MURAM, MACs, Ports, SP --------------------------------------------------------- dpaa_eth relation to QMan, FMan: ________________________________ dpaa_eth / eth0 \ driver / \ --------- -^- -^- -^- --- --------- QMan driver / \ / \ / \ \ / | BMan | |Rx | |Rx | |Tx | |Tx | | driver | --------- |Dfl| |Err| |Cnf| |FQs| | | QMan HW |FQ | |FQ | |FQ | | | | | / \ / \ / \ \ / | | --------- --- --- --- -v- --------- | FMan QMI | | | FMan HW FMan BMI | BMan HW | ----------------------- -------- where the acronyms used above (and in the code) are: DPAA = Data Path Acceleration Architecture FMan = DPAA Frame Manager QMan = DPAA Queue Manager BMan = DPAA Buffers Manager QMI = QMan interface in FMan BMI = BMan interface in FMan FMan SP = FMan Storage Profiles MURAM = Multi-user RAM in FMan FQ = QMan Frame Queue Rx Dfl FQ = default reception FQ Rx Err FQ = Rx error frames FQ Tx Cnf FQ = Tx confirmation FQ Tx FQs = transmission frame queues dtsec = datapath three speed Ethernet controller (10/100/1000 Mbps) tgec = ten gigabit Ethernet controller (10 Gbps) memac = multirate Ethernet MAC (10/100/1000/10000) Changes from v7: - remove the debug option to use a common buffer pool for all the interfaces Changed from v6: - fixed an issue on an error path in dpaa_set_mac_address() - removed NDO operation definitions that were not needed - sorted the local variable declarations - cleaned up a few checkpatch checks - removed friendly network interface naming code Changes from v5: - adapt to the latest Q/BMan drivers API - use build_skb() on Rx path instead of buffer pool refill path - proper support for multiple buffer pools - align function, variable names, code cleanup - driver file structure cleanup Changes from v4: - addressed feedback from Scott Wood and Joe Perches - fixed spelling - fixed leak of uninitialized stack to userspace - fix prints - replace raw_cpu_ptr() with this_cpu_ptr() - remove _s from the end of structure names - remove underscores at start of functions, goto labels - remove likely in error paths - use container_of() instead of open casts - remove priv from the driver name - move return type on same line with function name - drop DPA_READ_SKB_PTR/DPA_WRITE_SKB_PTR Changes from v3: - removed bogus delay and comment in .ndo_stop implementation - addressed minor issues reported by David Miller Changes from v2: - removed debugfs, moved exports to ethtool statistics - removed congestion groups Kconfig params Changes from v1: - bpool level Kconfig options removed - print format using pr_fmt, cleaned up prints - __hot/__cold removed - gratuitous unlikely() removed - code style aligned, consistent spacing for declarations - comment formatting ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Add trace points on the hot processing path. Signed-off-by:
Ruxandra Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Export Frame Queue and Buffer Pool IDs through sysfs. Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Add a series of counters to be exported through ethtool: - add detailed counters for reception errors; - add detailed counters for QMan enqueue reject events; - count the number of fragmented skbs received from the stack; - count all frames received on the Tx confirmation path; - add congestion group statistics; - count the number of interrupts for each CPU. Signed-off-by:
Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Add support for basic ethtool operations. Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
This introduces the Freescale Data Path Acceleration Architecture (DPAA) Ethernet driver (dpaa_eth) that builds upon the DPAA QMan, BMan, PAMU and FMan drivers to deliver Ethernet connectivity on the Freescale DPAA QorIQ platforms. Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Madalin Bucur authored
Introduce managed counterparts for alloc_percpu() and free_percpu(). Add devm_alloc_percpu() and devm_free_percpu() into the managed interfaces list. Signed-off-by:
Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Andrey Vagin authored
The repair mode is used to get and restore sequence numbers and data from queues. It used to checkpoint/restore connections. Currently the repair mode can be enabled for sockets in the established and closed states, but for other states we have to dump the same socket properties, so lets allow to enable repair mode for these sockets. The repair mode reveals nothing more for sockets in other states. Signed-off-by:
Andrei Vagin <avagin@openvz.org> Acked-by:
Pavel Emelyanov <xemul@openvz.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Raghu Vatsavayi says: ==================== liquidio CN23XX VF support Following is the V6 patch series for adding VF support on CN23XX devices. This version addressed: 1) Your concern for ordering of local variable declarations from longest to shortest line. 2) Removed module parameters max_vfs, num_queues_per_{p,v}f. 3) Minor changes for fixing new checkpatch script related errors on pre-existing driver. 4) Fixed compilation issues when CONFIG_PCI_IOV/CONFIG_PCI_ATS options are disabled. 5) Modified qualifiers for printing mac addresses with pM format. I will post remaining VF patches soon after this patchseries is applied. Please apply patches in the following order as some of the patches depend on earlier patches. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
New checkpatch script shows some errors with pre-existing driver. This patch provides fix for those errors. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Updated copyrights comments and also changed some other comments alignments. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Cleaned up unnecessary comments and added some minor macros. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Cleaned up resource leaks during destroy resources by introducing more device states. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Adds support for VF related operations like mac address vlan and link changes. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Adds support for mailbox interrupt processing of various commands. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Adds support for mailbox communication between PF and VF. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Adds sysfs based support for enabling or disabling VFs. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
Adds support for configuring HW for creating VFs. Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2016-11-14 This patch series addresses some minor issues found in the recently accepted patch series for the AMD XGBE driver. The following fixes are included in this driver update series: - Fix how a mask is applied to a Clause 37 register value - Fix some coccinelle identified warnings This patch series is based on net-next. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Lendacky, Thomas authored
Fix up some warnings that were identified by coccinelle: Clean up an if/else block that can look confusing since the same statement is executed in an "else if" check and the final "else" statement. Change a variable from unsigned int to int since it is used in an if statement checking the value to be less than 0. Reported-by:
Julia Lawall <julia.lawall@lip6.fr> Signed-off-by:
Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Lendacky, Thomas authored
The application of a mask to clear an area of a clause 37 register value was not properly applied. Update the code to do the proper application of the mask. Reported-by:
Marion & Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by:
Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Michael Weiser says: ==================== sun4i-emac: Fixes for running a big-endian kernel on Cubieboard2 the following patches are what remains to be fixed in order to allow running a big-endian kernel on the Cubieboard2. The first patch fixes up endianness problems with DMA descriptors in the stmmac driver preventing it from working correctly when runnning a big-endian kernel. The second patch adds the ability to enable diagnostic messages in the sun4i-emac driver which were instrumental in finding the problem fixed by patch number three: Endianness confusion caused by dual-purpose I/O register usage in sun4i-emac. All of these have been tested successfully on a Cubieboard2 DualCard. Changes since v4: - Rebased to current master - Removed already applied patches to sunxi-mmc and sunxi-Kconfig Changes since v3: - Rebased sunxi-mmc patch against Ulf's mmc.git/next - Changed Kconfig change to enable big-endian support only for sun7i devices Changes since v2: - Fixed typo in stmmac patch causing a build failure - Added sun4i-emac patches Changes since v1: - Fixed checkpatch niggles - Added respective Cc:s ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Weiser authored
The EMAC EMAC_RX_IO_DATA_REG data register is dual-purpose: On one hand it is used to move actual packet data off the wire. This will be in wire-format and accepted as such by higher layers such as IP. Therefore it is correctly read as-is (i.e. raw) using readsl. On the other hand it provides metadata about incoming transfers to the driver such as length and checksum validation status. This data is little-endian, always and it is interpreted by the driver. Therefore it needs to be swapped to CPU endianness to make sense to the driver. This is already done for the "receive header" but not rxhdr. Read rxhdr using readl in order for sun4i-emac to work correctly when running a big-endian kernel. Signed-off-by:
Michael Weiser <michael.weiser@gmx.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: netdev@vger.kernel.org Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Weiser authored
sun4i-emac has the ability to print a number of diagnostic messages using dev_dbg depending on message level settings implemented using netif_msg_* macros. But there's no way to actually enable them. Add the ability to switch diagnostic messages on using either a module parameter debug or ethtool -s <netif> msglvl <flags>. Signed-off-by:
Michael Weiser <michael.weiser@gmx.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: netdev@vger.kernel.org Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Weiser authored
The stmmac driver does not take into account the processor may be big endian when writing the DMA descriptors. This causes the ethernet interface not to be initialised correctly when running a big-endian kernel. Change the descriptors for DMA to use __le32 and ensure they are suitably swapped before writing. Tested successfully on the Cubieboard2. Signed-off-by:
Michael Weiser <michael.weiser@gmx.de> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: netdev@vger.kernel.org Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Westphal authored
draft-ietf-tcpm-dctcp-02 says: ... when the sender receives an indication of congestion (ECE), the sender SHOULD update cwnd as follows: cwnd = cwnd * (1 - DCTCP.Alpha / 2) So, lets do this and reduce cwnd more smoothly (and faster), as per current congestion estimate. Cc: Lawrence Brakmo <brakmo@fb.com> Cc: Andrew Shewmaker <agshew@gmail.com> Cc: Glenn Judd <glenn.judd@morganstanley.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by:
Florian Westphal <fw@strlen.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Introduced a typo making the driver no longer build, *sigh*. Fixes: 42469bf5 ("net: bcm63xx_enet: Utilize phy_ethtool_nway_reset") Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philippe Reynes authored
The ethtool api {get|set}_settings is deprecated. We move this driver to new api {get|set}_link_ksettings. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Florian Fainelli says: ==================== net: phy: Centralize auto-negotation restart This patch series centralizes how ethtool::nway_reset is implemented by providing a PHYLIB function which calls into genphy_restart_aneg(). All drivers below are converted to use this new helper function. Some other have specific requirements that make them not quite suitable for a straight forward conversion. There is another patch series which implements ethtool::nway_reset using the helper function introduced that depends on this patch series. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Acked-by:
Woojung Huh <woojung.huh@microchip.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Reviewed-by:
Thomas Langer <Thomas.langer@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-