STRUCT GFAR_PRIV_RX_Q(9)
π struct gfar_priv_rx_q(9) π
okay so bestie, welcome to the Kernel API Manual, section 9 β this is the whole entire page for struct gfar_priv_rx_q, aka the per rx queue structure β¨ like, one (1) receive queue's whole personality in a single C struct. she's giving main character energy and honestly she ate π
β¨ SYNOPSIS β¨
struct gfar_priv_rx_q {
struct gfar_rx_buff *rx_buff;
struct rxbd8 *rx_bd_base;
struct net_device *ndev;
struct device *dev;
u16 rx_ring_size;
u16 qindex;
struct gfar_priv_grp *grp;
u16 next_to_clean;
u16 next_to_use;
u16 next_to_alloc;
struct sk_buff *skb;
struct rx_q_stats stats;
u32 __iomem *rfbptr;
unsigned char rxcoalescing;
unsigned long rxic;
dma_addr_t rx_bd_dma_base;
};
like, there she is. no cap, that's the whole struct π
πΈ Members πΈ
so the page spells out some of these for us, and the rest are just⦠vibing in the struct with no narration (iykyk). going in order, here's what the doc actually tells us:
rx_buffβ array of buffer info metadata structs π¦ the little info cards for each buffer, basicallyrx_bd_baseβ first rx buffer descriptor β like, the starting point of the descriptor lineupndevβ back pointer tonet_deviceπ a little pointer that leads back homedevβ (it's in the struct! the page doesn't say anything else about it, so neither will I π)rx_ring_sizeβ Rx ring size π yes the ring. the ring size. that's the whole description and I respect the brevityqindexβ index of this queue π₯ which queue this is, numericallygrpβ (present in the struct, no description given β she's mysterious β¨)next_to_cleanβ index of the next buffer to be cleaned π§Ή the one you're gonna clean nextnext_to_useβ index of the next buffer to be alloc'd π the one that's up next to get allocatednext_to_allocβ (again, in the struct with no write-up β cute, private, no notes π )skbβ (listed in the struct, undisclosed lore π«Ά)statsβ astruct rx_q_stats, hanging out in there without a description πrfbptrβ also undescribed! it's au32 __iomem *and that's all we get πrxcoalescingβ enable/disable rx-coalescing β the on/off switch, that's it that's the jobrxicβ receive interrupt coalescing value π₯ (the page spells it "vlaue" and honestly? iconic typo, we stan)rx_bd_dma_baseβ (in the struct, no description given β leaving us on read π)
real talk: if a member shows up in the struct but the Members list doesn't explain it, I'm not making up lore for it. no invented facts on this page, periodt π just telling you it's there.
π¦ SEE ALSO π¦
- Kernel file
./drivers/net/ethernet/freescale/gianfar.hstructgfar_priv_tx_q(9), structgfar_priv_grp(9)β go read the tx queue's page and the group's page too, they're literally her besties πΈ
and that's the page!! π this little beauty lives over at ./drivers/net/ethernet/freescale, dated October 2026, and yes the header up top really does say struct gfar_priv_rx_q(9) β ty for coming to my ted talk, mwah ππ«Ά
π¦ 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