ppc440spe_dm..._sum_product(9)
π NAME π
ppc440spe_dma01_prep_sum_product β okay so this one is the Dx = A*(P+Pxy) + B*(Q+Qxy) operation, and the little plot twist is that the destination is also the source. main character energy tbh β¨
πΈ SYNOPSIS πΈ
struct ppc440spe_adma_desc_slot * ppc440spe_dma01_prep_sum_product
(struct ppc440spe_adma_chan *ppc440spe_chan , dma_addr_t *dst ,
dma_addr_t *src , int src_cnt , const unsigned char *scf , size_t len ,
unsigned long flags );
Like, breathe. It's a lot of words, bestie, but it's just one function returning a struct ppc440spe_adma_desc_slot *. Slay π«Ά
π ARGUMENTS π
Not me having to tell you this, but the manual page literally gives us nothing for these. Every single one is marked -- undescribed --. No cap. So here's the full roster, all seven of them, exactly as mysterious as the original says:
ppc440spe_chanβ-- undescribed --πdstβ-- undescribed --πsrcβ-- undescribed --πsrc_cntβ-- undescribed --πscfβ-- undescribed --πlenβ-- undescribed --πflagsβ-- undescribed --π
Bestie, do not come for me about the empty descriptions β that's genuinely what the page says. Seven arguments, seven vibes, zero documentation. It's giving "figure it out yourself" π
π¦ SEE ALSO π¦
The kernel file lives at ./drivers/dma/ppc4xx/adma.c β go read the source, iykyk π
And because this function does not roll alone, here's the whole friend group, every single one of them, in order:
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_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_adma_issue_pending(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 β¨ courtesy of the Kernel API Manual, straight out of ./drivers/dma/ppc4xx, dated October 2026, and answering to the name ppc440spe_dm..._sum_product(9). Obsessed with her, honestly π
ππ¦
π¦ 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