qcom_prep_bam_dma_desc_cmd(9)
π qcom_prep_bam_dma_desc_cmd β and yes bestie, that's a kernel API manual page, we're in the big leagues now π
okay so picture this: you're deep in the Linux kernel, you're in the NAND directory, and you need a BAM DMA command descriptor prepped. That's literally the whole vibe of this function. Sit down, grab a π, let's go.
β¨ SYNOPSIS β¨
int qcom_prep_bam_dma_desc_cmd (struct qcom_nand_controller *nandc ,
bool read , int reg_off , const void *vaddr , int size , unsigned int
flags );
like look at that signature. it's giving "I have six arguments and I know how to use them" π
π«Ά ARGUMENTS π«Ά
nandcβ the qpic nand controller. your main character struct, the one everything happens to β¨readβ read or write type.bool, so pick a side bestie, no fence-sitting πreg_offβ offset within the controller's data buffer. it's anint, it's within the buffer, we love a well-behaved offset.vaddrβ virtual address of the buffer we want to write to. it'sconst void *, so hands off the contents π₯sizeβ DMA transaction size in bytes. in BYTES. not vibes. bytes πflagsβ flags to control DMA descriptor preparation.unsigned int, so bring your whole flag collection π
πΈ DESCRIPTION πΈ
so what does it actually do. This function prepares the command descriptor for BAM DMA β the one that gets used for NAND register reads and writes. That's it, that's the whole job, and honestly? iconic. It preps the descriptor so the register reads and writes can do their thing later. no cap, that's the entire description, and we are not going to invent extra lore about it π§
π SEE ALSO π
kernel file ./drivers/mtd/nand/qpic_common.c β that's the home base, go say hi π
and then the whole friend group, in order, bestie:
qcom_free_bam_transaction(9)qcom_alloc_bam_transaction(9)qcom_clear_bam_transaction(9)qcom_qpic_bam_dma_done(9)qcom_nandc_dev_to_mem(9)qcom_prepare_bam_async_desc(9)qcom_prep_bam_dma_desc_data(9)qcom_prep_adm_dma_desc(9)qcom_read_reg_dma(9)qcom_write_reg_dma(9)qcom_read_data_dma(9)qcom_write_data_dma(9)qcom_submit_descs(9)qcom_clear_read_regs(9)qcom_nandc_unalloc(9)qcom_nandc_alloc(9)
heads up bestie: there's no return-value section and no error list on this page, so I'm not gonna make one up. we keep it factual around here π
okay that's the page!! this one lives in ./drivers/mtd/nand, dated October 2026, and it's brought to you by the Kernel API Manual β literally the group chat of kernel documentation. go prep those descriptors, ily, bye π¦πβ¨
π¦ 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