STRUCT DW_EDMA_PLAT_OPS(9)
π¦ struct dw_edma_plat_ops(9) β the Kernel API Manual, bestie edition π¦
okay so picture this: you're deep in the kernel, you've got a DW eDMA chip, and it needs to know stuff that only your platform knows. that's literally this struct. it's the little hook-up spot where the generic eDMA code asks "hey, where's the IRQ?" and "hey, what's the PCIe address for this CPU address?" and your platform code answers. plat-specific methods, no cap. β¨
πΈ NAME πΈ
struct dw_edma_plat_ops β platform-specific eDMA methods. that's it, that's the vibe. π«Ά
π SYNOPSIS π
like, here's the whole thing, it's giving tiny-but-powerful:
struct dw_edma_plat_ops {
int (*irq_vector)(struct device *dev, unsigned int nr);
u64 (*pci_address)(struct device *dev, phys_addr_t cpu_addr);
};
β¨ Members β¨
irq_vectorβ get the IRQ number of the eDMA channel you passed in. β‘ note (and this is the part ppl trip on, iykyk) that this method takes the channel id in the end-to-end numbering, with the eDMA write channels placed first in the row. so like, writes get to the front of the line, main character energy honestly. πpci_addressβ get the PCIe bus address that corresponds to the CPU address you passed. π₯ note: there's no need to specify this function if the address translation is already being done by the DW PCIe RP/EP controller with the DW eDMA device in subject, andDMA_BYPASSisn't set for all the outbound iATU windows. because in that case, the controller just handles it automatically for you. slay, no extra work. π
π SEE ALSO π
- Kernel file
./include/linux/dma/edma.h enum dw_edma_chip_flags(9)enum dw_edma_ch_irq_mode(9)struct dw_edma_chip(9)
go read those too, they're lowkey essential and they ate. π
okay that's the whole page, mwah π this came from the ./include/linux/dma corner of the kernel, dated October 2026, and it's chillin' in the Kernel API Manual β struct dw_edma_plat_ops(9), periodt. π§ββοΈπβ
π¦ 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