.. SPDX-License-Identifier: GPL-2.0+ ======================================================== Linux Driver for the AMD/Pensando(R) DSC adapter family ======================================================== Copyright(c) 2023 Advanced Micro Devices, Inc Identifying the Adapter ======================= To find if one or more AMD/Pensando PCI Core devices are installed on the host, check for the PCI devices:: # lspci -d 1dd8:100c b5:00.0 Processing accelerators: Pensando Systems Device 100c b6:00.0 Processing accelerators: Pensando Systems Device 100c If such devices are listed as above, then the pds_core.ko driver should find and configure them for use. There should be log entries in the kernel messages such as these:: $ dmesg | grep pds_core pds_core 0000:b5:00.0: 252.048 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x16 link) pds_core 0000:b5:00.0: FW: 1.60.0-73 pds_core 0000:b6:00.0: 252.048 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x16 link) pds_core 0000:b6:00.0: FW: 1.60.0-73 Driver and firmware version information can be gathered with devlink:: $ devlink dev info pci/0000:b5:00.0 pci/0000:b5:00.0: driver pds_core serial_number FLM18420073 versions: fixed: asic.id 0x0 asic.rev 0x0 running: fw 1.51.0-73 stored: fw.goldfw 1.15.9-C-22 fw.mainfwa 1.60.0-73 fw.mainfwb 1.60.0-57 Info versions ============= The ``pds_core`` driver reports the following versions .. list-table:: devlink info versions implemented :widths: 5 5 90 * - Name - Type - Description * - ``fw`` - running - Version of firmware running on the device * - ``fw.goldfw`` - stored - Version of firmware stored in the goldfw slot * - ``fw.mainfwa`` - stored - Version of firmware stored in the mainfwa slot * - ``fw.mainfwb`` - stored - Version of firmware stored in the mainfwb slot * - ``asic.id`` - fixed - The ASIC type for this device * - ``asic.rev`` - fixed - The revision of the ASIC for this device Parameters ========== The ``pds_core`` driver implements the following generic parameters for controlling the functionality to be made available as auxiliary_bus devices. .. list-table:: Generic parameters implemented :widths: 5 5 8 82 * - Name - Mode - Type - Description * - ``enable_vnet`` - runtime - Boolean - Enables vDPA functionality through an auxiliary_bus device Firmware Management =================== The ``flash`` command can update a the DSC firmware. The downloaded firmware will be saved into either of firmware bank 1 or bank 2, whichever is not currently in use, and that bank will used for the next boot:: # devlink dev flash pci/0000:b5:00.0 \ file pensando/dsc_fw_1.63.0-22.tar Health Reporters ================ The driver supports a devlink health reporter for FW status:: # devlink health show pci/0000:2b:00.0 reporter fw pci/0000:2b:00.0: reporter fw state healthy error 0 recover 0 # devlink health diagnose pci/0000:2b:00.0 reporter fw Status: healthy State: 1 Generation: 0 Recoveries: 0 Enabling the driver =================== The driver is enabled via the standard kernel configuration system, using the make command:: make oldconfig/menuconfig/etc. The driver is located in the menu structure at: -> Device Drivers -> Network device support (NETDEVICES [=y]) -> Ethernet driver support -> AMD devices -> AMD/Pensando Ethernet PDS_CORE Support Support ======= For general Linux networking support, please use the netdev mailing list, which is monitored by AMD/Pensando personnel:: netdev@vger.kernel.org