pdc_rx_list_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ NAME πŸ‘‘

pdc_rx_list_init β€” Start a new receive descriptor list for a given PDC. This page is from the Kernel API Manual, bestie ✨


🌸 SYNOPSIS 🌸

Here's the exact spell you cast:

int pdc_rx_list_init (struct pdc_state *pdcs , struct scatterlist
       *dst_sg , void *ctx );

πŸŽ€ ARGUMENTS πŸŽ€

  • pdcs β€” PDC state for SPU handling request. It's the state buddy holding the request info, iykyk.
  • dst_sg β€” scatterlist providing rx buffers for response to be returned to mailbox client. This is the buffer crew for the response going back to the mailbox client.
  • ctx β€” Opaque context for this request. Literally opaque, no peeking πŸ‘€

πŸ’– DESCRIPTION πŸ’–

Okay so this function posts a single receive descriptor to hold the metadata that precedes a response. For example, with SPU-M, that metadata is a 32-byte DMA header and an 8-byte BCM header. Iconic little metadata stack, honestly.

Then it moves the msg_start descriptor indexes for both tx and rx to indicate the start of a new message. Fresh message, fresh indexes β€” main character reset energy πŸ’…


πŸ”₯ RETURN πŸ”₯

  • PDC_SUCCESS β€” when it's successful πŸ’–
  • < 0 β€” when there's an error (e.g., rx ring is full) 😭

🌈 SEE ALSO 🌈

Kernel file: ./drivers/mailbox/bcm-pdc-mailbox.c

Also these besties:


Source/version + date: this one lives under ./drivers/mailbox and is dated October 2026 β€” from the Kernel API Manual. Bye bestie, go init that receive descriptor list πŸ’œπŸ«Ά

πŸ“¦ where this page comes from