linux-stable/drivers/net/ethernet/mellanox/mlx5/core
Rahul Rameshbabu e5d30f7da3 net/mlx5e: Update doorbell for port timestamping CQ before the software counter
[ Upstream commit 92214be597 ]

Previously, mlx5e_ptp_poll_ts_cq would update the device doorbell with the
incremented consumer index after the relevant software counters in the
kernel were updated. In the mlx5e_sq_xmit_wqe context, this would lead to
either overrunning the device CQ or exceeding the expected software buffer
size in the device CQ if the device CQ size was greater than the software
buffer size. Update the relevant software counter only after updating the
device CQ consumer index in the port timestamping napi_poll context.

Log:
    mlx5_core 0000:08:00.0: cq_err_event_notifier:517:(pid 0): CQ error on CQN 0x487, syndrome 0x1
    mlx5_core 0000:08:00.0 eth2: mlx5e_cq_error_event: cqn=0x000487 event=0x04

Fixes: 1880bc4e4a ("net/mlx5e: Add TX port timestamp support")
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Link: https://lore.kernel.org/r/20231114215846.5902-12-saeed@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-28 17:19:53 +00:00
..
diag net/mlx5: Handle fw tracer change ownership event based on MTRC 2023-10-12 11:10:34 -07:00
en net/mlx5e: Update doorbell for port timestamping CQ before the software counter 2023-11-28 17:19:53 +00:00
en_accel net/mlx5e: macsec: use update_pn flag instead of PN comparation 2023-10-10 10:30:31 +02:00
esw net/mlx5: Bridge, fix peer entry ageing in LAG mode 2023-10-12 11:10:33 -07:00
fpga net/mlx5: remove many unnecessary NULL values 2023-08-07 10:53:52 -07:00
ipoib
lag Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-10 14:10:53 -07:00
lib net/mlx5: Decouple PHC .adjtime and .adjphase implementations 2023-11-28 17:19:53 +00:00
sf net/mlx5: Embed struct devlink_port into driver structure 2023-08-22 21:34:17 -07:00
steering Revert "net/mlx5: DR, Supporting inline WQE when possible" 2023-11-28 17:19:52 +00:00
Kconfig Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux 2023-08-24 11:32:18 -07:00
Makefile net/mlx5: Implement devlink port function cmds to control ipsec_crypto 2023-08-27 17:08:45 -07:00
alloc.c
cmd.c net/mlx5: Perform DMA operations in the right locations 2023-10-12 11:10:33 -07:00
cq.c
debugfs.c net/mlx5: Allocate command stats with xarray 2023-07-27 11:37:29 -07:00
dev.c net/mlx5: Use shared code for checking lag is supported 2023-07-27 11:37:28 -07:00
devlink.c net/mlx5: Check with FW that sync reset completed successfully 2023-08-14 14:40:21 -07:00
devlink.h net/mlx5: Expose max possible SFs via devlink resource 2023-08-14 14:40:20 -07:00
ecpf.c
ecpf.h
en.h Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux 2023-08-24 11:32:18 -07:00
en_arfs.c net/mlx5e: aRFS, Introduce ethtool stats 2023-08-21 10:55:15 -07:00
en_common.c
en_dcbnl.c net/mlx5e: Remove mlx5e_dbg() and msglvl support 2023-06-16 12:02:07 -07:00
en_dim.c
en_ethtool.c net/mlx5e: Make tx_port_ts logic resilient to out-of-order CQEs 2023-08-14 14:40:20 -07:00
en_fs.c
en_fs_ethtool.c mlx5-updates-2023-07-24 2023-07-28 13:41:59 -07:00
en_main.c net/mlx5e: Again mutually exclude RX-FCS and RX-port-timestamp 2023-10-10 15:22:25 +02:00
en_rep.c net/mlx5e: Fix VF representors reporting zero counters to "ip -s" command 2023-10-12 11:10:35 -07:00
en_rep.h
en_rx.c net/mlx5e: RX, Fix page_pool allocation failure recovery for legacy rq 2023-10-12 11:10:34 -07:00
en_selftest.c
en_stats.c Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux 2023-08-24 11:32:18 -07:00
en_stats.h net/mlx5e: Fix VF representors reporting zero counters to "ip -s" command 2023-10-12 11:10:35 -07:00
en_tc.c net/mlx5e: Fix pedit endianness 2023-11-28 17:19:53 +00:00
en_tc.h
en_tx.c net/mlx5e: Track xmit submission to PTP WQ after populating metadata map 2023-11-28 17:19:53 +00:00
en_txrx.c
eq.c net/mlx5: Free used cpus mask when an IRQ is released 2023-11-28 17:19:52 +00:00
eswitch.c net/mlx5: E-switch, register event handler before arming the event 2023-10-12 11:10:33 -07:00
eswitch.h net/mlx5: Implement devlink port function cmds to control ipsec_packet 2023-08-27 17:08:45 -07:00
eswitch_offloads.c net/mlx5e: Don't modify the peer sent-to-vport rules for IPSec offload 2023-11-28 17:19:53 +00:00
eswitch_offloads_termtbl.c
events.c net/mlx5: Add header file for events 2023-06-16 12:02:08 -07:00
fs_cmd.c Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux 2023-08-24 11:32:18 -07:00
fs_cmd.h net/mlx5: DR, Fix peer domain namespace setting 2023-07-26 14:31:04 -07:00
fs_core.c Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux 2023-08-24 11:32:18 -07:00
fs_core.h net/mlx5: DR, Fix peer domain namespace setting 2023-07-26 14:31:04 -07:00
fs_counters.c
fs_ft_pool.c
fs_ft_pool.h
fw.c net/mlx5: Don't query MAX caps twice 2023-08-14 14:40:22 -07:00
fw_reset.c pci-v6.6-changes 2023-08-30 20:23:07 -07:00
fw_reset.h net/mlx5: Check with FW that sync reset completed successfully 2023-08-14 14:40:21 -07:00
health.c net/mlx5: Remove health syndrome enum duplication 2023-08-21 10:55:15 -07:00
hwmon.c net/mlx5: Expose NIC temperature via hardware monitoring kernel API 2023-08-09 15:52:16 -07:00
hwmon.h net/mlx5: Expose NIC temperature via hardware monitoring kernel API 2023-08-09 15:52:16 -07:00
irq_affinity.c net/mlx5: Free used cpus mask when an IRQ is released 2023-11-28 17:19:52 +00:00
main.c net/mlx5: Remove unused MAX HCA capabilities 2023-08-14 14:40:22 -07:00
mcg.c
mlx5_core.h net/mlx5: Remove unused MAX HCA capabilities 2023-08-14 14:40:22 -07:00
mlx5_irq.h net/mlx5: Refactor completion IRQ request/release API 2023-08-07 10:53:50 -07:00
mr.c
pagealloc.c
pci_irq.c net/mlx5: IRQ, consolidate irq and affinity mask allocation 2023-08-21 10:55:15 -07:00
pci_irq.h
pd.c
port.c net/mlx5: Expose port.c/mlx5_query_module_num() function 2023-08-09 15:52:15 -07:00
qos.c
qos.h
rdma.c
rdma.h
rl.c
sriov.c net/mlx5: Allow 0 for total host VFs 2023-08-07 11:48:39 -07:00
transobj.c
uar.c
vport.c net/mlx5: DR, update query of HCA caps for EC VFs 2023-06-16 12:02:08 -07:00
wq.c
wq.h