Commit Graph

98 Commits

Author SHA1 Message Date
Alex Forencich
29fadb6b16 cndm: Update KCU105 pins
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-13 19:47:00 -07:00
Alex Forencich
23279469c9 cndm: Add support for DNPCIe-40G-KU-LL-2QSFP
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-13 00:21:58 -07:00
Alex Forencich
0364fce4f9 cndm: Add PTP TD leaf clocks to testbenches to provide MAC models with time reference
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-12 22:27:53 -07:00
Alex Forencich
0d48b71c26 cndm: Improve parametrization
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-12 21:48:05 -07:00
Alex Forencich
57fbdd39ba cndm: Support multiple slots for parallel descriptor reads
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-12 20:23:56 -07:00
Alex Forencich
c68bb2d38f cndm: Remove extra APB idle cycles
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-12 16:59:01 -07:00
Alex Forencich
7a12540f26 cndm: Use AXIL crossbar in cndm-lite
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-11 13:43:23 -07:00
Alex Forencich
bb9d4b90ec cndm: Add support for KCU105
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-11 02:29:32 -07:00
Alex Forencich
155fac5e07 cndm: Add register to RC path from PCIe HIP to improve timing performance
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-11 02:23:13 -07:00
Alex Forencich
dda53624b5 cndm: Fix CQ deinit ordering
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-11 01:53:05 -07:00
Alex Forencich
6e640c71b9 cndm: Use state machine in queue state module to improve timing performance
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-11 01:50:54 -07:00
Alex Forencich
962950a1e3 cndm: Use event queues in driver
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-10 13:06:40 -07:00
Alex Forencich
d7eb1b21a2 cndm: Use event queues in driver model
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-10 00:58:52 -07:00
Alex Forencich
c7279a1ea2 cndm: Add support for event queues
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-10 00:57:20 -07:00
Alex Forencich
ed61857bc3 cndm: Move interrupt handling out of CQ
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-09 22:23:56 -07:00
Alex Forencich
2ea3c204de cndm: Rework queue notification mechanism to eliminate ream race
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-09 21:41:36 -07:00
Alex Forencich
c37d967de9 cndm: Add consumer pointer and arm bit to completion queue
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-09 14:50:07 -07:00
Alex Forencich
e514869d70 cndm: Clean up resource handling in datapath manager
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-09 00:56:27 -07:00
Alex Forencich
50ba1d4c89 cndm: Make IRQ assignments configurable, add IRQ rate limiter
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 21:21:09 -07:00
Alex Forencich
8773672f26 cndm: Board-level parameter cleanup
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 21:20:41 -07:00
Alex Forencich
9af793edc6 cndm: Parameter cleanup
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 17:39:28 -07:00
Alex Forencich
a59a4dfd84 cndm: Remove port count registers
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 01:22:52 -08:00
Alex Forencich
438c082f73 cndm: Read config in driver
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 01:22:36 -08:00
Alex Forencich
283ef97cec cndm: Initialize ID ROM differently to make Vivado happy
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 01:01:44 -08:00
Alex Forencich
e2823a65ef cndm: Read config in driver model
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-08 00:08:05 -08:00
Alex Forencich
dde401e095 cndm: Add config command to read config data from HW
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-07 23:12:40 -08:00
Alex Forencich
09f1b278e8 cndm: Make scratch registers more generic in datapath manager
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-07 23:12:02 -08:00
Alex Forencich
2e8f9f8731 cndm: Copy cndm-micro core logic as cndm-lite
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 21:07:25 -08:00
Alex Forencich
41b87dc65c cndm: Set MAC clock frequency and rate in core testbench, remove commented out code
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 19:20:03 -08:00
Alex Forencich
f464a21e1d cndm: Parametrize core tests over PCIe interface width
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 19:19:53 -08:00
Alex Forencich
96630b8f61 cndm: Remove extraneous files from testbench file lists
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 18:04:14 -08:00
Alex Forencich
ce8da1bc59 cndm: Fully share SQ/RQ HW resources
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 15:23:20 -08:00
Alex Forencich
d0c9ae0637 cndm: Avoid using parameters from interfaces defined in the same module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 15:06:12 -08:00
Alex Forencich
a46b012c91 cndm: Widen internal datapath to prevent CDC-related bottlenecks
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-06 15:04:12 -08:00
Alex Forencich
595d744aa4 cndm: Add qtype field to queue state to enable sharing
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-05 22:12:39 -08:00
Alex Forencich
8263ebab24 cndm: Move SQ/RQ state into distributed RAM
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-05 20:49:35 -08:00
Alex Forencich
7dbe6df56a cndm: Peel off queue management logic, store queue state in distributed RAM
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-05 18:04:43 -08:00
Alex Forencich
8f1c082174 cndm: Rework driver model to support multiple queues
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-05 16:50:33 -08:00
Alex Forencich
39c9dce0fa cndm: Check for queue allocation failures in the driver
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-05 15:47:03 -08:00
Alex Forencich
f8764d581d cndm: Check for queue allocation failures in the driver model
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-05 15:46:30 -08:00
Alex Forencich
cce4c4525e cndm: Move queue setup/teardown into netdev open/close
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-04 16:47:30 -08:00
Alex Forencich
f8f73ea570 cndm: Reorganize driver
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-04 01:19:37 -08:00
Alex Forencich
9f56b9febd cndm: Reorganize driver model
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-03 20:43:09 -08:00
Alex Forencich
6bf7240686 cndm: Rework desc/cpl mux/demux logic, add support for CQNs, implement queue allocation
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-03 18:09:38 -08:00
Alex Forencich
4d8f0cfece cndm: Move control registers out of port module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-03 13:31:16 -08:00
Alex Forencich
0ab7538e24 cndm: Use SV enums for state machines
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-03 12:05:14 -08:00
Alex Forencich
902996e3bd cndm: Add wmb to ensure command is fully written in mailbox before executing it
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-03 00:46:15 -08:00
Alex Forencich
0d4a030e3f cndm: Add PTP command
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-02 18:27:33 -08:00
Alex Forencich
14d35dd75f cndm: Add mutex for the command mailbox
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-02 15:30:43 -08:00
Alex Forencich
0f09b8bdaa cndm: Add register access command
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2026-03-02 00:33:31 -08:00