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