140 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3==============4Devlink Params5==============6 7``devlink`` provides capability for a driver to expose device parameters for low8level device functionality. Since devlink can operate at the device-wide9level, it can be used to provide configuration that may affect multiple10ports on a single device.11 12This document describes a number of generic parameters that are supported13across multiple drivers. Each driver is also free to add their own14parameters. Each driver must document the specific parameters they support,15whether generic or not.16 17Configuration modes18===================19 20Parameters may be set in different configuration modes.21 22.. list-table:: Possible configuration modes23 :widths: 5 9024 25 * - Name26 - Description27 * - ``runtime``28 - set while the driver is running, and takes effect immediately. No29 reset is required.30 * - ``driverinit``31 - applied while the driver initializes. Requires the user to restart32 the driver using the ``devlink`` reload command.33 * - ``permanent``34 - written to the device's non-volatile memory. A hard reset is required35 for it to take effect.36 37Reloading38---------39 40In order for ``driverinit`` parameters to take effect, the driver must41support reloading via the ``devlink-reload`` command. This command will42request a reload of the device driver.43 44.. _devlink_params_generic:45 46Generic configuration parameters47================================48The following is a list of generic configuration parameters that drivers may49add. Use of generic parameters is preferred over each driver creating their50own name.51 52.. list-table:: List of generic parameters53 :widths: 5 5 9054 55 * - Name56 - Type57 - Description58 * - ``enable_sriov``59 - Boolean60 - Enable Single Root I/O Virtualization (SRIOV) in the device.61 * - ``ignore_ari``62 - Boolean63 - Ignore Alternative Routing-ID Interpretation (ARI) capability. If64 enabled, the adapter will ignore ARI capability even when the65 platform has support enabled. The device will create the same number66 of partitions as when the platform does not support ARI.67 * - ``msix_vec_per_pf_max``68 - u3269 - Provides the maximum number of MSI-X interrupts that a device can70 create. Value is the same across all physical functions (PFs) in the71 device.72 * - ``msix_vec_per_pf_min``73 - u3274 - Provides the minimum number of MSI-X interrupts required for the75 device to initialize. Value is the same across all physical functions76 (PFs) in the device.77 * - ``fw_load_policy``78 - u879 - 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 - u888 - 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 - Boolean99 - Enable handling of RoCE traffic in the device.100 * - ``enable_eth``101 - Boolean102 - When enabled, the device driver will instantiate Ethernet specific103 auxiliary device of the devlink device.104 * - ``enable_rdma``105 - Boolean106 - When enabled, the device driver will instantiate RDMA specific107 auxiliary device of the devlink device.108 * - ``enable_vnet``109 - Boolean110 - When enabled, the device driver will instantiate VDPA networking111 specific auxiliary device of the devlink device.112 * - ``enable_iwarp``113 - Boolean114 - Enable handling of iWARP traffic in the device.115 * - ``internal_err_reset``116 - Boolean117 - When enabled, the device driver will reset the device on internal118 errors.119 * - ``max_macs``120 - u32121 - Typically macvlan, vlan net devices mac are also programmed in their122 parent netdevice's Function rx filter. This parameter limit the123 maximum number of unicast mac address filters to receive traffic from124 per ethernet port of this device.125 * - ``region_snapshot_enable``126 - Boolean127 - Enable capture of ``devlink-region`` snapshots.128 * - ``enable_remote_dev_reset``129 - Boolean130 - Enable device reset by remote host. When cleared, the device driver131 will NACK any attempt of other host to reset the device. This parameter132 is useful for setups where a device is shared by different hosts, such133 as multi-host setup.134 * - ``io_eq_size``135 - u32136 - Control the size of I/O completion EQs.137 * - ``event_eq_size``138 - u32139 - Control the size of asynchronous control events EQ.140