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

devlink info versions implemented

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.

Generic parameters implemented

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