linux_dsm_epyc7002/drivers/net/ethernet
Rahul Verma 1558296251 qed: Don't use main-ptt in unrelated flows
In order to access HW registers driver needs to acquire a PTT entry
[mapping between bar memory and internal chip address].
Since acquiring PTT entries could fail [at least in theory] as their
number is finite and other flows can hold them, we reserve special PTT
entries for 'important' enough flows - ones we want to guarantee that
would not be susceptible to such issues.

One such special entry is the 'main' PTT which is meant to be used in
flows such as chip initialization and de-initialization.
However, there are other flows that are also using that same entry
for their own purpose, and might run concurrently with the original
flows [notice that for most cases using the main-ptt by mistake, such
a race is still impossible, at least today].

This patch re-organizes the various functions that currently use the
main_ptt in one of two ways:

  - If a function shouldn't use the main_ptt it starts acquiring and
    releasing it's own PTT entry and use it instead. Notice if those
    functions previously couldn't fail, they now can [as acquisition
    might fail].

  - Change the prototypes so that the main_ptt would be received as
    a parameter [instead of explicitly accessing it].
    This prevents the future risk of adding codes that introduces new
    use-cases for flows using the main_ptt, ones that might be in race
    with the actual 'main' flows.

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-04-06 14:26:31 -07:00
..
3com
8390
adaptec
adi net: bfin_mac: Remove unused stats member from struct bfin_mac_local 2017-03-27 16:01:59 -07:00
aeroflex net: greth: Utilize of_get_mac_address() 2017-03-22 12:00:39 -07:00
agere
alacritech
allwinner
alteon
altera
amazon net: ena: remove superfluous check in ena_remove() 2017-02-20 10:22:59 -05:00
amd drivers: add explicit interrupt.h includes 2017-03-30 11:05:34 -07:00
apm drivers: net: xgene-v2: misc fixes 2017-03-22 19:17:14 -07:00
apple
aquantia net:ethernet:aquantia: Reset is_gso flag when EOP reached. 2017-03-24 12:32:19 -07:00
arc
atheros
aurora
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
brocade bna: avoid writing uninitialized data into hw registers 2017-03-24 12:49:12 -07:00
cadence lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
calxeda
cavium liquidio: fix Octeon core watchdog timeout false alarm 2017-04-06 12:31:56 -07:00
chelsio cxgb4: Update IngPad and IngPack values 2017-03-22 10:53:49 -07:00
cirrus ep93xx_eth: add GRO support 2017-02-05 16:11:57 -05:00
cisco enic: add vxlan offload on tx path 2017-02-09 17:24:29 -05:00
davicom
dec
dlink
emulex be2net: Fix endian issue in logical link config command 2017-03-30 15:57:33 -07:00
ezchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
faraday ftgmac100: Rework NAPI & interrupts handling 2017-04-06 12:38:04 -07:00
freescale dpaa_eth: use AVOIDBLOCK for Tx confirmation queues 2017-04-01 12:03:31 -07:00
fujitsu
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
hp
i825xx
ibm net: ibm: emac: remove unused sysrq handler for 'c' key 2017-04-05 07:26:18 -07:00
intel Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2017-04-06 13:53:14 -07:00
marvell net: mvneta: set rx mode during resume if interface is running 2017-03-29 14:08:57 -07:00
mediatek net: mediatek: Use eth_hw_addr_random() 2017-03-09 13:16:34 -08:00
mellanox mlx4: trust shinfo->gso_segs 2017-04-06 13:27:49 -07:00
micrel net: ks8851: Added support for half-duplex SPI 2017-03-09 18:18:37 -08:00
microchip net: microchip: encx24j600: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
moxa net: moxa: fix TX overrun memory leak 2017-03-28 18:02:05 -07:00
myricom net: myricom: myri10ge: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
natsemi net: natsemi: ns83820: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
neterion net: s2io: fix typo argumnet argument 2017-02-26 11:57:58 -05:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
nuvoton net: nuvoton: w90p910: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
nvidia forcedeth: Remove return from a void function 2017-02-23 10:55:07 -05:00
nxp
oki-semi net: oki-semi: pch_gbe: use new api ethtool_{get|set}_link_ksettings 2017-02-17 12:00:14 -05:00
packetengines net: hamachi: use new api ethtool_{get|set}_link_ksettings 2017-02-17 14:06:41 -05:00
pasemi
qlogic qed: Don't use main-ptt in unrelated flows 2017-04-06 14:26:31 -07:00
qualcomm drivers: add explicit interrupt.h includes 2017-03-30 11:05:34 -07:00
rdc
realtek r8169: replace init_timer with setup_timer 2017-03-12 23:55:03 -07:00
renesas
rocker Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
samsung
seeq drivers: net: ethernet: remove incorrect __exit markups 2017-03-02 14:33:49 -08:00
sfc sfc: don't insert mc_list on low-latency firmware if it's too long 2017-04-05 18:35:21 -07:00
sgi net: sgi: ioc3-eth: use new api ethtool_{get|set}_link_ksettings 2017-03-06 17:05:39 -08:00
silan net: silan: sc92031: use new api ethtool_{get|set}_link_ksettings 2017-03-06 17:05:39 -08:00
sis net: sis: sis900: use new api ethtool_{get|set}_link_ksettings 2017-03-06 17:05:39 -08:00
smsc net: smsc: smc91x: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
stmicro net: stmmac: rx queue to dma channel mapping fix 2017-04-05 06:47:26 -07:00
sun net: sun: sungem: rix a possible null dereference 2017-03-21 17:44:46 -07:00
synopsys net: dwc-xlgmac: use dual license 2017-03-23 17:04:14 -07:00
tehuti net: tehuti: use new api ethtool_{get|set}_link_ksettings 2017-03-27 16:00:07 -07:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
tile
toshiba net: toshiba: spider_net: use new api ethtool_{get|set}_link_ksettings 2017-03-08 22:18:05 -08:00
tundra net: tundra: tsi108: use new api ethtool_{get|set}_link_ksettings 2017-03-12 19:28:07 -07:00
via net: via: via-velocity: use new api ethtool_{get|set}_link_ksettings 2017-03-12 19:28:07 -07:00
wiznet net: ethernet: wiznet: avoid format string exposure 2017-04-06 13:38:11 -07:00
xilinx net: axienet: use eth_hw_addr_random() 2017-03-06 17:15:41 -08:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethoc: Use ether_addr_copy() 2017-03-21 17:16:56 -07:00
fealnx.c
jme.c
jme.h
Kconfig net: dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet 2017-03-09 13:29:27 -08:00
korina.c
lantiq_etop.c
Makefile net: dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet 2017-03-09 13:29:27 -08:00
netx-eth.c