← Documents Documentation/networking/device_drivers/ethernet/amd/pds_core.rst GitHub 원문 ↗

Linux 6.18.37 · Networking

Linux Driver for the AMD/Pensando DSC adapter family

AMD/Pensando DSC adapter의 PCI 식별, devlink version·flash·health, auxiliary_bus 기능과 kernel 설정을 설명합니다.

Source pathDocumentation/networking/device_drivers/ethernet/amd/pds_core.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

pds_core.rst:1-139

`pds_core`는 AMD/Pensando DSC PCI Core device를 발견하고, auxiliary bus 기능과 firmware lifecycle을 devlink 중심으로 관리하는 core driver입니다.

Adapter 확인
`lspci -d 1dd8:100c`Pensando Device 100c`pds_core.ko` probeKernel bandwidth·FW log`devlink dev info`

PCI ID부터 driver log와 devlink 정보까지 순서대로 확인합니다.

Version 정보 분류
분류Field의미
fixed`asic.id`, `asic.rev`Hardware type·revision
running`fw`현재 실행 firmware
stored`fw.goldfw`복구용 gold slot
stored`fw.mainfwa`, `fw.mainfwb`주 firmware bank

Devlink는 변경 가능성에 따라 fixed, running, stored로 나눕니다.

Firmware bank 선택
현재 bank기록 대상적용 시점
Bank 1 사용 중Bank 2다음 boot
Bank 2 사용 중Bank 1다음 boot

Flash는 현재 사용하지 않는 bank를 갱신해 다음 boot에 적용합니다.

Firmware update
Firmware tar 선택`devlink dev flash`비활성 bank 저장다음 boot새 bank 실행

운영 중인 bank를 직접 덮어쓰지 않는 update 흐름입니다.

Generic parameter
NameModeType기능
`enable_vnet`runtimeBooleanauxiliary_bus를 통한 vDPA 활성화

현재 문서가 설명하는 runtime parameter입니다.

FW health 확인
Command확인 정보
`devlink health show ... reporter fw`state, error, recover
`devlink health diagnose ... reporter fw`status, generation, recoveries

Reporter 상태와 상세 진단을 구분합니다.

Kernel menu 경로
Device DriversNetwork device supportEthernet driver supportAMD devicesPDS_CORE Support

PDS_CORE option의 configuration 계층입니다.

운영 점검표
단계도구·대상
PCI 식별`lspci -d 1dd8:100c`
Probe 확인`dmesg | grep pds_core`
Version 확인`devlink dev info`
FW 상태devlink health reporter
지원`netdev@vger.kernel.org`

Device 식별부터 지원 요청까지 필요한 핵심 항목입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
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
140

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

AMD/Pensando DSC adapter 식별

1-45

AMD/Pensando(R) DSC adapter family용 Linux driver

Copyright(c) 2023 Advanced Micro Devices, Inc

Adapter 식별

Host에 AMD/Pensando PCI Core device가 하나 이상 설치되어 있는지 확인하려면 다음과 같이 PCI device를 조회합니다.

# lspci -d 1dd8:100c
b5:00.0 Processing accelerators: Pensando Systems Device 100c
b6:00.0 Processing accelerators: Pensando Systems Device 100c

위와 같은 device가 표시되면 `pds_core.ko` driver가 device를 찾아 사용할 수 있도록 설정해야 합니다. Kernel message에는 다음과 같은 log가 있어야 합니다.

$ 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와 firmware version 정보는 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
.. 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

Devlink info version field

46-75

Info version

`pds_core` driver는 다음 version 정보를 보고합니다.

  • `fw` / running: device에서 현재 실행 중인 firmware version입니다.
  • `fw.goldfw` / stored: `goldfw` slot에 저장된 firmware version입니다.
  • `fw.mainfwa` / stored: `mainfwa` slot에 저장된 firmware version입니다.
  • `fw.mainfwb` / stored: `mainfwb` slot에 저장된 firmware version입니다.
  • `asic.id` / fixed: 이 device의 ASIC type입니다.
  • `asic.rev` / fixed: 이 device의 ASIC revision입니다.
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

Parameter와 firmware 관리

76-104

Parameter

`pds_core` driver는 `auxiliary_bus` device로 제공할 기능을 제어하기 위해 다음 generic parameter를 구현합니다.

`enable_vnet`은 runtime Boolean parameter입니다. Auxiliary bus device를 통해 vDPA 기능을 활성화합니다.

Firmware 관리

`flash` command로 DSC firmware를 update할 수 있습니다. Download한 firmware는 현재 사용하지 않는 firmware bank 1 또는 bank 2에 저장되며, 다음 boot에서 그 bank를 사용합니다.

# devlink dev flash pci/0000:b5:00.0 \
          file pensando/dsc_fw_1.63.0-22.tar
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

Devlink health reporter

105-116

Health reporter

Driver는 firmware 상태를 위한 devlink health reporter를 지원합니다.

# 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

`show`는 reporter의 health, error, recovery counter를 보여주며 `diagnose`는 status, state, generation, recovery 정보를 진단합니다.

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

Driver 활성화와 지원

117-139

Driver 활성화

Driver는 표준 kernel configuration system을 통해 활성화합니다. 다음과 같은 make command를 사용합니다.

make oldconfig/menuconfig/etc.

Driver의 menu 위치는 다음과 같습니다.

-> Device Drivers
  -> Network device support (NETDEVICES [=y])
    -> Ethernet driver support
      -> AMD devices
        -> AMD/Pensando Ethernet PDS_CORE Support

지원

일반 Linux networking 지원은 AMD/Pensando 담당자가 확인하는 netdev mailing list를 이용하십시오.

netdev@vger.kernel.org
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