linux_dsm_epyc7002/drivers/net/ethernet
Grygorii Strashko be034fc140 net: ethernet: ti: cpsw: add support for ringparam configuration
The CPDMA uses one pool of descriptors for both RX and TX which by default
split between all channels proportionally depending on total number of
CPDMA channels and number of TX and RX channels. As result, more
descriptors will be consumed by TX path if there are more TX channels and
there is no way now to dedicate more descriptors for RX path.

So, add the ability to re-split CPDMA pool of descriptors between RX and TX
path via ethtool '-G' command wich will allow to configure and fix number
of descriptors used by RX and TX path, which, then, will be split between
RX/TX channels proportionally depending on RX/TX channels number and
weight. ethtool '-G' command will accept only number of RX entries and rest
of descriptors will be arranged for TX automatically.

Command:
  ethtool -G <devname> rx <number of descriptors>

defaults and limitations:
- minimum number of rx descriptors is 10% of total number of descriptors in
  CPDMA pool
- maximum number of rx descriptors is 90% of total number of descriptors in
  CPDMA pool
- by default, descriptors will be split equally between RX/TX path
- any values passed in "tx" parameter will be ignored

Usage:

 # ethtool -g eth0
	Pre-set maximums:
	RX:             7372
	RX Mini:        0
	RX Jumbo:       0
	TX:             0
	Current hardware settings:
	RX:             4096
	RX Mini:        0
	RX Jumbo:       0
	TX:             4096

 # ethtool -G eth0 rx 7372
 # ethtool -g eth0
	Ring parameters for eth0:
	Pre-set maximums:
	RX:             7372
	RX Mini:        0
	RX Jumbo:       0
	TX:             0
	Current hardware settings:
	RX:             7372
	RX Mini:        0
	RX Jumbo:       0
	TX:             820

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-07 20:48:14 -05:00
..
3com net: 3com: typhoon: typhoon_init_one: make return values more specific 2016-12-30 15:26:22 -05:00
8390 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adaptec Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adi Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
aeroflex net: phy: expose phy_aneg_done API for use by drivers 2016-11-13 00:56:26 -05:00
agere
alacritech Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
allwinner net: ethernet: sun4i-emac: Read rxhdr in CPU byte-order 2016-11-15 22:05:54 -05:00
alteon Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
altera Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
amazon
amd clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
apm net: xgene: avoid bogus maybe-uninitialized warning 2016-12-08 21:30:54 -05:00
apple
arc net: arc_emac: add dependencies on associated arches and compile test 2016-11-29 18:57:36 -05:00
atheros Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
aurora Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
brocade bna: use designated initializers 2016-12-17 11:56:57 -05:00
cadence net: macb: Updated resource allocation function calls to new version of API. 2017-01-03 09:35:42 -05:00
calxeda net: calxeda: xgmac: use new api ethtool_{get|set}_link_ksettings 2016-12-05 15:34:33 -05:00
cavium liquidio: fix wrong information about channels reported to ethtool 2017-01-06 15:44:19 -05:00
chelsio cxgb4: Add port description for new cards. 2017-01-06 16:23:40 -05:00
cirrus net: cirrus: ep93xx: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
cisco enic: set skb->hash type properly 2016-11-02 15:32:53 -04:00
davicom net: davicom: dm9000: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
dec net: dec: winbond-840: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
dlink net: dlink: sundance: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
ezchip
faraday net: faraday: ftmac100: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
fujitsu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hisilicon net: hix5hd2_gmac: fix compatible strings name 2016-12-20 14:12:29 -05:00
hp
i825xx
ibm Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
intel igb: Fix hw_dbg logging in igb_update_flash_i210 2017-01-06 02:23:22 -08:00
marvell ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
micrel
microchip encx24j600: Fix some checkstyle warnings 2016-12-16 13:31:47 -05:00
moxa
myricom
natsemi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
neterion
netronome bpf: xdp: Allow head adjustment in XDP prog 2016-12-08 14:25:13 -05:00
nuvoton
nvidia
nxp
oki-semi
packetengines Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pasemi
qlogic qed*: Advance driver versions to 8.10.10.20. 2017-01-01 21:02:14 -05:00
qualcomm net: qcom/emac: don't try to claim clocks on ACPI systems 2016-12-17 10:22:14 -05:00
rdc r6040: move spinlock in r6040_close as SOFTIRQ-unsafe lock order detected 2016-12-17 21:35:12 -05:00
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-27 16:04:37 -08:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
rocker ipv4: fib: Replay events when registering FIB notifier 2016-12-03 19:29:35 -05:00
samsung Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
sgi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
silan
sis Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
smsc Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-05 11:03:07 -05:00
sun Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
synopsys Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
tehuti
ti net: ethernet: ti: cpsw: add support for ringparam configuration 2017-01-07 20:48:14 -05:00
tile ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
tundra
via Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wiznet
xilinx net: xilinx: emaclite: Remove xemaclite_remove_ndev() 2017-01-05 11:29:22 -05:00
xircom Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
xscale net: ethernet: ixp4xx_eth: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
dnet.c
dnet.h
ec_bhf.c ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
ethoc.c net: ethoc: Remove unused members from struct ethoc 2017-01-05 11:26:59 -05:00
fealnx.c net: fealnx: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
jme.c
jme.h
Kconfig ethernet: sfc: Add Kconfig entry for vendor Solarflare 2016-12-20 14:19:38 -05:00
korina.c net: korina: Fix NAPI versus resources freeing 2016-12-26 11:26:16 -05:00
lantiq_etop.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
Makefile net: ethernet: slicoss: add slicoss gigabit ethernet driver 2016-12-06 11:24:28 -05:00
netx-eth.c