Provided by: dpdk-doc_24.11.2-2_all bug

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.

DPDK                                             Version 24.11.2                              rte_pmd_ifpga.h(3)