STRUCT STEDMA40_PLATFORM_DATA(9)
๐ struct stedma40_platform_data(9) ๐
okay bestie, welcome to the Kernel API Manual โจ โ this is the page for struct stedma40_platform_data, no cap. It's the configuration struct for the dma device, and honestly it's giving "small struct, big responsibilities" energy ๐
๐ธ NAME ๐ธ
struct stedma40_platform_data โ Configuration struct for the dma device.
๐ SYNOPSIS ๐
struct stedma40_platform_data {
int disabled_channels[STEDMA40_MAX_PHYS];
int *soft_lli_chans;
int num_of_soft_lli_chans;
bool use_esram_lcla;
int num_of_memcpy_chans;
int num_of_phy_chans;
};
like, look at her. six fields. main character struct fr fr ๐
๐ฆ Members ๐ฆ
disabled_channelsโ a vector, ending with-1, that marks physical channels that are, for different reasons, not available for the driver. so basically the "do not touch, she's busy" list ๐ and yeah, it's terminated by-1, don't forget the-1.soft_lli_chansโ a vector that marks which physical channels will use LLI by SW, which avoids a HW bug that exists in some versions of the controller. lowkey iconic workaround โจ but heads up: SoftLLI introduces relink overhead that could impact performance for certain use cases. so, tradeoffs, bestie ๐ญnum_of_soft_lli_chansโ the number of channels that needs to be configured to use SoftLLI. count them. accurately. ๐งฎuse_esram_lclaโ flag for mapping the lcla into esram region. a flag! it's a flag! ๐ฉnum_of_memcpy_chansโ the number of channels reserved for memcpy. reserved! like a VIP section ๐๏ธnum_of_phy_chansโ the number of physical channels implemented in HW.0means reading the number of channels from DMA HW, but โ and this is the important part, don't skip it โ this is only valid for'multiple of 4'channels, like8. so0is not a free-for-all, it's a whole vibe check on your channel count โญ
ngl the0case and the'multiple of 4'thing are the bits people mess up, so likeโฆ read them twice bestie ๐ซถ
๐ SEE ALSO ๐
go read the Kernel file ./drivers/dma/ste_dma40.c โ that's the mothership ๐ โ plus these iconique friends:
enum d40_command(9)struct d40_interrupt_lookup(9)struct d40_reg_val(9)struct d40_lli_pool(9)struct d40_desc(9)struct d40_lcla_pool(9)struct d40_phy_res(9)struct d40_chan(9)struct d40_gen_dmac(9)struct d40_base(9)
a whole friend group, honestly ๐
okay that's the page!! this one lives in ./drivers/dma, it's dated October 2026, and it's literally struct stedma40_platform_data(9) โ go forth and configure your dma device responsibly, bestie ๐โจ๐
๐ฆ 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