^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) mlx4 devlink support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) This document describes the devlink features implemented by the ``mlx4``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) device driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .. list-table:: Generic parameters implemented
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * - Name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - Mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) * - ``internal_err_reset``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - driverinit, runtime
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * - ``max_macs``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - driverinit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) * - ``region_snapshot_enable``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - driverinit, runtime
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) The ``mlx4`` driver also implements the following driver-specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) parameters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) .. list-table:: Driver-specific parameters implemented
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) :widths: 5 5 5 85
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * - Name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - Type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - Mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * - ``enable_64b_cqe_eqe``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) - Boolean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - driverinit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - Enable 64 byte CQEs/EQEs, if the FW supports it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) * - ``enable_4k_uar``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) - Boolean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) - driverinit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) - Enable using the 4k UAR.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) The ``mlx4`` driver supports reloading via ``DEVLINK_CMD_RELOAD``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Regions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) The ``mlx4`` driver supports dumping the firmware PCI crspace and health
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) buffer during a critical firmware issue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) In case a firmware command times out, firmware getting stuck, or a non zero
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) value on the catastrophic buffer, a snapshot will be taken by the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) The ``cr-space`` region will contain the firmware PCI crspace contents. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) ``fw-health`` region will contain the device firmware's health buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Snapshots for both of these regions are taken on the same event triggers.