Alex Forencich
8fbe46aa31
Update ethtool API implementation
2022-03-22 23:48:13 -07:00
Alex Forencich
c118565d21
Fix EEPROM-related error handling in ethtool interface code
2022-03-20 23:07:45 -07:00
Alex Forencich
623b758598
Print PCIe bridge information during driver load
2022-03-15 17:55:29 -07:00
Alex Forencich
2ca96463fe
Add driver debug print for number of configured IRQs
2022-03-04 23:55:51 -08:00
Alex Forencich
6e716af299
Set PTP clock name
2022-02-02 18:41:19 -08:00
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
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
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
2091ef8c42
Fix dev_port assignment
2021-12-29 14:29:55 -08:00
Alex Forencich
8b219d3cad
Fix I2C client forwarding to netdevs
2021-12-25 01:40:08 -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
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
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
d2663fd711
Print PCIe subsytem IDs
2021-11-02 14:40:32 -07:00
Alex Forencich
aef59c65ec
Use kernel types
2021-10-21 22:19:01 -07:00
Alex Forencich
4ade485344
bits.h is not available in userspace
2021-10-21 15:38:25 -07:00
Alex Forencich
27c9241a69
Update header comment, add SPDX license identifiers
2021-10-21 14:55:48 -07:00
Alex Forencich
df4c1c9db7
Use strscpy instead of strncpy
2021-10-21 14:45:22 -07:00
Alex Forencich
323791cff3
Use __func__ for function name in debug messages
2021-10-21 14:44:05 -07:00
Alex Forencich
79f778d85a
Remove out of memory messages; kernel should print stack trace when allocation fails
2021-10-21 14:01:29 -07:00