STRUCT PCH_GBE_TX_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pch_gbe_tx_desc(9)

okay bestie, gather round, because we're cracking open the Kernel API Manual (section 9, obviously) and today's main character is struct pch_gbe_tx_desc β€” the Transmit Descriptor. it's giving "small struct, huge responsibilities." no cap. πŸŽ€


✨ NAME ✨

struct pch_gbe_tx_desc β€” Transmit Descriptor. that's it, that's the vibe. she's a descriptor and she transmits. iconic behaviour fr fr. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole glow-up, copied exactly so you don't have to squint at the original:

struct pch_gbe_tx_desc {
    u32 buffer_addr;
    u16 length;
    u16 reserved1;
    u16 tx_words_eob;
    u16 tx_frame_ctrl;
    u8 dma_status;
    u8 reserved2;
    u16 gbec_status;
 };

look at her. fields all lined up, types all matching, a couple of reserved slots doing absolutely nothing but holding space like a true supportive bestie. we stan. 🫢


🌸 Members 🌸

okay so let's meet the cast, one field at a time, and yes i will be giving each one a moment:

  • buffer_addr β€” TX Frame Buffer Address. this is where the frame's buffer lives. the address. of the buffer. for the frame. that's being transmitted. literally the whole point of her existence. πŸ“
  • length β€” Data buffer length. how long the data buffer is. she's telling you the size, bestie, please respect it. πŸ“
  • reserved1 β€” Reserved. no thoughts, head empty, do not touch. πŸ™ˆ
  • tx_words_eob β€” TX word count and Byte position. words and bytes, she contains multitudes. πŸ”₯
  • tx_frame_ctrl β€” TX Frame Control. the control bits for the TX frame. she's in charge. main character energy honestly. πŸ‘‘
  • dma_status β€” DMA Status. the status. of the DMA. (it's a u8, she's little but she knows things.) ⭐
  • reserved2 β€” Reserved. second reserved slot, also doing nothing, also slaying at it. πŸ’€
  • gbec_status β€” GMAC Status. the GMAC status lives here. that's the whole descriptor, start to finish, no skips. πŸ’–

quick vibe check: reserved1 and reserved2 are Reserved. don't write cute little values into them. they are not for you. periodt. 🚫

πŸ’œ SEE ALSO πŸ’œ

go read these next, iykwisp:

  • Kernel file ./drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h β€” that's where she lives 🏠
  • struct pch_gbe_mac_info(9)
  • struct pch_gbe_phy_info(9)
  • struct pch_gbe_rx_desc(9) β€” her sibling!! the receive one, we love a duo πŸ’ž
  • struct pch_gbe_buffer(9)
  • struct pch_gbe_tx_ring(9)
  • struct pch_gbe_rx_ring(9)
  • struct pch_gbe_hw_stats(9)
  • struct pch_gbe_privdata(9)
  • struct pch_gbe_adapter(9)

anyway that's the whole page, you ate that, go forth and transmit responsibly πŸ’…βœ¨

source situation: ./drivers/net/ethernet/oki-sem... β€” october 2026, struct pch_gbe_tx_desc(9), and that's the cute lil sign-off bestie, love u, bye! πŸŽ€πŸŒˆ

πŸ“¦ where this page comes from