ppc440spe_ad...ssue_pending(9)
π ppc440spe_ad...ssue_pending(9) π
okay so this is a page out of the Kernel API Manual bestie, and it's literally the manual page for ppc440spe_ad...ssue_pending(9). pull up a chair, we're getting into it β¨
πΈ NAME πΈ
ppc440spe_adma_issue_pending β flush all pending descriptors to h/w
like, all of them. flushed. to the hardware. no leftovers, no "oops forgot one" energy π
π¦ SYNOPSIS π¦
void ppc440spe_adma_issue_pending (struct dma_chan *chan );
that's it. that's the whole signature. returns void, so don't be out here expecting a return value, because there isn't one π
π«Ά ARGUMENTS π«Ά
chanβ-- undescribed --
and yes bestie, the original page literally says -- undescribed -- for this one π the docs said "we're not telling you" and honestly? iconic of them. it's a struct dma_chan * and that's all the page gives us, so that's all we're passing along. no cap, no invented lore π
real talk: don't make up what chan does beyond what's written here β the page is silent on it, so we stay silent too π
π SEE ALSO π
first up, the kernel file this whole thing lives in:
Kernel file ./drivers/dma/ppc4xx/adma.c
and then the full squad β every single sibling function, no skipping, no summarising, because we don't do that here π₯:
ppc440spe_desc_init_interrupt(9)ppc440spe_desc_init_null_xor(9)ppc440spe_desc_init_xor(9)ppc440spe_desc_init_dma2pq(9)ppc440spe_desc_init_dma01pq(9)ppc440spe_desc_init_dma01pqzero_sum(9)ppc440spe_desc_init_memcpy(9)ppc440spe_desc_set_src_addr(9)ppc440spe_desc_set_src_mult(9)ppc440spe_desc_set_dest_addr(9)ppc440spe_desc_set_byte_count(9)ppc440spe_desc_set_rxor_block_size(9)ppc440spe_desc_set_dcheck(9)ppc440spe_xor_set_link(9)ppc440spe_desc_set_link(9)ppc440spe_desc_get_link(9)ppc440spe_desc_is_aligned(9)ppc440spe_chan_xor_slot_count(9)ppc440spe_dma2_pq_slot_count(9)ppc440spe_adma_device_clear_eot_status(9)ppc440spe_chan_is_busy(9)ppc440spe_chan_set_first_xor_descriptor(9)ppc440spe_dma_put_desc(9)ppc440spe_chan_append(9)ppc440spe_chan_get_current_descriptor(9)ppc440spe_chan_run(9)ppc440spe_can_rxor(9)ppc440spe_get_group_entry(9)ppc440spe_adma_free_slots(9)ppc440spe_adma_run_tx_complete_actions(9)ppc440spe_adma_clean_slot(9)__ppc440spe_adma_slot_cleanup(9)ppc440spe_adma_tasklet(9)ppc440spe_adma_slot_cleanup(9)ppc440spe_adma_alloc_slots(9)ppc440spe_adma_alloc_chan_resources(9)ppc440spe_rxor_set_src(9)ppc440spe_rxor_set_mult(9)ppc440spe_adma_check_threshold(9)ppc440spe_adma_tx_submit(9)ppc440spe_adma_prep_dma_interrupt(9)ppc440spe_adma_prep_dma_memcpy(9)ppc440spe_adma_prep_dma_xor(9)ppc440spe_adma_init_dma2rxor_slot(9)ppc440spe_dma01_prep_mult(9)ppc440spe_dma01_prep_sum_product(9)ppc440spe_adma_prep_dma_pq(9)ppc440spe_adma_prep_dma_pqzero_sum(9)ppc440spe_adma_prep_dma_xor_zero_sum(9)ppc440spe_adma_set_dest(9)ppc440spe_adma_pq_set_dest(9)ppc440spe_desc_set_xor_src_cnt(9)ppc440spe_adma_pq_set_src(9)ppc440spe_adma_memcpy_xor_set_src(9)ppc440spe_adma_dma2rxor_inc_addr(9)ppc440spe_adma_dma2rxor_prep_src(9)ppc440spe_adma_dma2rxor_set_src(9)ppc440spe_adma_dma2rxor_set_mult(9)ppc440spe_init_rxor_cursor(9)ppc440spe_adma_pq_set_src_mult(9)ppc440spe_adma_free_chan_resources(9)ppc440spe_adma_tx_status(9)ppc440spe_adma_eot_handler(9)ppc440spe_adma_err_handler(9)ppc440spe_test_callback(9)ppc440spe_chan_start_null_xor(9)ppc440spe_test_raid6(9)ppc440spe_adma_probe(9)ppc440spe_adma_remove(9)
that's the whole page bestie, short and sweet, and every single reference is accounted for π
and for the cute sign-off: this one's from ./drivers/dma/ppc4xx, dated October 2026 π go read it, slay, and don't forget to actually flush your pending descriptors πβ¨
π¦ 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