1
0
mirror of https://github.com/corundum/corundum.git synced 2025-01-16 08:12:53 +08:00

3255 Commits

Author SHA1 Message Date
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