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
Alex Forencich
c9de7d24d0
Normalize ring_index parameter
2021-12-10 21:03:46 -08:00
Alex Forencich
32a82929c6
Normalize create/destroy methods
2021-12-10 21:02:57 -08:00
Alex Forencich
ed36f169f9
Rename mqnic_priv.port to mqnic_priv.index
2021-12-10 21:01:51 -08:00
Alex Forencich
c739b05b69
Remove unnecessary priv parameters
2021-12-10 20:59:44 -08:00
Alex Forencich
7a43618e3c
Use start_soon instead of fork
2021-12-10 20:43:21 -08:00
Alex Forencich
ae2f64f6ba
merged changes in eth
2021-12-10 18:50:07 -08:00
Alex Forencich
f8a1339581
merged changes in axi
2021-12-10 18:50:04 -08:00
Alex Forencich
b8e55944b1
merged changes in pcie
2021-12-10 18:42:24 -08:00
Alex Forencich
293cfe153c
Use start_soon instead of fork
2021-12-10 18:23:39 -08:00
Alex Forencich
1f80696b55
Use start_soon instead of fork
2021-12-10 18:19:11 -08:00