162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci====================
462306a36Sopenharmony_cimlx4 devlink support
562306a36Sopenharmony_ci====================
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciThis document describes the devlink features implemented by the ``mlx4``
862306a36Sopenharmony_cidevice driver.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciParameters
1162306a36Sopenharmony_ci==========
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci.. list-table:: Generic parameters implemented
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci   * - Name
1662306a36Sopenharmony_ci     - Mode
1762306a36Sopenharmony_ci   * - ``internal_err_reset``
1862306a36Sopenharmony_ci     - driverinit, runtime
1962306a36Sopenharmony_ci   * - ``max_macs``
2062306a36Sopenharmony_ci     - driverinit
2162306a36Sopenharmony_ci   * - ``region_snapshot_enable``
2262306a36Sopenharmony_ci     - driverinit, runtime
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciThe ``mlx4`` driver also implements the following driver-specific
2562306a36Sopenharmony_ciparameters.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci.. list-table:: Driver-specific parameters implemented
2862306a36Sopenharmony_ci   :widths: 5 5 5 85
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci   * - Name
3162306a36Sopenharmony_ci     - Type
3262306a36Sopenharmony_ci     - Mode
3362306a36Sopenharmony_ci     - Description
3462306a36Sopenharmony_ci   * - ``enable_64b_cqe_eqe``
3562306a36Sopenharmony_ci     - Boolean
3662306a36Sopenharmony_ci     - driverinit
3762306a36Sopenharmony_ci     - Enable 64 byte CQEs/EQEs, if the FW supports it.
3862306a36Sopenharmony_ci   * - ``enable_4k_uar``
3962306a36Sopenharmony_ci     - Boolean
4062306a36Sopenharmony_ci     - driverinit
4162306a36Sopenharmony_ci     - Enable using the 4k UAR.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciThe ``mlx4`` driver supports reloading via ``DEVLINK_CMD_RELOAD``
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciRegions
4662306a36Sopenharmony_ci=======
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciThe ``mlx4`` driver supports dumping the firmware PCI crspace and health
4962306a36Sopenharmony_cibuffer during a critical firmware issue.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciIn case a firmware command times out, firmware getting stuck, or a non zero
5262306a36Sopenharmony_civalue on the catastrophic buffer, a snapshot will be taken by the driver.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciThe ``cr-space`` region will contain the firmware PCI crspace contents. The
5562306a36Sopenharmony_ci``fw-health`` region will contain the device firmware's health buffer.
5662306a36Sopenharmony_ciSnapshots for both of these regions are taken on the same event triggers.
57