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

2274 Commits

Author SHA1 Message Date
Alex Forencich
d506c9305a Fix pointer updating for correct teardown behavior 2022-01-16 00:04:53 -08:00
Alex Forencich
137a6778da Combine interface control blocks 2022-01-15 21:53:13 -08:00
Alex Forencich
0f82e0c5f3 Fix ethtool firmware version number reporting 2022-01-10 11:18:58 -08:00
Alex Forencich
eba32ce8a5 Accept interface name and PCIe BDF when connecting to device 2022-01-08 15:32:50 -08:00
Alex Forencich
23f635f273 Clean up return code checks 2022-01-08 15:14:49 -08:00
Alex Forencich
136b0ee6ae Increase init delay for Alveo BMC 2022-01-05 22:42:36 -08:00
Alex Forencich
a4a26e7bc4 Fix register accesses 2022-01-05 19:38:56 -08:00
Alex Forencich
975ba91239 Fix register accesses 2022-01-05 19:38:46 -08:00
Alex Forencich
ddd7e639da Add tdest register to scheduler blocks 2021-12-31 17:02:59 -08:00
Alex Forencich
335a5e890b Initial implementation of shared interface datapath 2021-12-31 14:33:31 -08:00
Alex Forencich
ce21774f06 Register space reorganization 2021-12-29 22:31:46 -08:00
Alex Forencich
6163efa0b8 Add output pipeline stage to descriptor FIFOs 2021-12-29 14:30:05 -08:00
Alex Forencich
2091ef8c42 Fix dev_port assignment 2021-12-29 14:29:55 -08:00
Alex Forencich
dc247259fd Update tox.ini 2021-12-28 20:29:40 -08:00
Alex Forencich
ba8fce96fe Update tox.ini 2021-12-27 16:11:41 -08:00
Tobias Binkowski
d4675cde27 tox: add required versions for pypi packages in tox.ini 2021-12-27 16:09:31 -08:00
Tobias Binkowski
43d86e506a tox: add minium required tox and venv versions 2021-12-27 16:09:31 -08:00
Alex Forencich
c027055eaa Fix github actions 2021-12-27 13:48:25 -08:00
Alex Forencich
8b219d3cad Fix I2C client forwarding to netdevs 2021-12-25 01:40:08 -08:00
Alex Forencich
23cd700a3f Refactor userspace init/teardown code 2021-12-24 13:49:41 -08:00
Alex Forencich
fb258467e7 Unwrap short lines 2021-12-24 00:02:20 -08:00
Alex Forencich
a7cb23da62 Separate common probe/remove implementation from PCI-specific probe/remove 2021-12-24 00:02:08 -08:00
Alex Forencich
0b7cbe5b05 Peel off ID management code 2021-12-23 23:48:57 -08:00
Alex Forencich
8548e8570f Update vivado.mk 2021-12-20 22:03:06 -08:00
Ulrich Langenbach
0560f98e79 support more than 4k queues (workaround quartus loop iteration limit) 2021-12-16 12:09:39 -08:00
Alex Forencich
0189e3c251 Use available python 3 interpreter 2021-12-15 23:30:31 -08:00
Joachim Foerster
508b4cf39b modules/mqnic/: Make number of allocated queue entries configurable via module parameters
This may be complemented or replaced by making use of the appropriate ethtool
API in the future, of course.

Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2021-12-15 23:29:02 -08:00
Joachim Foerster
f5f40297e3 modules/mqnic/: Fix, need to initialize per instance mutex before netdev registration
struct mqnic::state_lock is used in netdev callbacks, which go "live"
after a netdev has been registered (via mqnic_init_netdev()).

Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2021-12-15 23:29:02 -08:00
Joachim Foerster
60c2b6745d modules/mqnic/: Fix and enhance Makefile
- Apply "Shared Makefile" style as found in [1]
- Especially but not only for cross compilation:
  - Accept commonly used variable KDIR to specify kernel build directory
  - Additionally accept KERNEL_SRC (instead of KDIR) as used by PetaLinux/Yocto
- Route all usual external module targets through to Kbuild
- Provide "install" target as shortcut for module installation
- Use $(MAKE) as recommended in [2]

[1] https://www.kernel.org/doc/html/latest/kbuild/modules.html, section 3.1
[2] https://www.gnu.org/software/make/manual/make.html#MAKE-Variable, section 5.7.1.

Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2021-12-15 23:29:02 -08:00
Joachim Foerster
6b1666e3b8 modules/mqnic/: Add ignore file
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2021-12-15 23:29:02 -08:00
Joachim Foerster
2390ac9a23 utils/: Fix and enhance Makefile
Not only for typical cross-compilation build environments:

- allow to use CC definition from build environment
- ditto for PREFIX, packaging typically wants to use /usr
- use CPPFLAGS for include paths and just append
- let build environment decide about things like -Ox,
  append rest of flags to CFLAGS
- use LDFLAGS, typically set by build environment

Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2021-12-15 23:29:02 -08:00
Joachim Foerster
b79487dbf3 utils/: Ignore mqnic-bmc executable
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
2021-12-15 23:29:02 -08:00
Alex Forencich
22a27a479c Configure port RSS settings 2021-12-12 17:44:39 -08:00
Alex Forencich
11f31c896c Split interface from net_device 2021-12-12 17:28:43 -08:00
Alex Forencich
2f70a871a7 Minor refactor 2021-12-12 14:21:13 -08:00
Alex Forencich
a53d3acd3f Pass CQ ring instead of index 2021-12-12 14:20:56 -08:00
Alex Forencich
6117f85656 Ensure one-to-one mapping of queues to CQs 2021-12-12 14:20:05 -08:00
Alex Forencich
56706beefc Pass EQ ring instead of index 2021-12-12 13:58:26 -08:00
Alex Forencich
0418fe33a6 Rename ring_index to index 2021-12-12 13:46:09 -08:00
Alex Forencich
413238f81c Refactor interrupt handling 2021-12-12 13:34:33 -08:00
Alex Forencich
3c6f80b80c Add dev references to CQ and EQ rings 2021-12-12 01:53:38 -08:00
Alex Forencich
bfc8e959bf Split ring buffer allocation from ring creation 2021-12-12 01:52:24 -08:00
Alex Forencich
eeedc179fb Unconditionally deactivate rings 2021-12-12 01:42:14 -08:00
Alex Forencich
292d805450 Rename mqnic_priv.ports to mqnic_priv.port 2021-12-12 01:38:45 -08:00
Alex Forencich
630d5a565d Disambiguate rings 2021-12-12 01:37:55 -08:00
Alex Forencich
b340d2aed0 Use min_t for range enforcement 2021-12-11 01:37:59 -08:00
Alex Forencich
53dfd68338 Use MQNIC_MAX_IRQ define when allocating MSI IRQs 2021-12-11 01:27:44 -08:00
Alex Forencich
74bb15bf00 Use ring indicies during setup 2021-12-10 21:05:57 -08:00
Alex Forencich
ddeb8bad94 Use atomic notifier chain for interrupt handling 2021-12-10 21:05:31 -08:00
Alex Forencich
5e65a384e2 Track ring active state 2021-12-10 21:04:52 -08:00