bianbu-linux-6.6/drivers/net
Preethi Banala eb0208ec42 ice: Split irq_tracker into sw_irq_tracker and hw_irq_tracker
For the PF driver, when mapping interrupts to queues, we need to request
IRQs from the kernel and we also have to allocate interrupts from
the device.

Similarly, when the VF driver (iavf.ko) initializes, it requests the kernel
IRQs that it needs but it can't directly allocate interrupts in the device.
Instead, it sends a mailbox message to the ice driver, which then allocates
interrupts in the device on the VF driver's behalf.

Currently both these cases end up having to reserve entries in
pf->irq_tracker but irq_tracker itself is sized based on how many vectors
the PF driver needs. Under the right circumstances, the VF driver can fail
to get entries in irq_tracker, which will result in the VF driver failing
probe.

To fix this, sw_irq_tracker and hw_irq_tracker are introduced. The
sw_irq_tracker tracks only the PF's IRQ request and doesn't play any
role in VF init. hw_irq_tracker represents the device's interrupt space.
When interrupts have to be allocated in the device for either PF or VF,
hw_irq_tracker will be looked up to see if the device has run out of
interrupts.

Signed-off-by: Preethi Banala <preethi.banala@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-10-02 07:16:19 -07:00
..
appletalk net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT 2018-09-13 10:35:57 -07:00
arcnet
bonding bonding: use netpoll_poll_dev() helper 2018-09-23 21:55:24 -07:00
caif
can can: Remove SKB list assumptions in rx-offload.c 2018-09-10 10:06:54 -07:00
dsa net: phy: Add helper for advertise to lcl value 2018-10-01 22:55:36 -07:00
ethernet ice: Split irq_tracker into sw_irq_tracker and hw_irq_tracker 2018-10-02 07:16:19 -07:00
fddi net: fddi: skfp: Remove unused function 2018-09-21 19:05:06 -07:00
fjes
hamradio
hippi
hyperv hv_netvsc: Fix rndis_per_packet_info internal field initialization 2018-10-01 23:15:17 -07:00
ieee802154 ieee802154: hwsim: using right kind of iteration 2018-08-14 09:58:57 -07:00
ipvlan
netdevsim
phy net: phy: Convert to using %pOFn instead of device_node.name 2018-10-01 23:29:37 -07:00
plip
ppp Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-18 09:33:27 -07:00
slip
team
usb net: lan78xx: Avoid unnecessary self assignment 2018-09-21 19:05:57 -07:00
vmxnet3
wan net: wan: remove redundant include 2018-09-18 20:08:08 -07:00
wimax wimax: usb-tx: mark expected switch fall-through 2018-08-11 11:29:36 -07:00
wireless rtl818x: Remove SKB list assumptions. 2018-09-10 10:06:54 -07:00
xen-netback net: xen-netback: fix return type of ndo_start_xmit function 2018-09-28 10:25:11 -07:00
dummy.c
eql.c
geneve.c geneve: add ttl inherit support 2018-09-12 20:38:22 -07:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: move definition of pcpu_lstats to header file 2018-09-14 08:32:23 -07:00
macsec.c DRIVERS: net: macsec: Fix multiple coding style issues 2018-09-21 18:57:20 -07:00
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c failover: Fix error return code in net_failover_create 2018-09-08 10:28:56 -07:00
netconsole.c
nlmon.c net: move definition of pcpu_lstats to header file 2018-09-14 08:32:23 -07:00
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: remove redundant null pointer check before kfree_skb 2018-09-21 09:04:37 -07:00
thunderbolt.c net: thunderbolt: Convert to use SPDX identifier 2018-08-29 19:43:21 -07:00
tun.c Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
veth.c veth: rename pcpu_vstats as pcpu_lstats 2018-09-18 19:52:23 -07:00
virtio_net.c virtio_net: remove duplicated include from virtio_net.c 2018-08-13 09:21:05 -07:00
vrf.c
vsockmon.c net: move definition of pcpu_lstats to header file 2018-09-14 08:32:23 -07:00
vxlan.c vxlan: reduce dirty cache line in vxlan_find_mac 2018-08-29 22:07:53 -07:00
xen-netfront.c xen/netfront: don't bug in case of too many frags 2018-09-13 08:22:15 -07:00