pdc_mb_init(9)
π pdc_mb_init(9) π
okay so welcome to the Kernel API Manual bestie, this page is literally all about pdc_mb_init and we're gonna get you so comfy with it π«Ά
πΈ NAME πΈ
pdc_mb_init β initialize the mailbox controller β¨
π¦ SYNOPSIS π¦
int pdc_mb_init (struct pdc_state *pdcs );
like, that's the whole signature, no cap π
π ARGUMENTS π
pdcsβ the PDC state π that's it, that's the whole argument
π DESCRIPTION π
okay so here's the vibe π: each PDC is a mailbox controller, and each ringset is a mailbox channel. iconic setup tbh.
the kernel driver? only uses one ringset, so consequently one mb channel β the driver is monogamous with its ringset, we respect that ππ
and PDC uses the transmit complete interrupt to figure out when a mailbox message has successfully been transmitted π like it literally waits for the interrupt to tell it "yeah babe it went through" β¨ periodt.
β RETURN β
0on success π slay< 0if there is an allocation or registration failure π not slay
π₯ SEE ALSO π₯
kernel file ./drivers/mailbox/bcm-pdc-mailbox.c β go read it, iykyk π
pdc_setup_debugfs(9)pdc_build_rxd(9)pdc_build_txd(9)pdc_receive_one(9)pdc_receive(9)pdc_tx_list_sg_add(9)pdc_tx_list_final(9)pdc_rx_list_init(9)pdc_rx_list_sg_add(9)pdc_irq_handler(9)pdc_work_cb(9)pdc_ring_init(9)pdc_desc_count(9)pdc_rings_full(9)pdc_last_tx_done(9)pdc_send_data(9)pdc_hw_init(9)pdc_hw_disable(9)pdc_rx_buf_pool_create(9)pdc_interrupts_init(9)pdc_dt_read(9)pdc_probe(9)
and that's the whole page bestie π this lil gem lives in ./drivers/mailbox and it's dated October 2026 ποΈβ¨ mwah, go forth and init some mailboxes π§π
π¦ 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