Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from torvalds:master #1643

Merged
merged 89 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
9b3058d
MAINTAINERS: remove myself as iwlwifi driver maintainer
ggreenma Jan 2, 2024
353d321
wifi: iwlwifi: fix double-free bug
jmberg-intel Jan 23, 2024
b743287
wifi: cfg80211: fix wiphy delayed work queueing
jmberg-intel Jan 25, 2024
3a3ef39
wifi: iwlwifi: mvm: skip adding debugfs symlink for reconfig
benzea Jan 23, 2024
1b023d4
wifi: mac80211: Drop WBRF debugging statements
superm1 Jan 17, 2024
e4ad71e
MAINTAINERS: wifi: brcm80211: cleanup entry
Jan 26, 2024
4451e8e
pinctrl: amd: Add IRQF_ONESHOT to the interrupt request
superm1 Jan 23, 2024
5b778e1
wifi: fill in MODULE_DESCRIPTION()s for wlcore
leitao Jan 30, 2024
2f2b503
wifi: fill in MODULE_DESCRIPTION()s for wl1251 and wl12xx
leitao Jan 30, 2024
257ca10
wifi: fill in MODULE_DESCRIPTION()s for Broadcom WLAN
leitao Jan 30, 2024
f8782ea
wifi: fill in MODULE_DESCRIPTION()s for ar5523
leitao Jan 30, 2024
e063d2a
wifi: fill in MODULE_DESCRIPTION()s for wcn36xx
leitao Jan 30, 2024
714ea2f
wifi: fill in MODULE_DESCRIPTION()s for p54spi
leitao Jan 30, 2024
35337ac
wifi: fill in MODULE_DESCRIPTION()s for wl18xx
leitao Jan 30, 2024
c901388
wifi: fill in MODULE_DESCRIPTION()s for wilc1000
leitao Jan 30, 2024
f3f8f05
wifi: fill in MODULE_DESCRIPTION()s for mt76 drivers
leitao Jan 30, 2024
aa125f2
wifi: iwlwifi: remove extra kernel-doc
jmberg-intel Jan 28, 2024
46eba19
net: stmmac: xgmac: fix handling of DPP safety error for DMA channels
Jan 31, 2024
177fbbc
wifi: cfg80211: detect stuck ECSA element in probe resp
jmberg-intel Jan 29, 2024
35e2385
wifi: mac80211: improve CSA/ECSA connection refusal
jmberg-intel Jan 29, 2024
9480adf
wifi: mac80211: fix RCU use in TDLS fast-xmit
jmberg-intel Jan 29, 2024
dd6c064
wifi: mac80211: set station RX-NSS on reconfig
jmberg-intel Jan 29, 2024
733c498
wifi: mac80211: fix driver debugfs for vif type change
jmberg-intel Jan 29, 2024
86b2dac
wifi: mac80211: initialize SMPS mode correctly
jmberg-intel Jan 29, 2024
178e9d6
wifi: mac80211: fix unsolicited broadcast probe config
jmberg-intel Jan 29, 2024
a0b4f22
wifi: mac80211: fix waiting for beacons logic
jmberg-intel Jan 31, 2024
c042600
wifi: mac80211: adding missing drv_mgd_complete_tx() call
jmberg-intel Jan 31, 2024
62a6183
wifi: mac80211: accept broadcast probe responses on 6 GHz
jmberg-intel Jan 29, 2024
fe92f87
net: Fix from address in memcpy_to_iter_csum()
michaellass Jan 31, 2024
1fa942f
wifi: iwlwifi: mvm: fix a battery life regression
egrumbach Jan 28, 2024
16867c3
wifi: iwlwifi: exit eSR only after the FW does
Miriam-Rachel Feb 1, 2024
a23c0af
wifi: iwlwifi: do not announce EPCS support
benzea Feb 1, 2024
5bdda00
wifi: brcmfmac: Adjust n_channels usage for __counted_by
kees Jan 26, 2024
ba5e127
netdevsim: avoid potential loop in nsim_dev_trap_report_work()
Feb 1, 2024
2e7d3b6
net: atlantic: Fix DMA mapping for PTP hwts ring
Feb 1, 2024
cb9f4a3
selftests: net: cut more slack for gro fwd tests.
Feb 1, 2024
d75df75
selftests: net: fix setup_ns usage in rtnetlink.sh
Feb 1, 2024
e71e016
selftests: net: fix tcp listener handling in pmtu.sh
Feb 1, 2024
691bb4e
selftests: net: avoid just another constant wait
Feb 1, 2024
010e03d
Merge branch 'selftests-net-more-fixes'
kuba-moo Feb 3, 2024
d7f5fb3
tsnep: Fix mapping for zero copy XDP_TX action
Jan 31, 2024
d75abee
tunnels: fix out of bounds access when building IPv6 PMTU error
atenart Feb 1, 2024
f361617
atm: idt77252: fix a memleak in open_card_ubr0
AlexiousLu Feb 1, 2024
b09b58e
octeontx2-pf: Fix a memleak otx2_sq_init
AlexiousLu Feb 1, 2024
9cae43d
hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
Feb 2, 2024
eef00a8
inet: read sk->sk_family once in inet_recv_error()
Feb 2, 2024
b3d4f7f
nfp: use correct macro for LengthSelect in BAR config
dan-basilio Feb 2, 2024
1a1c133
nfp: flower: prevent re-adding mac index for bonded port
daniel-devilliers Feb 2, 2024
0f4d6f0
nfp: enable NETDEV_XDP_ACT_REDIRECT feature flag
jamesroberthershaw Feb 2, 2024
fdeba0b
Merge branch 'nfp-fixes'
davem330 Feb 5, 2024
f310414
rxrpc: Fix generation of serial numbers to skip zero
dhowells Feb 2, 2024
e7870cf
rxrpc: Fix delayed ACKs to not set the reference serial number
dhowells Feb 2, 2024
6f769f2
rxrpc: Fix response to PING RESPONSE ACKs to a dead call
dhowells Feb 2, 2024
41b7fa1
rxrpc: Fix counting of new acks and nacks
dhowells Feb 2, 2024
645eb54
Merge branch 'rxrpc-fixes'
davem330 Feb 5, 2024
a19747c
selftests: net: let big_tcp test cope with slow env
Feb 2, 2024
0647903
wifi: mt76: mt7996: fix fortify warning
nbd168 Feb 3, 2024
3871aa0
tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
Jan 31, 2024
b083d24
selftests/net: Amend per-netns counter checks
0x7f454c46 Feb 2, 2024
1ce2654
net: stmmac: xgmac: fix a typo of register name in DPP safety handling
Feb 3, 2024
1279f9d
af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC.
q2ven Feb 3, 2024
5808672
devlink: avoid potential loop in devlink_rel_nested_in_notify_work()
Feb 5, 2024
cb88cb5
ppp_async: limit MRU to 64K
Feb 5, 2024
38cc3c6
net: stmmac: protect updates of 64-bit statistics counters
ptesarik Feb 3, 2024
4b00d0c
selftests: cmsg_ipv6: repeat the exact packet
kuba-moo Feb 4, 2024
5001bfe
MAINTAINERS: Maintainer change for rds
allisonhenderson Feb 5, 2024
75428f5
net: intel: fix old compiler regressions
jbrandeb Feb 6, 2024
335bac1
Merge tag 'wireless-2024-02-06' of git://git.kernel.org/pub/scm/linux…
kuba-moo Feb 7, 2024
36fa8d6
netfilter: nft_compat: narrow down revision to unsigned 8-bits
ummakynes Feb 1, 2024
292781c
netfilter: nft_compat: reject unused compat flag
ummakynes Feb 1, 2024
d694b75
netfilter: nft_compat: restrict match/target protocol to u16
ummakynes Feb 1, 2024
ab0beaf
netfilter: nft_set_pipapo: remove static in nft_pipapo_get()
ummakynes Feb 2, 2024
9def04e
net: ethernet: ti: cpsw_new: enable mac_managed_pm to fix mdio
sinthu-raja Feb 6, 2024
bc4ce46
net: ethernet: ti: cpsw: enable mac_managed_pm to fix mdio
sinthu-raja Feb 6, 2024
03fa49a
Merge branch 'cpsw-enable-mac_managed_pm-to-fix-mdio'
Feb 8, 2024
db010ff
octeontx2-af: Initialize maps.
Feb 6, 2024
27c5a09
netfilter: ipset: Missing gc cancellations fixed
Feb 4, 2024
2fe8a23
s390/qeth: Fix potential loss of L3-IP@ in case of network issues
SandyWinter Feb 6, 2024
fa173a1
netfilter: ctnetlink: fix filtering for zone 0
felixhuettner Feb 5, 2024
38ed1c7
netfilter: nft_ct: reject direction for ct id
ummakynes Feb 5, 2024
7395dfa
netfilter: nf_tables: use timestamp to check for set element timeout
ummakynes Feb 5, 2024
f82777e
netfilter: nfnetlink_queue: un-break NF_REPEAT
Feb 6, 2024
60c0c23
netfilter: nft_set_rbtree: skip end interval element from gc
ummakynes Feb 7, 2024
76313d1
netfilter: nft_set_pipapo: store index in scratch maps
Feb 7, 2024
47b1c03
netfilter: nft_set_pipapo: add helper to release pcpu scratch area
Feb 7, 2024
5a8cdf6
netfilter: nft_set_pipapo: remove scratch_aligned pointer
Feb 8, 2024
63e4b9d
Merge tag 'nf-24-02-08' of git://git.kernel.org/pub/scm/linux/kernel/…
Feb 8, 2024
b0d5d0f
Merge tag 'pinctrl-v6.8-2' of git://git.kernel.org/pub/scm/linux/kern…
torvalds Feb 8, 2024
1f719a2
Merge tag 'net-6.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Feb 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -4169,14 +4169,14 @@ F: drivers/firmware/broadcom/tee_bnxt_fw.c
F: drivers/net/ethernet/broadcom/bnxt/
F: include/linux/firmware/broadcom/tee_bnxt_fw.h

BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER
M: Arend van Spriel <aspriel@gmail.com>
M: Franky Lin <franky.lin@broadcom.com>
M: Hante Meuleman <hante.meuleman@broadcom.com>
BROADCOM BRCM80211 IEEE802.11 WIRELESS DRIVERS
M: Arend van Spriel <arend.vanspriel@broadcom.com>
L: linux-wireless@vger.kernel.org
L: brcm80211@lists.linux.dev
L: brcm80211-dev-list.pdl@broadcom.com
S: Supported
F: drivers/net/wireless/broadcom/brcm80211/
F: include/linux/platform_data/brcmfmac.h

BROADCOM BRCMSTB GPIO DRIVER
M: Doug Berger <opendmb@gmail.com>
Expand Down Expand Up @@ -11127,7 +11127,6 @@ S: Supported
F: drivers/net/wireless/intel/iwlegacy/

INTEL WIRELESS WIFI LINK (iwlwifi)
M: Gregory Greenman <gregory.greenman@intel.com>
M: Miri Korenblit <miriam.rachel.korenblit@intel.com>
L: linux-wireless@vger.kernel.org
S: Supported
Expand Down Expand Up @@ -18432,7 +18431,7 @@ S: Supported
F: drivers/infiniband/sw/rdmavt

RDS - RELIABLE DATAGRAM SOCKETS
M: Santosh Shilimkar <santosh.shilimkar@oracle.com>
M: Allison Henderson <allison.henderson@oracle.com>
L: netdev@vger.kernel.org
L: linux-rdma@vger.kernel.org
L: rds-devel@oss.oracle.com (moderated for non-subscribers)
Expand Down
2 changes: 2 additions & 0 deletions drivers/atm/idt77252.c
Original file line number Diff line number Diff line change
Expand Up @@ -2930,6 +2930,8 @@ open_card_ubr0(struct idt77252_dev *card)
vc->scq = alloc_scq(card, vc->class);
if (!vc->scq) {
printk("%s: can't get SCQ.\n", card->name);
kfree(card->vcs[0]);
card->vcs[0] = NULL;
return -ENOMEM;
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
Original file line number Diff line number Diff line change
Expand Up @@ -993,7 +993,7 @@ int aq_ptp_ring_alloc(struct aq_nic_s *aq_nic)
return 0;

err_exit_hwts_rx:
aq_ring_free(&aq_ptp->hwts_rx);
aq_ring_hwts_rx_free(&aq_ptp->hwts_rx);
err_exit_ptp_rx:
aq_ring_free(&aq_ptp->ptp_rx);
err_exit_ptp_tx:
Expand All @@ -1011,7 +1011,7 @@ void aq_ptp_ring_free(struct aq_nic_s *aq_nic)

aq_ring_free(&aq_ptp->ptp_tx);
aq_ring_free(&aq_ptp->ptp_rx);
aq_ring_free(&aq_ptp->hwts_rx);
aq_ring_hwts_rx_free(&aq_ptp->hwts_rx);

aq_ptp_skb_ring_release(&aq_ptp->skb_ring);
}
Expand Down
13 changes: 13 additions & 0 deletions drivers/net/ethernet/aquantia/atlantic/aq_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,19 @@ void aq_ring_free(struct aq_ring_s *self)
}
}

void aq_ring_hwts_rx_free(struct aq_ring_s *self)
{
if (!self)
return;

if (self->dx_ring) {
dma_free_coherent(aq_nic_get_dev(self->aq_nic),
self->size * self->dx_size + AQ_CFG_RXDS_DEF,
self->dx_ring, self->dx_ring_pa);
self->dx_ring = NULL;
}
}

unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data)
{
unsigned int count;
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/aquantia/atlantic/aq_ring.h
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ int aq_ring_rx_fill(struct aq_ring_s *self);
int aq_ring_hwts_rx_alloc(struct aq_ring_s *self,
struct aq_nic_s *aq_nic, unsigned int idx,
unsigned int size, unsigned int dx_size);
void aq_ring_hwts_rx_free(struct aq_ring_s *self);
void aq_ring_hwts_rx_clean(struct aq_ring_s *self, struct aq_nic_s *aq_nic);

unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data);
Expand Down
16 changes: 12 additions & 4 deletions drivers/net/ethernet/engleder/tsnep_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -719,17 +719,25 @@ static void tsnep_xdp_xmit_flush(struct tsnep_tx *tx)

static bool tsnep_xdp_xmit_back(struct tsnep_adapter *adapter,
struct xdp_buff *xdp,
struct netdev_queue *tx_nq, struct tsnep_tx *tx)
struct netdev_queue *tx_nq, struct tsnep_tx *tx,
bool zc)
{
struct xdp_frame *xdpf = xdp_convert_buff_to_frame(xdp);
bool xmit;
u32 type;

if (unlikely(!xdpf))
return false;

/* no page pool for zero copy */
if (zc)
type = TSNEP_TX_TYPE_XDP_NDO;
else
type = TSNEP_TX_TYPE_XDP_TX;

__netif_tx_lock(tx_nq, smp_processor_id());

xmit = tsnep_xdp_xmit_frame_ring(xdpf, tx, TSNEP_TX_TYPE_XDP_TX);
xmit = tsnep_xdp_xmit_frame_ring(xdpf, tx, type);

/* Avoid transmit queue timeout since we share it with the slow path */
if (xmit)
Expand Down Expand Up @@ -1273,7 +1281,7 @@ static bool tsnep_xdp_run_prog(struct tsnep_rx *rx, struct bpf_prog *prog,
case XDP_PASS:
return false;
case XDP_TX:
if (!tsnep_xdp_xmit_back(rx->adapter, xdp, tx_nq, tx))
if (!tsnep_xdp_xmit_back(rx->adapter, xdp, tx_nq, tx, false))
goto out_failure;
*status |= TSNEP_XDP_TX;
return true;
Expand Down Expand Up @@ -1323,7 +1331,7 @@ static bool tsnep_xdp_run_prog_zc(struct tsnep_rx *rx, struct bpf_prog *prog,
case XDP_PASS:
return false;
case XDP_TX:
if (!tsnep_xdp_xmit_back(rx->adapter, xdp, tx_nq, tx))
if (!tsnep_xdp_xmit_back(rx->adapter, xdp, tx_nq, tx, true))
goto out_failure;
*status |= TSNEP_XDP_TX;
return true;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/i40e/i40e_dcb.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
#define I40E_LLDP_TLV_SUBTYPE_SHIFT 0
#define I40E_LLDP_TLV_SUBTYPE_MASK (0xFF << I40E_LLDP_TLV_SUBTYPE_SHIFT)
#define I40E_LLDP_TLV_OUI_SHIFT 8
#define I40E_LLDP_TLV_OUI_MASK (0xFFFFFF << I40E_LLDP_TLV_OUI_SHIFT)
#define I40E_LLDP_TLV_OUI_MASK (0xFFFFFFU << I40E_LLDP_TLV_OUI_SHIFT)

/* Defines for IEEE ETS TLV */
#define I40E_IEEE_ETS_MAXTC_SHIFT 0
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/ice/ice_osdep.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#define rd64(a, reg) readq((a)->hw_addr + (reg))

#define ice_flush(a) rd32((a), GLGEN_STAT)
#define ICE_M(m, s) ((m) << (s))
#define ICE_M(m, s) ((m ## U) << (s))

struct ice_dma_mem {
void *va;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/ice/ice_type.h
Original file line number Diff line number Diff line change
Expand Up @@ -1072,7 +1072,7 @@ struct ice_aq_get_set_rss_lut_params {
#define ICE_OROM_VER_BUILD_SHIFT 8
#define ICE_OROM_VER_BUILD_MASK (0xffff << ICE_OROM_VER_BUILD_SHIFT)
#define ICE_OROM_VER_SHIFT 24
#define ICE_OROM_VER_MASK (0xff << ICE_OROM_VER_SHIFT)
#define ICE_OROM_VER_MASK (0xffU << ICE_OROM_VER_SHIFT)
#define ICE_SR_PFA_PTR 0x40
#define ICE_SR_1ST_NVM_BANK_PTR 0x42
#define ICE_SR_NVM_BANK_SIZE 0x43
Expand Down
31 changes: 15 additions & 16 deletions drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1850,8 +1850,8 @@ void npc_mcam_rsrcs_deinit(struct rvu *rvu)
{
struct npc_mcam *mcam = &rvu->hw->mcam;

kfree(mcam->bmap);
kfree(mcam->bmap_reverse);
bitmap_free(mcam->bmap);
bitmap_free(mcam->bmap_reverse);
kfree(mcam->entry2pfvf_map);
kfree(mcam->cntr2pfvf_map);
kfree(mcam->entry2cntr_map);
Expand Down Expand Up @@ -1904,21 +1904,20 @@ int npc_mcam_rsrcs_init(struct rvu *rvu, int blkaddr)
mcam->pf_offset = mcam->nixlf_offset + nixlf_count;

/* Allocate bitmaps for managing MCAM entries */
mcam->bmap = kmalloc_array(BITS_TO_LONGS(mcam->bmap_entries),
sizeof(long), GFP_KERNEL);
mcam->bmap = bitmap_zalloc(mcam->bmap_entries, GFP_KERNEL);
if (!mcam->bmap)
return -ENOMEM;

mcam->bmap_reverse = kmalloc_array(BITS_TO_LONGS(mcam->bmap_entries),
sizeof(long), GFP_KERNEL);
mcam->bmap_reverse = bitmap_zalloc(mcam->bmap_entries, GFP_KERNEL);
if (!mcam->bmap_reverse)
goto free_bmap;

mcam->bmap_fcnt = mcam->bmap_entries;

/* Alloc memory for saving entry to RVU PFFUNC allocation mapping */
mcam->entry2pfvf_map = kmalloc_array(mcam->bmap_entries,
sizeof(u16), GFP_KERNEL);
mcam->entry2pfvf_map = kcalloc(mcam->bmap_entries, sizeof(u16),
GFP_KERNEL);

if (!mcam->entry2pfvf_map)
goto free_bmap_reverse;

Expand All @@ -1941,21 +1940,21 @@ int npc_mcam_rsrcs_init(struct rvu *rvu, int blkaddr)
if (err)
goto free_entry_map;

mcam->cntr2pfvf_map = kmalloc_array(mcam->counters.max,
sizeof(u16), GFP_KERNEL);
mcam->cntr2pfvf_map = kcalloc(mcam->counters.max, sizeof(u16),
GFP_KERNEL);
if (!mcam->cntr2pfvf_map)
goto free_cntr_bmap;

/* Alloc memory for MCAM entry to counter mapping and for tracking
* counter's reference count.
*/
mcam->entry2cntr_map = kmalloc_array(mcam->bmap_entries,
sizeof(u16), GFP_KERNEL);
mcam->entry2cntr_map = kcalloc(mcam->bmap_entries, sizeof(u16),
GFP_KERNEL);
if (!mcam->entry2cntr_map)
goto free_cntr_map;

mcam->cntr_refcnt = kmalloc_array(mcam->counters.max,
sizeof(u16), GFP_KERNEL);
mcam->cntr_refcnt = kcalloc(mcam->counters.max, sizeof(u16),
GFP_KERNEL);
if (!mcam->cntr_refcnt)
goto free_entry_cntr_map;

Expand Down Expand Up @@ -1988,9 +1987,9 @@ int npc_mcam_rsrcs_init(struct rvu *rvu, int blkaddr)
free_entry_map:
kfree(mcam->entry2pfvf_map);
free_bmap_reverse:
kfree(mcam->bmap_reverse);
bitmap_free(mcam->bmap_reverse);
free_bmap:
kfree(mcam->bmap);
bitmap_free(mcam->bmap);

return -ENOMEM;
}
Expand Down
14 changes: 12 additions & 2 deletions drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -951,8 +951,11 @@ int otx2_sq_init(struct otx2_nic *pfvf, u16 qidx, u16 sqb_aura)
if (pfvf->ptp && qidx < pfvf->hw.tx_queues) {
err = qmem_alloc(pfvf->dev, &sq->timestamps, qset->sqe_cnt,
sizeof(*sq->timestamps));
if (err)
if (err) {
kfree(sq->sg);
sq->sg = NULL;
return err;
}
}

sq->head = 0;
Expand All @@ -968,7 +971,14 @@ int otx2_sq_init(struct otx2_nic *pfvf, u16 qidx, u16 sqb_aura)
sq->stats.bytes = 0;
sq->stats.pkts = 0;

return pfvf->hw_ops->sq_aq_init(pfvf, qidx, sqb_aura);
err = pfvf->hw_ops->sq_aq_init(pfvf, qidx, sqb_aura);
if (err) {
kfree(sq->sg);
sq->sg = NULL;
return err;
}

return 0;

}

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1084,7 +1084,7 @@ nfp_tunnel_add_shared_mac(struct nfp_app *app, struct net_device *netdev,
u16 nfp_mac_idx = 0;

entry = nfp_tunnel_lookup_offloaded_macs(app, netdev->dev_addr);
if (entry && nfp_tunnel_is_mac_idx_global(entry->index)) {
if (entry && (nfp_tunnel_is_mac_idx_global(entry->index) || netif_is_lag_port(netdev))) {
if (entry->bridge_count ||
!nfp_flower_is_supported_bridge(netdev)) {
nfp_tunnel_offloaded_macs_inc_ref_and_link(entry,
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/netronome/nfp/nfp_net_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -2776,6 +2776,7 @@ static void nfp_net_netdev_init(struct nfp_net *nn)
case NFP_NFD_VER_NFD3:
netdev->netdev_ops = &nfp_nfd3_netdev_ops;
netdev->xdp_features |= NETDEV_XDP_ACT_XSK_ZEROCOPY;
netdev->xdp_features |= NETDEV_XDP_ACT_REDIRECT;
break;
case NFP_NFD_VER_NFDK:
netdev->netdev_ops = &nfp_nfdk_netdev_ops;
Expand Down
6 changes: 4 additions & 2 deletions drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c
Original file line number Diff line number Diff line change
Expand Up @@ -537,11 +537,13 @@ static int enable_bars(struct nfp6000_pcie *nfp, u16 interface)
const u32 barcfg_msix_general =
NFP_PCIE_BAR_PCIE2CPP_MapType(
NFP_PCIE_BAR_PCIE2CPP_MapType_GENERAL) |
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT;
NFP_PCIE_BAR_PCIE2CPP_LengthSelect(
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT);
const u32 barcfg_msix_xpb =
NFP_PCIE_BAR_PCIE2CPP_MapType(
NFP_PCIE_BAR_PCIE2CPP_MapType_BULK) |
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT |
NFP_PCIE_BAR_PCIE2CPP_LengthSelect(
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT) |
NFP_PCIE_BAR_PCIE2CPP_Target_BaseAddress(
NFP_CPP_TARGET_ISLAND_XPB);
const u32 barcfg_explicit[4] = {
Expand Down
57 changes: 41 additions & 16 deletions drivers/net/ethernet/stmicro/stmmac/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,28 +59,51 @@
#undef FRAME_FILTER_DEBUG
/* #define FRAME_FILTER_DEBUG */

struct stmmac_q_tx_stats {
u64_stats_t tx_bytes;
u64_stats_t tx_set_ic_bit;
u64_stats_t tx_tso_frames;
u64_stats_t tx_tso_nfrags;
};

struct stmmac_napi_tx_stats {
u64_stats_t tx_packets;
u64_stats_t tx_pkt_n;
u64_stats_t poll;
u64_stats_t tx_clean;
u64_stats_t tx_set_ic_bit;
};

struct stmmac_txq_stats {
u64 tx_bytes;
u64 tx_packets;
u64 tx_pkt_n;
u64 tx_normal_irq_n;
u64 napi_poll;
u64 tx_clean;
u64 tx_set_ic_bit;
u64 tx_tso_frames;
u64 tx_tso_nfrags;
struct u64_stats_sync syncp;
/* Updates protected by tx queue lock. */
struct u64_stats_sync q_syncp;
struct stmmac_q_tx_stats q;

/* Updates protected by NAPI poll logic. */
struct u64_stats_sync napi_syncp;
struct stmmac_napi_tx_stats napi;
} ____cacheline_aligned_in_smp;

struct stmmac_napi_rx_stats {
u64_stats_t rx_bytes;
u64_stats_t rx_packets;
u64_stats_t rx_pkt_n;
u64_stats_t poll;
};

struct stmmac_rxq_stats {
u64 rx_bytes;
u64 rx_packets;
u64 rx_pkt_n;
u64 rx_normal_irq_n;
u64 napi_poll;
struct u64_stats_sync syncp;
/* Updates protected by NAPI poll logic. */
struct u64_stats_sync napi_syncp;
struct stmmac_napi_rx_stats napi;
} ____cacheline_aligned_in_smp;

/* Updates on each CPU protected by not allowing nested irqs. */
struct stmmac_pcpu_stats {
struct u64_stats_sync syncp;
u64_stats_t rx_normal_irq_n[MTL_MAX_TX_QUEUES];
u64_stats_t tx_normal_irq_n[MTL_MAX_RX_QUEUES];
};

/* Extra statistic and debug information exposed by ethtool */
struct stmmac_extra_stats {
/* Transmit errors */
Expand Down Expand Up @@ -205,6 +228,7 @@ struct stmmac_extra_stats {
/* per queue statistics */
struct stmmac_txq_stats txq_stats[MTL_MAX_TX_QUEUES];
struct stmmac_rxq_stats rxq_stats[MTL_MAX_RX_QUEUES];
struct stmmac_pcpu_stats __percpu *pcpu_stats;
unsigned long rx_dropped;
unsigned long rx_errors;
unsigned long tx_dropped;
Expand All @@ -216,6 +240,7 @@ struct stmmac_safety_stats {
unsigned long mac_errors[32];
unsigned long mtl_errors[32];
unsigned long dma_errors[32];
unsigned long dma_dpp_errors[32];
};

/* Number of fields in Safety Stats */
Expand Down
Loading