Scroll to navigation

rte_pmd_ifpga.h(3) DPDK rte_pmd_ifpga.h(3)

NAME

rte_pmd_ifpga.h

SYNOPSIS

#include <stdint.h>

Data Structures


struct rte_pmd_ifpga_uuid
struct rte_pmd_ifpga_common_prop
struct rte_pmd_ifpga_port_prop
struct rte_pmd_ifpga_prop
struct rte_pmd_ifpga_phy_info

Functions


int rte_pmd_ifpga_get_dev_id (const char *pci_addr, uint16_t *dev_id)
int rte_pmd_ifpga_get_rsu_status (uint16_t dev_id, uint32_t *stat, uint32_t *prog)
int rte_pmd_ifpga_set_rsu_status (uint16_t dev_id, uint32_t stat, uint32_t prog)
int rte_pmd_ifpga_get_property (uint16_t dev_id, rte_pmd_ifpga_prop *prop)
int rte_pmd_ifpga_get_phy_info (uint16_t dev_id, rte_pmd_ifpga_phy_info *info)
int rte_pmd_ifpga_update_flash (uint16_t dev_id, const char *image, uint64_t *status)
int rte_pmd_ifpga_stop_update (uint16_t dev_id, int force)
int rte_pmd_ifpga_reboot_try (uint16_t dev_id)
int rte_pmd_ifpga_reload (uint16_t dev_id, int type, int page)
int rte_pmd_ifpga_partial_reconfigure (uint16_t dev_id, int port, const char *file)
void rte_pmd_ifpga_cleanup (void)

Detailed Description

ifpga PMD specific functions.

EXPERIMENTAL: this API may change, or be removed, without prior notice

Definition in file rte_pmd_ifpga.h.

Function Documentation

int rte_pmd_ifpga_get_dev_id (const char * pci_addr, uint16_t * dev_id)

Get raw device ID from PCI address string like 'Domain:Bus:Dev.Func'

Parameters

pci_addr The PCI address of specified Intel FPGA device.
dev_id The buffer to output device ID.

Returns

  • (0) if successful.
  • (-EINVAL) if bad parameter.
  • (-ENODEV) if FPGA is not probed by ifpga driver.

int rte_pmd_ifpga_get_rsu_status (uint16_t dev_id, uint32_t * stat, uint32_t * prog)

Get current RSU status of the specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
stat The buffer to output RSU status.
prog The buffer to output RSU progress.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-ENOMEM) if share data is not initialized.

int rte_pmd_ifpga_set_rsu_status (uint16_t dev_id, uint32_t stat, uint32_t prog)

Set current RSU status of the specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
stat The RSU status value to set.
prog The RSU progress value to set.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-ENOMEM) if share data is not initialized.

int rte_pmd_ifpga_get_property (uint16_t dev_id, rte_pmd_ifpga_prop * prop)

Get FPGA property of specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
prop The data pointer of FPGA property buffer.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-EBUSY) if FPGA is rebooting.
  • (-EIO) if failed to access hardware.

int rte_pmd_ifpga_get_phy_info (uint16_t dev_id, rte_pmd_ifpga_phy_info * info)

Get PHY information of specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
info The data pointer of PHY information buffer.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-EBUSY) if FPGA is rebooting.
  • (-EIO) if failed to access hardware.

int rte_pmd_ifpga_update_flash (uint16_t dev_id, const char * image, uint64_t * status)

Update image flash of specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
image The image file name string.
status The detailed update status for debug.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-EINVAL) if bad parameter or staging area is not initialized.
  • (-EBUSY) if FPGA is updating or rebooting.
  • (-EIO) if failed to open image file.

int rte_pmd_ifpga_stop_update (uint16_t dev_id, int force)

Stop flash update of specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
force Abort the update process by writing register if set non-zero.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-EINVAL) if bad parameter.
  • (-EAGAIN) if failed with force.

int rte_pmd_ifpga_reboot_try (uint16_t dev_id)

Check current Intel FPGA status and change it to reboot status if it is idle

Parameters

dev_id The raw device ID of specified Intel FPGA device.

Returns

  • (0) if FPGA is ready to reboot.
  • (-ENODEV) if dev_id is invalid.
  • (-ENOMEM) if share data is not initialized.
  • (-EBUSY) if FPGA is updating or rebooting.

int rte_pmd_ifpga_reload (uint16_t dev_id, int type, int page)

Trigger full reconfiguration of specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
type Select reconfiguration type. 0 - reconfigure FPGA only. 1 - reboot the whole card including FPGA.
page Select image from which flash partition. 0 - factory partition. 1 - user partition.

Returns

  • (0) if successful.
  • (-ENODEV) if dev_id is invalid.
  • (-EINVAL) if bad parameter.
  • (-EBUSY) if failed to access BMC register.

int rte_pmd_ifpga_partial_reconfigure (uint16_t dev_id, int port, const char * file)

Perform PR (partial reconfiguration) on specified Intel FPGA device

Parameters

dev_id The raw device ID of specified Intel FPGA device.
port The port index of the partial reconfiguration area.
file The GBS (Green BitStream) image file name string.

Returns

  • (0) if successful.
  • (-EINVAL) if bad parameter or operation failed.
  • (-ENOMEM) if failed to allocate memory.

void rte_pmd_ifpga_cleanup (void)

Free software resources allocated by Intel FPGA PMD

Author

Generated automatically by Doxygen for DPDK from the source code.

Fri Dec 15 2023 Version 23.11.0