diff options
| author | Jason Gunthorpe <jgg@nvidia.com> | 2026-09-21 19:35:48 -0300 |
|---|---|---|
| committer | Alex Williamson <alex@shazbot.org> | 2026-09-28 14:10:48 -0600 |
| commit | 3eaeaf318a08fb881c17e519b0db6c5a7b1be586 (patch) | |
| tree | bf16bacd54f7d9328f516c6fc5aab0eed17dd8d4 /tools/perf/scripts/python | |
| parent | 4fef48b937f74571cad394dbc2c60c87756cdbaf (diff) | |
| download | linux-next-3eaeaf318a08fb881c17e519b0db6c5a7b1be586.tar.gz linux-next-3eaeaf318a08fb881c17e519b0db6c5a7b1be586.zip | |
vfio: selftests: Add mlx5 driver - HW init and command interface
Add an mlx5 ConnectX selftest driver that programs VFs and PFs
through the command interface. Create the driver skeleton with
probe(), the command interface, HCA boot sequence, and all resource
allocation up through ALLOC_PD + CREATE_MKEY.
The driver implements vfio_pci_driver_ops (probe/init/remove) and
registers with the VFIO selftest framework. It matches the same
mlx5 ConnectX device IDs that the kernel matches.
init() brings the HCA to a running state:
- Command interface setup (two-slot: regular + async pages)
- ENABLE_HCA -> SET_ISSI -> QUERY/MANAGE_PAGES -> SET_HCA_CAP ->
INIT_HCA
- EQ creation (CMD + PAGE_REQUEST events for PF support)
- ALLOC_PD, CREATE_MKEY (PA-mode, covers all IOVAs)
- Force-loopback capability check
remove() tears down in reverse order through TEARDOWN_HCA and
DISABLE_HCA, including async pages slot drain and FW page reclaim.
The driver region (~18MB) holds all HW-visible DMA buffers (command
queue, mailboxes, EQ, FW pages) overlaid as a single struct on
device->driver.region.vaddr.
Data path ops (memcpy_start/memcpy_wait) are left as stubs for the
next patch.
Assisted-by: Claude:claude-opus-4.6
Acked-by: David Matlack <dmatlack@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/8-v7-c6d30e8ce1e4+3dfa6-mlx5st_jgg@nvidia.com
Signed-off-by: Alex Williamson <alex@shazbot.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
