STRUCT FALCON_NIC_DATA(9)
β¨ struct falcon_nic_data β the Kernel API Manual, but make it cute β¨
okay so this is the page for struct falcon_nic_data from the Kernel API Manual (struct falcon_nic_data(9), to be official about it) and bestie, it's literally the state-keeping brain of a Falcon NIC. we're gonna go through it together, no stress π
π NAME π
struct falcon_nic_data β Falcon NIC state. that's it, that's the whole vibe. it's the struct where Falcon keeps all its state π¦
πΈ SYNOPSIS πΈ
here's the whole thing, exactly as it lives in the header β don't touch, just admire:
struct falcon_nic_data {
struct pci_dev *pci_dev2;
struct ef4_nic *efx;
struct falcon_board board;
u64 stats[FALCON_STAT_COUNT];
unsigned int stats_disable_count;
bool stats_pending;
struct timer_list stats_timer;
struct falcon_spi_device spi_flash;
struct falcon_spi_device spi_eeprom;
struct mutex spi_lock;
struct mutex mdio_lock;
bool xmac_poll_required;
};
π Members π
every member, one by one, so you know exactly who's who in this friend group:
pci_dev2β the secondary function of Falcon A. yes, secondary. main character energy is elsewhere.efxβ anef4_nicpointer. that's the link back to the bigger ef4_nic world.boardβ board state and functions. the board's whole personality lives here.statsβ hardware statistics. the receipts, basically.stats_disable_countβ nest count for disabling statistics fetches. it's a counter, it nests, that's the whole deal.stats_pendingβ is there a pending DMA of MAC statistics. lowkey just a yes/no β¨stats_timerβ a timer for regularly fetching MAC statistics. it's giving scheduled maintenance πspi_flashβ the SPI flash device.spi_eepromβ the SPI EEPROM device.spi_lockβ the SPI bus lock. please respect it πmdio_lockβ the MDIO bus lock. also please respect it.xmac_poll_requiredβ XMAC link state needs polling. yes ma'am, we poll π
π SEE ALSO π
go look at the kernel file ./drivers/net/ethernet/sfc/falcon/nic.h, and the friends: struct falcon_board_type(9), struct falcon_board(9), and struct falcon_spi_device(9). it's a whole ecosystem, iykyk π
ngl the locks in here are real important βspi_lockandmdio_lockare bus locks, so treat them with the respect they deserve, bestie. no cap.
and that's the whole page, periodt π«Ά this was the struct falcon_nic_data(9) page from the Kernel API Manual, coming at you from ./drivers/net/ethernet/sfc/falcon and dated October 2026 β stan the sfc/falcon directory, she ate π
π₯
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms