STRUCT SND_FIREWIRE_MOTU_REGISTER_DSP_PARAMETER(9)
π struct snd_firewire_motu_register_dsp_parameter(9) π
okay so bestie, welcome to the Kernel API Manual β yes, THE kernel API manual, we're in the big leagues now π and today's main character is struct snd_firewire_motu_register_dsp_parameter, no cap.
β¨ NAME β¨
struct snd_firewire_motu_register_dsp_parameter β the container for parameters of DSP controlled by register access. that's it, that's the whole vibe. it holds stuff. it's a container. slay π
πΈ SYNOPSIS πΈ
here's the whole shape of it, copied exactly because we do NOT mess with source code:
struct snd_firewire_motu_register_dsp_parameter {
struct {
struct {
__u8 gain[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT];
__u8 pan[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT];
__u8 flag[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT];
__u8
paired_balance[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT];
__u8
paired_width[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT];
} source[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT];
struct {
__u8
paired_volume[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT];
__u8 paired_flag[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT];
} output;
} mixer;
struct {
__u8 main_paired_volume;
__u8 hp_paired_volume;
__u8 hp_paired_assignment;
__u8 reserved[5];
} output;
struct {
__u8 boost_flag;
__u8 nominal_level_flag;
__u8 reserved[6];
} line_input;
struct {
__u8
gain_and_invert[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_ALIGNED_INPUT_COUNT];
__u8 flag[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_ALIGNED_INPUT_COUNT];
} input;
__u8 reserved[64];
};
she's nested, she's dense, she's iconic π
π¦ Members π¦
time for the member-by-member vibe check, let's go:
mixerβ the aggregate ofmixer.sourceandmixer.output. the whole mixer situation in one lil bundle π«Άmixer.source.gainβ The gain of source to mixer.mixer.source.panβ The L/R balance of source to mixer.mixer.source.flagβ The flag of source to mixer, including mute, solo. (mute AND solo, she contains multitudes)mixer.source.paired_balanceβ The L/R balance of paired source to mixer, only for 4 pre and Audio Express.mixer.source.paired_widthβ The width of paired source to mixer, only for 4 pre and Audio Express.mixer.outputβFIXME. literally justFIXME, that's the whole description. the docs said "we'll get to it" and never got to it π honestly relatable, but also, bestie, pleasemixer.output.paired_volumeβ The volume of paired output from mixer.mixer.output.paired_flagβ The flag of paired output from mixer.outputβ output parameters. short and sweet πoutput.main_paired_volumeβ The volume of paired main output.output.hp_paired_volumeβ The volume of paired hp output.output.hp_paired_assignmentβ The source assigned to paired hp output.output.reservedβ Padding for 32-bit alignment for future extension. (future-proofing queen π)line_inputβ line input parameters β¨line_input.boost_flagβ The flags of boost for line inputs, only for 828mk2 and Traveler.line_input.nominal_level_flagβ The flags of nominal level for line inputs, only for 828mk2 and Traveler.line_input.reservedβ Padding for 32-bit alignment for future extension.inputβ input parameters πΈinput.gain_and_invertβ The value including gain and invert for input, only for Ultralite, 4 pre and Audio Express.input.flagβ The flag of input; e.g. jack detection, phantom power, and pad, only for Ultralite, 4 pre and Audio express.reservedβ Padding so that the size of structure is kept to 512 bytes, but for future extension. five hundred and twelve bytes, bestie, that's not a drill π
π Description π
so what does this thing do? The structure expresses the set of parameters for DSP controlled by register access. that's the tea β β DSP params, controlled by register access, all bundled into one struct. no cap.
β SEE ALSO β
go read these next, iykyk:
- Kernel file
./include/uapi/sound/firewire.hstructsnd_firewire_event_ff400_message(9), structsnd_firewire_motu_register_dsp_meter(9), structsnd_firewire_motu_command_dsp_meter(9)
ok real talk for one sec: those reserved fields are padding for future extension, so don't go filling them with your own little experiments, bestie π they're reserved for a reason.
and that's the page!! π§ source: ./include/uapi/sound, dated October 2026 β mwah, kisses, go write some firewire DSP code, you absolute legend ππ₯π
π¦ 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