icssm_emac_rx_packet(9)
π NAME π
icssm_emac_rx_packet β the EMAC Receive function, aka the little guy whose whole job is grabbing packets off the receive queue π
Ok so real talk, this is page icssm_emac_rx_packet(9) from the Kernel API Manual, and it is so much less scary than the name makes it sound. Sit with me bestie, we're gonna get through it together π«Ά
β¨ SYNOPSIS β¨
int icssm_emac_rx_packet (struct prueth_emac *emac , u16 *bd_rd_ptr ,
struct prueth_packet_info *pkt_info , const struct prueth_queue_info
*rxqueue );
Like, yes, that's a whole lot of asterisks in one line π but it's just four pointers and an int coming back at you. That's it. That's the whole vibe check and it passed π
πΈ ARGUMENTS πΈ
emacβ the EMAC data structure π your main character, the whole reason we're here.bd_rd_ptrβ the Buffer descriptor read pointer π¦ it's au16 *, so she's pointing at a 16-bit value, no cap.pkt_infoβ the packet information structure π this is where the packet tea gets stored.rxqueueβ the Receive queue information structure β¨ and note theconst, she's read-only, don't even think about touching her.
π₯ DESCRIPTION π₯
Get a packet from receive queue.
That's the whole thing, bestie. That's the assignment. It literally just goes and fetches a packet out of the receive queue and hands it over π iconic behaviour, honestly. No drama, no surprises, just receive-queue-to-you pipeline realness π
β RETURN β
Returns 0 β that's Success π so if you see a 0 come back, everything ate and left no crumbs π
π¦ SEE ALSO π¦
The kernel file lives at ./drivers/net/ethernet/ti/icssm/icssm_prueth.c β go read it, iykyk π
And here's the whole friend group, all of them (9) sections, all of them worth a look:
icssm_emac_rx_irq(9)icssm_prueth_tx_enqueue(9)icssm_emac_ndo_open(9)icssm_emac_ndo_stop(9)icssm_emac_ndo_start_xmit(9)icssm_emac_ndo_get_stats64(9)icssm_emac_ndo_set_rx_mode(9)
ngl if you only remember one thing: it takes four args, it returns 0 on success, and it pulls a packet off the receive queue. Slay π«Ά
Ok byeee, this little page comes to you from the ./drivers/net/ethernet/ti/icssm corner of the world, dated October 2026, and it's filed under icssm_emac_rx_packet(9) πβ¨π
π¦ 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