rte_pmd_ifpga.h(3)

🌸 rte_pmd_ifpga.h β€” section 3 of the Library Functions Manual πŸ’–

okay bestie, sit down, hydrate, because this one is the ifpga PMD header and it's lowkey iconic. no cap.


πŸ’… NAME

rte_pmd_ifpga.h β€” the header, the moment, the whole vibe πŸ¦‹


✨ 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

like, five structs, all of them serving πŸ’…

🌈 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

these are the ifpga PMD specific functions. that's the whole point of this header, fr fr.

⚠️ EXPERIMENTAL: this API may change, or be removed, without prior notice. so don't build your whole personality on it πŸ’€

Definition in file rte_pmd_ifpga.h.


🧚 Function Documentation

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

grab the raw device ID from a PCI address string formatted like 'Domain:Bus:Dev.Func' β€” yes bestie, that exact shape, don't freestyle it πŸ’–

Parameters

  • pci_addr β€” the PCI address of the specified Intel FPGA device.
  • dev_id β€” the buffer to output the device ID.

Returns

  • (0) if successful. slay πŸ’…
  • (-EINVAL) if bad parameter. πŸ™ˆ
  • (-ENODEV) if the FPGA is not probed by the ifpga driver. 😭

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

get the current RSU status of the specified Intel FPGA device ✨

Parameters

  • dev_id β€” the raw device ID of the 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 the current RSU status of the specified Intel FPGA device β€” the glow-up version of the getter πŸ¦‹

Parameters

  • dev_id β€” the raw device ID of the 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 the FPGA property of the specified Intel FPGA device πŸŽ€

Parameters

  • dev_id β€” the raw device ID of the specified Intel FPGA device.
  • prop β€” the data pointer of the FPGA property buffer.

Returns

  • (0) if successful. πŸ‘‘
  • (-ENODEV) if dev_id is invalid.
  • (-EBUSY) if the FPGA is rebooting. like give it a minute πŸ’€
  • (-EIO) if it failed to access hardware.

⭐ int rte_pmd_ifpga_get_phy_info (uint16_t dev_id, rte_pmd_ifpga_phy_info * info)

get the PHY information of the specified Intel FPGA device 🌈

Parameters

  • dev_id β€” the raw device ID of the specified Intel FPGA device.
  • info β€” the data pointer of the PHY information buffer.

Returns

  • (0) if successful. ✨
  • (-ENODEV) if dev_id is invalid.
  • (-EBUSY) if the FPGA is rebooting. (again. it's going through something.)
  • (-EIO) if it failed to access hardware.

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

update the image flash of the specified Intel FPGA device πŸ”₯

Parameters

  • dev_id β€” the raw device ID of the specified Intel FPGA device.
  • image β€” the image file name string.
  • status β€” the detailed update status, for debug purposes. iykyk.

Returns

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

⭐ int rte_pmd_ifpga_stop_update (uint16_t dev_id, int force)

stop the flash update of the specified Intel FPGA device βœ‹ not me pulling the plug bestie

Parameters

  • dev_id β€” the raw device ID of the 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 it failed with force. 😭

⭐ int rte_pmd_ifpga_reboot_try (uint16_t dev_id)

check the current Intel FPGA status, and flip it over to reboot status if it's idle β€” a little vibe check before the chaos πŸ’…

Parameters

  • dev_id β€” the raw device ID of the specified Intel FPGA device.

Returns

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

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

trigger a full reconfiguration of the specified Intel FPGA device 🌟 main character energy fr

Parameters

  • dev_id β€” the raw device ID of the specified Intel FPGA device.
  • type β€” select reconfiguration type. 0 β€” reconfigure FPGA only. 1 β€” reboot the whole card, including the FPGA.
  • page β€” select which flash partition the image comes from. 0 β€” factory partition. 1 β€” user partition.

Returns

  • (0) if successful. πŸ’–
  • (-ENODEV) if dev_id is invalid.
  • (-EINVAL) if bad parameter.
  • (-EBUSY) if it failed to access the BMC register.

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

perform PR, aka partial reconfiguration, on the specified Intel FPGA device 🧚 the partial is doing a lot of work here, respect it

Parameters

  • dev_id β€” the raw device ID of the 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 the operation failed.
  • (-ENOMEM) if it failed to allocate memory.

⭐ void rte_pmd_ifpga_cleanup (void )

free the software resources allocated by the Intel FPGA PMD β€” the closing-the-tabs moment, we love a tidy queen πŸŽ€


πŸ¦‹ Author

Generated automatically by Doxygen for DPDK from the source code. (not a human, not a bestie, just vibes and tooling, no cap)


and that's the whole page, bestie πŸ’œ this was rte_pmd_ifpga.h(3) from DPDK Version 25.11.3 β€” periodt. go forth and reconfigure responsibly. πŸ’…βœ¨

πŸ“¦ where this page comes from