- 25 1月, 2017 40 次提交
-
-
由 stephen hemminger 提交于
Use kernel for_each_clear_bit macro to simplify finding next available send section. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Simon Xiao 提交于
Report packets and bytes transferred through a vmbus channel via ethtool. This supersedes need for per-cpu statistics. Example: $ ethtool -S eth0 NIC statistics: ... tx_queue_0_packets: 3523179 tx_queue_0_bytes: 505370920 rx_queue_0_packets: 41430490 rx_queue_0_bytes: 62714661254 tx_queue_1_packets: 0 tx_queue_1_bytes: 0 rx_queue_1_packets: 0 rx_queue_1_bytes: 0 ... Reviewed-by: NLong Li <longli@microsoft.com> Reviewed-by: NK. Y. Srinivasan <kys@microsoft.com> Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com> Signed-off-by: NSimon Xiao <sixiao@microsoft.com> Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Most drivers do not increment transmit statistics until after the transmit is completed. This will also be necessary for BQL support. Slight additional complexity because the netvsc driver aggregates multiple packets into one transmit. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Since now keep track of per-queue outstanding sends, we can avoid one atomic update by removing no longer needed per-device atomic. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
All caller's already have pointer to netvsc_device so pass it. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
All the caller's/callee's know that the format of the device_add parameter is a netvsc_device_info struct. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Do manual optimizations of receive path: - remove checks for impossible conditions (but keep checks for bad data from host) - pass argument down, rather than having callee recompute what is already known - remove indirection about receive buffer datalength - remove dependence on VLAN_TAG_PRESENCE - use _hot/_cold and likely/unlikely Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Put all the per-channel state together in one data struct. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Fixes set but never used warnings Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
The netvsc select queue function was missing many of the flow caching features that exist in default tx queue selection. Add the same logic to remember queue based on socket and implement two level mapping (like RSS). Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Allow setting receive indirection table. Also uses the system standard for initialization. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
This allows for number of channels to be managed in a manner similar to existing hardware drivers. It also removes the restriction of maximum 8 channels and allows as many as the host will allow. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
For some cases it is useful to be able to change RSS key value. For example, replacing RSS key with a symmetric hash. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Report current components used in RSS hash. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Report actual number of receive queues to ethtool. Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
Redo how Hyper-V network driver negotiates offload features. Query the host to determine offload settings, and use the result. Also: * disable IPv4 header checksum offload (not used by Linux) * enable TSO only if host supports * enable UDP checksum offload if supported * don't advertise support for checksumming of non-IP protocols * adjust GSO maximum segment size * enable HIGHDMA Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 stephen hemminger 提交于
The ring buffer mapping now handles the wraparound case inside get_next_pkt_raw. Therefore it is not necessary to have an additional special receive staging buffer. See commit 1562edaed8c164ca5199 ("Drivers: hv: ring_buffer: count on wrap around mappings") Signed-off-by: NStephen Hemminger <sthemmin@microsoft.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David S. Miller 提交于
Andrew Lunn says: ==================== External MDIO support for mv88e6xxx The mv88e6390 family of switches has two MDIO busses, one internal to the switch and a second one for external usage. Older generations of switches have a single MDIO bus, which is used both internally and externally. Refactor the existing MDIO driver code to allow for multiple MDIO busses, and implement the second MDIO bus on mv88e6390. This is a rewrite of a patch previously submitted as part of "Batch 3". It has been broken up into 5 smaller patches. A compatible string is now used in the device tree to indicate the external MDIO bus. ==================== Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Andrew Lunn 提交于
With all the infrastructure in place, implement access to the external MDIO bus on the 6390 family. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Andrew Lunn 提交于
The mv88e6390 has multiple MDIO busses. Generalize the parsing of the device tree to support multiple mdio nodes. The external mdio bus has a compatible strings to indicate it is external. Keep a linked list of busses, placing the external mdio bus at the tail of the list. When within the driver an mdio bus is needed, e.g. for EEE or SERDES, use the head of the list which should be the internal bus. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Andrew Lunn 提交于
Have the MDIO bus driver code allocate a private structure and make the chip a member of it. This will allow us to add further members in the future. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Andrew Lunn 提交于
In preparation for supporting multiple MDIO busses, pass the mii_bus structure to all PHY operations. It will in future then be clear on which MDIO bus the operation should be performed. For reads/write from phylib, the mii_bus is readily available. However some internal code also access the PHY, e.g. for EEE and SERDES. Make this code use the one and only currently available MDIO bus. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Andrew Lunn 提交于
The mv88e6165 family has the internal PHYs mapped directly onto the SMI register space as the switch. So the registers can be read directly. Put a wrapper around this, in preparation for changing the signature in order to support the external MDIO bus of the 6390. Signed-off-by: NAndrew Lunn <andrew@lunn.ch> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Colin Ian King 提交于
Table sctp_timer_tbl is missing a TIMEOUT_RECONF string so add this in. Also compare timeout with the size of the array sctp_timer_tbl rather than SCTP_EVENT_TIMEOUT_MAX. Also add a build time check that SCTP_EVENT_TIMEOUT_MAX is correct so we don't ever get this kind of mismatch between the table and SCTP_EVENT_TIMEOUT_MAX in the future. Kudos to Marcelo Ricardo Leitner for spotting the missing string and suggesting the build time sanity check. Fixes CoverityScan CID#1397639 ("Out-of-bounds read") Fixes: 7b9438de ("sctp: add stream reconf timer") Signed-off-by: NColin Ian King <colin.king@canonical.com> Acked-by: NNeil Horman <nhorman@tuxdriver.com> Reviewed-by: NXin Long <lucien.xin@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David S. Miller 提交于
David VomLehn says: ==================== net: ethernet: aquantia: Add AQtion 2.5/5 GB NIC driver This series introduces the AQtion NIC driver for the aQuantia AQC107/AQC108 network devices. v1: Initial version v2: o Make necessary drivers/net/ethernet changes to integrate software o Drop intermediate atlantic directory o Remove Makefile things only appropriate to out of tree module building v3: o Move changes to drivers/net/ethernet/{Kconfig,Makefile} to the last patch to ensure clean bisection. o Removed inline attribute aq_hw_write_req() as it was defined in only one .c file. o #included pci.h in aq_common.h to get struct pci definition. o Modified code to unlock based execution flow rather than using a flag. o Made a number of functions that were only used in a single file static. o Cleaned up error and return code handling in various places. o Remove AQ_CFG_IP_ALIGN definition. o Other minor code clean up. v4: o Using do_div for 64 bit division. o Modified NIC statistics code. o Using build_skb instead netdev_alloc_skb for single fragment packets. o Removed extra aq_nic.o from Makefile v5: o Removed extra newline at the end of the files. v6: o Removed unnecessary cast from void*. o Reworked strings array for ethtool statistics. o Added stringset == ETH_SS_STATS checking. o AQ_OBJ_HEADER replaced to aq_obj_header_s struct. o AQ_OBJ_SET/TST/CLR macroses replaced to inline functions. o Driver sources placed in to atlantic directory. o Fixed compilation warnings (Make W=1) o Added firmware version checking. o Code cleaning. v7 o Removed unnecessary cast from memory allocation function (aq_ring.c). v8 o Switched to using kcalloc instead kzalloc. o Now provide bus_info for ethtool o Used div() to avoid __bad_udelay build error. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> ==================== Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Modify the drivers/net/ethernet/{Makefile,Kconfig} file to make them a part of the network drivers build. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add definitions that support receive side scaling. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add the driver interfaces required for support by the ethtool utility. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add functions to interface with the hardware and some utility functions. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add common functions for Atlantic hardware abstraction layer. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add functions that handle the PCI bus interface. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add functions to manululate the vector of receive and transmit rings. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel.Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add Atlantic A0 and B0 specific functions. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add support for code specific to the Atlantic NIC. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add definitions of functions that interface directly with the hardware. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel.Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add code to support the transmit and receive ring buffers. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Add files containing the functions and definitions used in common in different functional areas. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 David VomLehn 提交于
Patches to create the make and configuration files. Signed-off-by: NAlexander Loktionov <Alexander.Loktionov@aquantia.com> Signed-off-by: NDmitrii Tarakanov <Dmitrii.Tarakanov@aquantia.com> Signed-off-by: NPavel Belous <Pavel.Belous@aquantia.com> Signed-off-by: NDmitry Bezrukov <Dmitry.Bezrukov@aquantia.com> Signed-off-by: NDavid M. VomLehn <vomlehn@texas.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Florian Fainelli 提交于
We may be able to see invalid Broadcom tags when the hardware and drivers are misconfigured, or just while exercising the error path. Instead of flooding the console with messages, flat out drop the packet. Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Stephen Boyd 提交于
After commit 51b7b1c3 (KSZ8851-SNL: Add ethtool support for EEPROM via eeprom_93cx6, 2011-11-21) this structure member is unused. Delete it. Signed-off-by: NStephen Boyd <stephen.boyd@linaro.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-