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

241 Commits

Author SHA1 Message Date
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
Alex Forencich
2adaf820b5 More kernel module coding style updates 2021-10-21 13:54:00 -07:00
Alex Forencich
5b49f09baa Fix kernel module coding style 2021-10-08 18:31:53 -07:00
Alex Forencich
1bce5827c9 Rework ethtool get_ts_info implementation 2021-10-08 17:47:22 -07:00
Alex Forencich
4294e5ea1d Use BIT macros 2021-10-08 16:55:56 -07:00
Alex Forencich
2fc87915e3 Update driver for i2c_board_info struct change in kernel 5.13 2021-10-05 22:20:16 -07:00
Alex Forencich
c249081dd2 Use DRIVER_NAME define 2021-10-01 23:45:06 -07:00
Alex Forencich
0965c77b8e Remove MODULE_SUPPORTED_DEVICE, which was never implemented and was removed in kernel version 5.12 2021-10-01 17:31:15 -07:00
Alex Forencich
c8dd50b051 pcie_print_link_status was added in kernel version 4.17 2021-09-24 17:05:35 -07:00
Alex Forencich
875b664c13 Update offset 2021-09-13 12:54:35 -07:00
Alex Forencich
2442ff65c5 Support application and RAM bars 2021-09-09 17:50:44 -07:00
Alex Forencich
d0976f193b Use correct type 2021-09-09 17:49:11 -07:00
Alex Forencich
5f7b0292fc Print more PCIe information 2021-08-30 01:27:25 -07:00