xref: /spdk/doc/idxd.md (revision e65ab145ec80ddb64ec9e715ad2002c82085016d)
1# IDXD Driver {#idxd}
2
3## Public Interface {#idxd_interface}
4
5- spdk/idxd.h
6
7## Key Functions {#idxd_key_functions}
8
9Function                                | Description
10--------------------------------------- | -----------
11spdk_idxd_probe()                       | @copybrief spdk_idxd_probe()
12spdk_idxd_submit_copy()                 | @copybrief spdk_idxd_submit_copy()
13spdk_idxd_submit_compare()              | @copybrief spdk_idxd_submit_compare()
14spdk_idxd_submit_crc32c()               | @copybrief spdk_idxd_submit_crc32c()
15spdk_idxd_submit_dualcast               | @copybrief spdk_idxd_submit_dualcast()
16spdk_idxd_submit_fill()                 | @copybrief spdk_idxd_submit_fill()
17
18## Kernel vs User {#idxd_configs}
19
20The low level library can be initialized either directly via `spdk_idxd_set_config`,
21passing in a value of `true` indicates that the IDXD kernel driver is loaded and
22that SPDK will use work queue(s) surfaced by the driver.  Passing in `false` means
23that the SPDK user space driver will be used to initialize the hardware.
24