Alex Forencich
17443e9366
fpga/mqnic: Separate event and completion write instances
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-10 17:53:03 -07:00
Alex Forencich
bed12ee774
Consolidate CQs
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-10 17:52:34 -07:00
Alex Forencich
905e6c6358
Add PTP timestamping tests for 1G MAC
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-08 01:41:35 -07:00
Alex Forencich
9665df8a44
Fix PTP timestamping in 1G MAC
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-08 01:41:14 -07:00
Alex Forencich
265035769a
Reorganize queue control registers
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-07 01:19:19 -07:00
Alex Forencich
56c89640e0
scripts: Add mqnic_ddcmd.sh script to control dynamic debug statements
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-07 01:11:37 -07:00
Alex Forencich
fa75b47b7b
modules/mqnic: Convert more relatively frequent info-level printk calls to debug-level so they can be selectively enabled via dynamic debug
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-07 01:10:49 -07:00
Joachim Foerster
1d729817a6
modules/mqnic: Turn "TX ring ... full ..." message into netdev-related debug message
...
To not overwhelm any logging daemon. Full TX queues can be quite common
depending on a system's context and capabilities. Mostly all the details are not
required anyway in such cases.
To enable such debug messages and have their text turn up in dmesg and logging
daemons, the mqnic module has to be compiled with CPP symbol DEBUG being (`make
DEBUG=yes`) defined, or the kernel in use has to support "Dynamic Debug" [1]. In
the latter case all such debug messages in module mqnic can be enabled with:
echo 'module mqnic +pflmt' | sudo tee /sys/kernel/debug/dynamic_debug/control
To enable just this specific messages, based on its (partial) format:
echo 'format "TX ring %d full" +pflmt' | sudo tee /sys/kernel/debug/dynamic_debug/control
[1] https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-07-07 00:30:52 -07:00
Joachim Foerster
6a975f3433
modules/mqnic/Makefile: Define CPP symbol DEBUG when environment variable DEBUG is provided
...
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-07-07 00:30:52 -07:00
Joachim Foerster
51d5712982
modules/mqnic: Introduce proper error path on failing to allocate RX buffers
...
This basically allows the "refilling" of RX buffers to fail. A fail to allocate
RX buffers can occur on bringing a network device up or when changing the number
of RX channels at run-time through `ethtool -L <ndev> rx <num>`.
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-07-07 00:30:52 -07:00
Alex Forencich
1f0b6a625c
PTP parameter clean-up
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-06 16:46:32 -07:00
Alex Forencich
9dafc3aaee
Use internal BYTE_LANES parameter
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-06 16:28:08 -07:00
Alex Forencich
4d2c2071cc
modules/mqnic: Fix kernel version ifdef for netif_napi_add
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-07-03 22:54:34 -07:00
Wesley New
a5e810eedc
Minor fixes to getingstarted document
...
I have updated the docs with a couple of minor writing fixes
2023-07-03 22:52:07 -07:00
Alex Forencich
9159425cd8
Use correct payload lengths
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-29 22:18:50 -07:00
Alex Forencich
f705646e3e
Pull out header size as a parameter
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-29 15:48:39 -07:00
Alex Forencich
9f1f27bc8b
scripts: Perform verbose dumps in test script
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-27 23:35:33 -07:00
Alex Forencich
cc202ce45d
utils: Add verbose option to mqnic-dump; hide disabled queues, scheduler state, and zero-valued statistics counters by default
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-27 23:31:28 -07:00
Alex Forencich
82df10a356
modules/mqnic: Add missing priv reference
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-27 00:04:09 -07:00
Alex Forencich
6887a4a004
fpga/mqnic/KR260: fix symlink
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-26 15:20:53 -07:00
Ulrich Langenbach
21f5a758c9
modules/mqnic: use unsigned short for I2C addresses
...
the i2c_client defines i2c addresses as unsigned short so we follow
this style
2023-06-26 12:10:27 -07:00
Ulrich Langenbach
b1f14659d9
modules/mqnic: sfp module eeprom i2c address adjustment for full access
...
* the optical diagnostics data is provided by the SFP modules
using another I2C address, which must be set via the I2C client
2023-06-26 12:10:27 -07:00
Ulrich Langenbach
6bd8ae031f
modules/mqnic: fix SFP EEPROM readout to support optical module diagnosis
...
* fix offset check for allowing an offset of exactly 256 Bytes
* fix allowing the I2C address of 0x51 to access the optical SFP modules
diagnosis information, see SFF8472 rev 12.4 p. 8
2023-06-26 12:10:27 -07:00
Alex Forencich
448fa8eb4c
Use SPDX
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-26 11:44:57 -07:00
Alex Forencich
0962811b38
Rename COPYING to LICENSE, use more generic license text
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-26 10:16:45 -07:00
Alex Forencich
9a93cfb5ad
fpga/mqnic: Clean up readmes
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-26 00:08:49 -07:00
Alex Forencich
7d9528a6ae
Update to latest version of cocotbext-pcie
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-25 18:56:53 -07:00
Alex Forencich
6ca5fbfd82
Merge PR #153
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-25 18:51:12 -07:00
Alex Forencich
edc5903157
fpga/common: Fix FIFO status connections
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-25 18:35:21 -07:00
Alex Forencich
344fcd45fc
fpga/mqnic: Testbench parameter clean-up
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-24 01:25:25 -07:00
Alex Forencich
b84b6b53cc
fpga/common/tb: Fix testbench name
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-24 00:57:02 -07:00
Alex Forencich
a7e4c9e6eb
fpga/common/tb: Fix testbench parameters in mqnic_core_axi testbench
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-24 00:56:47 -07:00
Alex Forencich
045b0c1c68
merged changes in pcie
2023-06-23 22:49:05 -07:00
Alex Forencich
75126f1333
Configure RC model to split on all RCB boundaries during RX completion buffer tests
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-23 22:38:06 -07:00
Alex Forencich
fe7d8e229d
Update cocotbext-pcie
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-23 22:37:30 -07:00
Alex Forencich
d730369671
Use correct offsets in testbench
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-23 02:39:22 -07:00
Alex Forencich
2f881e154a
Adjust testbench timeouts
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 19:16:09 -07:00
Alex Forencich
4798f2162d
Remove extraneous parameters from pcie_us_axi_dma_wr testbench
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 18:14:34 -07:00
Alex Forencich
2306e51522
Example design parameter clean-up
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 18:08:44 -07:00
Alex Forencich
84eef7b90c
Remove extraneous parameters from pcie_msix testbench
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 17:54:01 -07:00
Alex Forencich
aba315c9fc
Add completion buffer tests to example driver
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 16:51:08 -07:00
Alex Forencich
95a735c226
Add completion buffer test to example design testbenches
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 16:50:39 -07:00
Alex Forencich
145e150ba4
Reorganize example design testbenches, run benchmark in testbench
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 16:49:53 -07:00
Alex Forencich
0db9fdd2b9
Test S10 example design with 2 segments by default
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 16:47:00 -07:00
Alex Forencich
0a53e7c990
Improve completion credit count tracking
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-22 16:45:00 -07:00
Joachim Foerster
12a90c6b71
modules/mqnic: Export existing dropped_packets counter per TX ring to netdev statistics
...
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-06-22 11:19:11 +02:00
Joachim Foerster
3a9401d02b
lib/mqnic/.gitignore: Minor, add libmqnic.a
...
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-06-22 11:06:13 +02:00
Joachim Foerster
af22f5a43c
utils/.gitignore: Minor, add mqnic-xcvr
...
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-06-22 11:06:13 +02:00
Joachim Foerster
bf09d80999
utils/Makefile: clean: Fix, also call target clean on libmqnic directory
...
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2023-06-22 11:06:12 +02:00
Alex Forencich
e59f5a03bd
Update example designs based on results of buffer size tests
...
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-06-21 16:26:40 -07:00