9e8a16c44102925ea76e842bfde3186fd127571b
[linux-modified.git] / pds_core.rst
1 .. SPDX-License-Identifier: GPL-2.0+
2
3 ========================================================
4 Linux Driver for the AMD/Pensando(R) DSC adapter family
5 ========================================================
6
7 Copyright(c) 2023 Advanced Micro Devices, Inc
8
9 Identifying the Adapter
10 =======================
11
12 To find if one or more AMD/Pensando PCI Core devices are installed on the
13 host, check for the PCI devices::
14
15   # lspci -d 1dd8:100c
16   b5:00.0 Processing accelerators: Pensando Systems Device 100c
17   b6:00.0 Processing accelerators: Pensando Systems Device 100c
18
19 If such devices are listed as above, then the pds_core.ko driver should find
20 and configure them for use.  There should be log entries in the kernel
21 messages such as these::
22
23   $ dmesg | grep pds_core
24   pds_core 0000:b5:00.0: 252.048 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x16 link)
25   pds_core 0000:b5:00.0: FW: 1.60.0-73
26   pds_core 0000:b6:00.0: 252.048 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x16 link)
27   pds_core 0000:b6:00.0: FW: 1.60.0-73
28
29 Driver and firmware version information can be gathered with devlink::
30
31   $ devlink dev info pci/0000:b5:00.0
32   pci/0000:b5:00.0:
33     driver pds_core
34     serial_number FLM18420073
35     versions:
36         fixed:
37           asic.id 0x0
38           asic.rev 0x0
39         running:
40           fw 1.51.0-73
41         stored:
42           fw.goldfw 1.15.9-C-22
43           fw.mainfwa 1.60.0-73
44           fw.mainfwb 1.60.0-57
45
46 Info versions
47 =============
48
49 The ``pds_core`` driver reports the following versions
50
51 .. list-table:: devlink info versions implemented
52    :widths: 5 5 90
53
54    * - Name
55      - Type
56      - Description
57    * - ``fw``
58      - running
59      - Version of firmware running on the device
60    * - ``fw.goldfw``
61      - stored
62      - Version of firmware stored in the goldfw slot
63    * - ``fw.mainfwa``
64      - stored
65      - Version of firmware stored in the mainfwa slot
66    * - ``fw.mainfwb``
67      - stored
68      - Version of firmware stored in the mainfwb slot
69    * - ``asic.id``
70      - fixed
71      - The ASIC type for this device
72    * - ``asic.rev``
73      - fixed
74      - The revision of the ASIC for this device
75
76 Parameters
77 ==========
78
79 The ``pds_core`` driver implements the following generic
80 parameters for controlling the functionality to be made available
81 as auxiliary_bus devices.
82
83 .. list-table:: Generic parameters implemented
84    :widths: 5 5 8 82
85
86    * - Name
87      - Mode
88      - Type
89      - Description
90    * - ``enable_vnet``
91      - runtime
92      - Boolean
93      - Enables vDPA functionality through an auxiliary_bus device
94
95 Firmware Management
96 ===================
97
98 The ``flash`` command can update a the DSC firmware.  The downloaded firmware
99 will be saved into either of firmware bank 1 or bank 2, whichever is not
100 currently in use, and that bank will used for the next boot::
101
102   # devlink dev flash pci/0000:b5:00.0 \
103             file pensando/dsc_fw_1.63.0-22.tar
104
105 Health Reporters
106 ================
107
108 The driver supports a devlink health reporter for FW status::
109
110   # devlink health show pci/0000:2b:00.0 reporter fw
111   pci/0000:2b:00.0:
112     reporter fw
113       state healthy error 0 recover 0
114   # devlink health diagnose pci/0000:2b:00.0 reporter fw
115    Status: healthy State: 1 Generation: 0 Recoveries: 0
116
117 Enabling the driver
118 ===================
119
120 The driver is enabled via the standard kernel configuration system,
121 using the make command::
122
123   make oldconfig/menuconfig/etc.
124
125 The driver is located in the menu structure at:
126
127   -> Device Drivers
128     -> Network device support (NETDEVICES [=y])
129       -> Ethernet driver support
130         -> AMD devices
131           -> AMD/Pensando Ethernet PDS_CORE Support
132
133 Support
134 =======
135
136 For general Linux networking support, please use the netdev mailing
137 list, which is monitored by AMD/Pensando personnel::
138
139   netdev@vger.kernel.org