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.