STRUCT SH_DMAE_PDATA(9)
โจ struct sh_dmae_pdata(9) โจ
okay bestie, welcome to the Kernel API Manual entry for struct sh_dmae_pdata โ literally the DMAC platform data struct and she is carrying a lot of fields ๐
๐ธ NAME ๐ธ
struct sh_dmae_pdata โ DMAC platform data ๐
๐ฆ SYNOPSIS ๐ฆ
struct sh_dmae_pdata {
const struct sh_dmae_slave_config *slave;
int slave_num;
const struct sh_dmae_channel *channel;
int channel_num;
unsigned int ts_low_shift;
unsigned int ts_low_mask;
unsigned int ts_high_shift;
unsigned int ts_high_mask;
const unsigned int *ts_shift;
int ts_shift_num;
u16 dmaor_init;
unsigned int chcr_offset;
u32 chcr_ie_bit;
unsigned int dmaor_is_32bit:1;
unsigned int needs_tend_set:1;
unsigned int no_dmars:1;
unsigned int chclr_present:1;
unsigned int chclr_bitwise:1;
unsigned int slave_only:1;
};
look at her. all those bitfields at the bottom? that's main character energy fr fr ๐
๐ Members ๐
time for the vibe check on every single one of these, no skipping, we're doing the whole roster ๐ซถ
slaveโ array of slaves โจslave_numโ how many slaves are in that array up there (slave), that's the count ๐ซchannelโ array of DMA channels ๐channel_numโ the number of channels chillin' in thechannelarray โญts_low_shiftโ the shift of the low part of the TS field ๐ts_low_maskโ low TS field mask ๐ธts_high_shiftโ an additional shift of the high part of the TS field (yes, "additional", it said what it said) ๐ts_high_maskโ high TS field mask ๐ฆts_shiftโ array of Transfer Size shifts, indexed by TS value ๐ts_shift_numโ the number of shifts in thets_shiftarray above ๐dmaor_initโ DMAOR initialisation value ๐ฅchcr_offsetโ CHCR address offset ๐ฏchcr_ie_bitโ CHCR Interrupt Enable bit โกdmaor_is_32bitโ tells you DMAOR is a 32-bit register ๐งฎneeds_tend_setโ the TEND register has to be set, like it's mandatory, no cap ๐คno_dmarsโ DMAC has no DMARS registers ๐ซchclr_presentโ DMAC has one or several CHCLR registers ๐chclr_bitwiseโ the channel CHCLR registers are bitwise ๐ขslave_onlyโ DMAC cannot be used for MEMCPY, that's the rule bestie ๐
๐ SEE ALSO ๐
- Kernel file
./include/linux/sh_dma.h struct sh_dmae_channel(9)
and that's the whole page! shipped straight outta ./include/linux, dated October 2026, from your girl the Kernel API Manual โ slay, go read sh_dma.h next, ily ๐ซถ๐๐ง
๐ฆ 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