]>
Commit | Line | Data |
---|---|---|
8559dc33 JK |
1 | .. SPDX-License-Identifier: GPL-2.0 |
2 | ||
3 | ============== | |
4 | Devlink Params | |
5 | ============== | |
6 | ||
7 | ``devlink`` provides capability for a driver to expose device parameters for low | |
8 | level device functionality. Since devlink can operate at the device-wide | |
9 | level, it can be used to provide configuration that may affect multiple | |
10 | ports on a single device. | |
11 | ||
12 | This document describes a number of generic parameters that are supported | |
13 | across multiple drivers. Each driver is also free to add their own | |
14 | parameters. Each driver must document the specific parameters they support, | |
15 | whether generic or not. | |
16 | ||
17 | Configuration modes | |
18 | =================== | |
19 | ||
20 | Parameters may be set in different configuration modes. | |
21 | ||
22 | .. list-table:: Possible configuration modes | |
23 | :widths: 5 90 | |
24 | ||
25 | * - Name | |
26 | - Description | |
27 | * - ``runtime`` | |
28 | - set while the driver is running, and takes effect immediately. No | |
29 | reset is required. | |
30 | * - ``driverinit`` | |
31 | - applied while the driver initializes. Requires the user to restart | |
32 | the driver using the ``devlink`` reload command. | |
33 | * - ``permanent`` | |
34 | - written to the device's non-volatile memory. A hard reset is required | |
35 | for it to take effect. | |
36 | ||
5948f85b JK |
37 | Reloading |
38 | --------- | |
39 | ||
40 | In order for ``driverinit`` parameters to take effect, the driver must | |
41 | support reloading via the ``devlink-reload`` command. This command will | |
42 | request a reload of the device driver. | |
43 | ||
cd556e40 JK |
44 | .. _devlink_params_generic: |
45 | ||
8559dc33 JK |
46 | Generic configuration parameters |
47 | ================================ | |
48 | The following is a list of generic configuration parameters that drivers may | |
49 | add. Use of generic parameters is preferred over each driver creating their | |
50 | own name. | |
51 | ||
52 | .. list-table:: List of generic parameters | |
53 | :widths: 5 5 90 | |
54 | ||
55 | * - Name | |
56 | - Type | |
57 | - Description | |
58 | * - ``enable_sriov`` | |
59 | - Boolean | |
60 | - Enable Single Root I/O Virtualization (SRIOV) in the device. | |
61 | * - ``ignore_ari`` | |
62 | - Boolean | |
63 | - Ignore Alternative Routing-ID Interpretation (ARI) capability. If | |
64 | enabled, the adapter will ignore ARI capability even when the | |
65 | platform has support enabled. The device will create the same number | |
66 | of partitions as when the platform does not support ARI. | |
67 | * - ``msix_vec_per_pf_max`` | |
68 | - u32 | |
69 | - Provides the maximum number of MSI-X interrupts that a device can | |
70 | create. Value is the same across all physical functions (PFs) in the | |
71 | device. | |
72 | * - ``msix_vec_per_pf_min`` | |
73 | - u32 | |
74 | - Provides the minimum number of MSI-X interrupts required for the | |
75 | device to initialize. Value is the same across all physical functions | |
76 | (PFs) in the device. | |
77 | * - ``fw_load_policy`` | |
78 | - u8 | |
79 | - Control the device's firmware loading policy. | |
80 | - ``DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER`` (0) | |
81 | Load firmware version preferred by the driver. | |
82 | - ``DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH`` (1) | |
83 | Load firmware currently stored in flash. | |
84 | - ``DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK`` (2) | |
85 | Load firmware currently available on host's disk. | |
86 | * - ``reset_dev_on_drv_probe`` | |
87 | - u8 | |
88 | - Controls the device's reset policy on driver probe. | |
89 | - ``DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN`` (0) | |
90 | Unknown or invalid value. | |
91 | - ``DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS`` (1) | |
92 | Always reset device on driver probe. | |
93 | - ``DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER`` (2) | |
94 | Never reset device on driver probe. | |
95 | - ``DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK`` (3) | |
96 | Reset the device only if firmware can be found in the filesystem. | |
97 | * - ``enable_roce`` | |
98 | - Boolean | |
99 | - Enable handling of RoCE traffic in the device. | |
d56a0c47 JK |
100 | * - ``internal_err_reset`` |
101 | - Boolean | |
102 | - When enabled, the device driver will reset the device on internal | |
103 | errors. | |
104 | * - ``max_macs`` | |
105 | - u32 | |
106 | - Specifies the maximum number of MAC addresses per ethernet port of | |
107 | this device. | |
108 | * - ``region_snapshot_enable`` | |
109 | - Boolean | |
110 | - Enable capture of ``devlink-region`` snapshots. |