dau_driver.linux_xdma

Attributes

DEFAULT_DEV_ROOT

DEFAULT_SYSFS_PCI_ROOT

DEFAULT_BACKEND

DEFAULT_DMA_CONSTRAINTS

_MAGIC_PROBE_ATTEMPTS

_MAGIC_PROBE_DELAY_S

Functions

discover_devices([root]) → list[dau_driver.device.DauDevice]

identify_device(user_path, *[, h2c_path, c2h_path]) → dau_driver.device.DauDevice

_find_register_window(user_path) → tuple[int, int]

_read_register(user_path, register_window_offset, offset) → int

_read_register_block_snapshot(user_path, ...) → dau_core.registers.RegisterBlockSnapshot

endpoint_for_devnode(user_path, *[, sysfs_root]) → str | None

The PCI endpoint (0000:04:00.0) whose xdma instance owns this

_channel_paths(user_path) → tuple[pathlib.Path, pathlib.Path]

_device_name(user_path) → str

Module Contents

dau_driver.linux_xdma.DEFAULT_DEV_ROOT
dau_driver.linux_xdma.DEFAULT_SYSFS_PCI_ROOT
dau_driver.linux_xdma.DEFAULT_BACKEND = 'linux-xdma'
dau_driver.linux_xdma.DEFAULT_DMA_CONSTRAINTS
dau_driver.linux_xdma.discover_devices(root: str | pathlib.Path = DEFAULT_DEV_ROOT) → list[dau_driver.device.DauDevice][source]
dau_driver.linux_xdma.identify_device(user_path: str | pathlib.Path, *, h2c_path: str | pathlib.Path | None = None, c2h_path: str | pathlib.Path | None = None) → dau_driver.device.DauDevice[source]
dau_driver.linux_xdma._MAGIC_PROBE_ATTEMPTS = 5
dau_driver.linux_xdma._MAGIC_PROBE_DELAY_S = 0.01
dau_driver.linux_xdma._find_register_window(user_path: pathlib.Path) → tuple[int, int][source]
dau_driver.linux_xdma._read_register(user_path: pathlib.Path, register_window_offset: int, offset: dau_core.registers.RegisterOffset) → int[source]
dau_driver.linux_xdma._read_register_block_snapshot(user_path: pathlib.Path, register_window_offset: int) → dau_core.registers.RegisterBlockSnapshot[source]
dau_driver.linux_xdma.endpoint_for_devnode(user_path: pathlib.Path, *, sysfs_root: pathlib.Path | None = None) → str | None[source]

The PCI endpoint (0000:04:00.0) whose xdma instance owns this _user devnode, or None when sysfs does not say.

The inverse of verify_advertisement.device_name_for_endpoint, over the same layout: the devnodes hang off the PCI device in sysfs as <bdf>/xdma/<node>. None rather than a raise on a missing sysfs, an unowned node or (never seen, but not guessed at) two owners, so the caller can fall back to a weaker name and say so.

dau_driver.linux_xdma._channel_paths(user_path: pathlib.Path) → tuple[pathlib.Path, pathlib.Path][source]
dau_driver.linux_xdma._device_name(user_path: pathlib.Path) → str[source]