/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
sound
/
/usr/src/linux-headers-5.15.0-181/include/sound
mkdir
upload
Name
Size
Mode
Actions
ac97/
-
0755
rm
sof/
-
0755
rm
ac97_codec.h
16044
0644
edit
dl
rm
aci.h
2458
0644
edit
dl
rm
ad1816a.h
4843
0644
edit
dl
rm
ad1843.h
1516
0644
edit
dl
rm
adau1373.h
706
0644
edit
dl
rm
ak4xxx-adda.h
2724
0644
edit
dl
rm
ak4113.h
10461
0644
edit
dl
rm
ak4114.h
9773
0644
edit
dl
rm
ak4117.h
8542
0644
edit
dl
rm
ak4531_codec.h
2478
0644
edit
dl
rm
ak4641.h
476
0644
edit
dl
rm
alc5623.h
536
0644
edit
dl
rm
asequencer.h
2975
0644
edit
dl
rm
asound.h
590
0644
edit
dl
rm
asoundef.h
16403
0644
edit
dl
rm
compress_driver.h
7986
0644
edit
dl
rm
control.h
9958
0644
edit
dl
rm
core.h
15895
0644
edit
dl
rm
cs35l33.h
888
0644
edit
dl
rm
cs35l34.h
741
0644
edit
dl
rm
cs35l35.h
2267
0644
edit
dl
rm
cs35l36.h
772
0644
edit
dl
rm
cs35l41.h
30889
0644
edit
dl
rm
cs42l42.h
35149
0644
edit
dl
rm
cs42l52.h
592
0644
edit
dl
rm
cs42l56.h
1046
0644
edit
dl
rm
cs42l73.h
361
0644
edit
dl
rm
cs4231-regs.h
7785
0644
edit
dl
rm
cs4271.h
961
0644
edit
dl
rm
cs8403.h
8138
0644
edit
dl
rm
cs8427.h
9954
0644
edit
dl
rm
da7213.h
1032
0644
edit
dl
rm
da7218.h
2468
0644
edit
dl
rm
da7219-aad.h
2263
0644
edit
dl
rm
da7219.h
998
0644
edit
dl
rm
da9055.h
707
0644
edit
dl
rm
designware_i2s.h
1631
0644
edit
dl
rm
dmaengine_pcm.h
6913
0644
edit
dl
rm
emu10k1.h
90722
0644
edit
dl
rm
emu10k1_synth.h
693
0644
edit
dl
rm
emu8000.h
3333
0644
edit
dl
rm
emu8000_reg.h
9767
0644
edit
dl
rm
emux_legacy.h
4811
0644
edit
dl
rm
emux_synth.h
6948
0644
edit
dl
rm
es1688.h
2923
0644
edit
dl
rm
graph_card.h
271
0644
edit
dl
rm
gus.h
20119
0644
edit
dl
rm
hdaudio.h
21538
0644
edit
dl
rm
hdaudio_ext.h
5680
0644
edit
dl
rm
hda_chmap.h
2660
0644
edit
dl
rm
hda_codec.h
17669
0644
edit
dl
rm
hda_component.h
2085
0644
edit
dl
rm
hda_hwdep.h
736
0644
edit
dl
rm
hda_i915.h
589
0644
edit
dl
rm
hda_register.h
10655
0644
edit
dl
rm
hda_regmap.h
6934
0644
edit
dl
rm
hda_verbs.h
17296
0644
edit
dl
rm
hdmi-codec.h
3011
0644
edit
dl
rm
hwdep.h
1925
0644
edit
dl
rm
i2c.h
2857
0644
edit
dl
rm
info.h
8053
0644
edit
dl
rm
initval.h
2484
0644
edit
dl
rm
intel-dsp-config.h
869
0644
edit
dl
rm
intel-nhlt.h
2851
0644
edit
dl
rm
jack.h
3172
0644
edit
dl
rm
l3.h
524
0644
edit
dl
rm
madera-pdata.h
1996
0644
edit
dl
rm
max9768.h
729
0644
edit
dl
rm
max98088.h
1074
0644
edit
dl
rm
max98090.h
534
0644
edit
dl
rm
max98095.h
1357
0644
edit
dl
rm
memalloc.h
2642
0644
edit
dl
rm
minors.h
3738
0644
edit
dl
rm
mixer_oss.h
1773
0644
edit
dl
rm
mpu401.h
3905
0644
edit
dl
rm
omap-hdmi-audio.h
971
0644
edit
dl
rm
opl3.h
11909
0644
edit
dl
rm
opl4.h
459
0644
edit
dl
rm
pcm-indirect.h
5159
0644
edit
dl
rm
pcm.h
53684
0644
edit
dl
rm
pcm_drm_eld.h
183
0644
edit
dl
rm
pcm_iec958.h
597
0644
edit
dl
rm
pcm_oss.h
2063
0644
edit
dl
rm
pcm_params.h
8864
0644
edit
dl
rm
pt2258.h
513
0644
edit
dl
rm
pxa2xx-lib.h
2190
0644
edit
dl
rm
rawmidi.h
5881
0644
edit
dl
rm
rt286.h
314
0644
edit
dl
rm
rt298.h
373
0644
edit
dl
rm
rt1015.h
283
0644
edit
dl
rm
rt5514.h
399
0644
edit
dl
rm
rt5659.h
880
0644
edit
dl
rm
rt5660.h
578
0644
edit
dl
rm
rt5663.h
476
0644
edit
dl
rm
rt5665.h
761
0644
edit
dl
rm
rt5668.h
646
0644
edit
dl
rm
rt5682.h
901
0644
edit
dl
rm
s3c24xx_uda134x.h
229
0644
edit
dl
rm
sb.h
10550
0644
edit
dl
rm
sb16_csp.h
2100
0644
edit
dl
rm
seq_device.h
2165
0644
edit
dl
rm
seq_kernel.h
3378
0644
edit
dl
rm
seq_midi_emul.h
6757
0644
edit
dl
rm
seq_midi_event.h
1356
0644
edit
dl
rm
seq_oss.h
2264
0644
edit
dl
rm
seq_oss_legacy.h
360
0644
edit
dl
rm
seq_virmidi.h
2123
0644
edit
dl
rm
sh_dac_audio.h
441
0644
edit
dl
rm
sh_fsi.h
693
0644
edit
dl
rm
simple_card.h
529
0644
edit
dl
rm
simple_card_utils.h
8351
0644
edit
dl
rm
snd_wavefront.h
5620
0644
edit
dl
rm
soc-acpi-intel-match.h
2074
0644
edit
dl
rm
soc-acpi.h
5637
0644
edit
dl
rm
soc-card.h
2944
0644
edit
dl
rm
soc-component.h
19387
0644
edit
dl
rm
soc-dai.h
19957
0644
edit
dl
rm
soc-dapm.h
32957
0644
edit
dl
rm
soc-dpcm.h
5523
0644
edit
dl
rm
soc-jack.h
3822
0644
edit
dl
rm
soc-link.h
1172
0644
edit
dl
rm
soc-topology.h
5835
0644
edit
dl
rm
soc.h
47899
0644
edit
dl
rm
sof.h
2596
0644
edit
dl
rm
soundfont.h
3903
0644
edit
dl
rm
spear_dma.h
350
0644
edit
dl
rm
spear_spdif.h
345
0644
edit
dl
rm
sta32x.h
1015
0644
edit
dl
rm
sta350.h
1474
0644
edit
dl
rm
tas2552-plat.h
283
0644
edit
dl
rm
tas5086.h
210
0644
edit
dl
rm
tea6330t.h
468
0644
edit
dl
rm
timer.h
5109
0644
edit
dl
rm
tlv.h
1627
0644
edit
dl
rm
tlv320aic3x.h
1777
0644
edit
dl
rm
tlv320aic32x4.h
1320
0644
edit
dl
rm
tlv320dac33-plat.h
574
0644
edit
dl
rm
tpa6130a2-plat.h
291
0644
edit
dl
rm
uda134x.h
451
0644
edit
dl
rm
uda1380.h
335
0644
edit
dl
rm
util_mem.h
1623
0644
edit
dl
rm
vx_core.h
15055
0644
edit
dl
rm
wavefront.h
18518
0644
edit
dl
rm
wm0010.h
466
0644
edit
dl
rm
wm1250-ev1.h
510
0644
edit
dl
rm
wm2000.h
479
0644
edit
dl
rm
wm2200.h
1353
0644
edit
dl
rm
wm5100.h
1129
0644
edit
dl
rm
wm8903.h
15377
0644
edit
dl
rm
wm8904.h
7389
0644
edit
dl
rm
wm8955.h
442
0644
edit
dl
rm
wm8960.h
888
0644
edit
dl
rm
wm8962.h
1694
0644
edit
dl
rm
wm8993.h
1076
0644
edit
dl
rm
wm8996.h
1289
0644
edit
dl
rm
wm9081.h
515
0644
edit
dl
rm
wm9090.h
634
0644
edit
dl
rm
wss.h
7949
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/sound/emux_synth.h
(6948B)
/* SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef __SOUND_EMUX_SYNTH_H #define __SOUND_EMUX_SYNTH_H /* * Defines for the Emu-series WaveTable chip * * Copyright (C) 2000 Takashi Iwai <tiwai@suse.de> */ #include <sound/seq_kernel.h> #include <sound/seq_device.h> #include <sound/soundfont.h> #include <sound/seq_midi_emul.h> #include <sound/seq_oss.h> #include <sound/emux_legacy.h> #include <sound/seq_virmidi.h> /* * compile flags */ #define SNDRV_EMUX_USE_RAW_EFFECT struct snd_emux; struct snd_emux_port; struct snd_emux_voice; struct snd_emux_effect_table; /* * operators */ struct snd_emux_operators { struct module *owner; struct snd_emux_voice *(*get_voice)(struct snd_emux *emu, struct snd_emux_port *port); int (*prepare)(struct snd_emux_voice *vp); void (*trigger)(struct snd_emux_voice *vp); void (*release)(struct snd_emux_voice *vp); void (*update)(struct snd_emux_voice *vp, int update); void (*terminate)(struct snd_emux_voice *vp); void (*free_voice)(struct snd_emux_voice *vp); void (*reset)(struct snd_emux *emu, int ch); /* the first parameters are struct snd_emux */ int (*sample_new)(struct snd_emux *emu, struct snd_sf_sample *sp, struct snd_util_memhdr *hdr, const void __user *data, long count); int (*sample_free)(struct snd_emux *emu, struct snd_sf_sample *sp, struct snd_util_memhdr *hdr); void (*sample_reset)(struct snd_emux *emu); int (*load_fx)(struct snd_emux *emu, int type, int arg, const void __user *data, long count); void (*sysex)(struct snd_emux *emu, char *buf, int len, int parsed, struct snd_midi_channel_set *chset); #if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) int (*oss_ioctl)(struct snd_emux *emu, int cmd, int p1, int p2); #endif }; /* * constant values */ #define SNDRV_EMUX_MAX_PORTS 32 /* max # of sequencer ports */ #define SNDRV_EMUX_MAX_VOICES 64 /* max # of voices */ #define SNDRV_EMUX_MAX_MULTI_VOICES 16 /* max # of playable voices * simultineously */ /* * flags */ #define SNDRV_EMUX_ACCEPT_ROM (1<<0) /* * emuX wavetable */ struct snd_emux { struct snd_card *card; /* assigned card */ /* following should be initialized before registration */ int max_voices; /* Number of voices */ int mem_size; /* memory size (in byte) */ int num_ports; /* number of ports to be created */ int pitch_shift; /* pitch shift value (for Emu10k1) */ struct snd_emux_operators ops; /* operators */ void *hw; /* hardware */ unsigned long flags; /* other conditions */ int midi_ports; /* number of virtual midi devices */ int midi_devidx; /* device offset of virtual midi */ unsigned int linear_panning: 1; /* panning is linear (sbawe = 1, emu10k1 = 0) */ int hwdep_idx; /* hwdep device index */ struct snd_hwdep *hwdep; /* hwdep device */ /* private */ int num_voices; /* current number of voices */ struct snd_sf_list *sflist; /* root of SoundFont list */ struct snd_emux_voice *voices; /* Voices (EMU 'channel') */ int use_time; /* allocation counter */ spinlock_t voice_lock; /* Lock for voice access */ struct mutex register_mutex; int client; /* For the sequencer client */ int ports[SNDRV_EMUX_MAX_PORTS]; /* The ports for this device */ struct snd_emux_port *portptrs[SNDRV_EMUX_MAX_PORTS]; int used; /* use counter */ char *name; /* name of the device (internal) */ struct snd_rawmidi **vmidi; struct timer_list tlist; /* for pending note-offs */ int timer_active; struct snd_util_memhdr *memhdr; /* memory chunk information */ #ifdef CONFIG_SND_PROC_FS struct snd_info_entry *proc; #endif #if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) struct snd_seq_device *oss_synth; #endif }; /* * sequencer port information */ struct snd_emux_port { struct snd_midi_channel_set chset; struct snd_emux *emu; char port_mode; /* operation mode */ int volume_atten; /* emuX raw attenuation */ unsigned long drum_flags; /* drum bitmaps */ int ctrls[EMUX_MD_END]; /* control parameters */ #ifdef SNDRV_EMUX_USE_RAW_EFFECT struct snd_emux_effect_table *effect; #endif #if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) struct snd_seq_oss_arg *oss_arg; #endif }; /* port_mode */ #define SNDRV_EMUX_PORT_MODE_MIDI 0 /* normal MIDI port */ #define SNDRV_EMUX_PORT_MODE_OSS_SYNTH 1 /* OSS synth port */ #define SNDRV_EMUX_PORT_MODE_OSS_MIDI 2 /* OSS multi channel synth port */ /* * A structure to keep track of each hardware voice */ struct snd_emux_voice { int ch; /* Hardware channel number */ int state; /* status */ #define SNDRV_EMUX_ST_OFF 0x00 /* Not playing, and inactive */ #define SNDRV_EMUX_ST_ON 0x01 /* Note on */ #define SNDRV_EMUX_ST_RELEASED (0x02|SNDRV_EMUX_ST_ON) /* Note released */ #define SNDRV_EMUX_ST_SUSTAINED (0x04|SNDRV_EMUX_ST_ON) /* Note sustained */ #define SNDRV_EMUX_ST_STANDBY (0x08|SNDRV_EMUX_ST_ON) /* Waiting to be triggered */ #define SNDRV_EMUX_ST_PENDING (0x10|SNDRV_EMUX_ST_ON) /* Note will be released */ #define SNDRV_EMUX_ST_LOCKED 0x100 /* Not accessible */ unsigned int time; /* An allocation time */ unsigned char note; /* Note currently assigned to this voice */ unsigned char key; unsigned char velocity; /* Velocity of current note */ struct snd_sf_zone *zone; /* Zone assigned to this note */ void *block; /* sample block pointer (optional) */ struct snd_midi_channel *chan; /* Midi channel for this note */ struct snd_emux_port *port; /* associated port */ struct snd_emux *emu; /* assigned root info */ void *hw; /* hardware pointer (emu8000 or emu10k1) */ unsigned long ontime; /* jiffies at note triggered */ /* Emu8k/Emu10k1 registers */ struct soundfont_voice_info reg; /* additional registers */ int avol; /* volume attenuation */ int acutoff; /* cutoff target */ int apitch; /* pitch offset */ int apan; /* pan/aux pair */ int aaux; int ptarget; /* pitch target */ int vtarget; /* volume target */ int ftarget; /* filter target */ }; /* * update flags (can be combined) */ #define SNDRV_EMUX_UPDATE_VOLUME (1<<0) #define SNDRV_EMUX_UPDATE_PITCH (1<<1) #define SNDRV_EMUX_UPDATE_PAN (1<<2) #define SNDRV_EMUX_UPDATE_FMMOD (1<<3) #define SNDRV_EMUX_UPDATE_TREMFREQ (1<<4) #define SNDRV_EMUX_UPDATE_FM2FRQ2 (1<<5) #define SNDRV_EMUX_UPDATE_Q (1<<6) #ifdef SNDRV_EMUX_USE_RAW_EFFECT /* * effect table */ struct snd_emux_effect_table { /* Emu8000 specific effects */ short val[EMUX_NUM_EFFECTS]; unsigned char flag[EMUX_NUM_EFFECTS]; }; #endif /* SNDRV_EMUX_USE_RAW_EFFECT */ /* * prototypes - interface to Emu10k1 and Emu8k routines */ int snd_emux_new(struct snd_emux **remu); int snd_emux_register(struct snd_emux *emu, struct snd_card *card, int index, char *name); int snd_emux_free(struct snd_emux *emu); /* * exported functions */ void snd_emux_terminate_all(struct snd_emux *emu); void snd_emux_lock_voice(struct snd_emux *emu, int voice); void snd_emux_unlock_voice(struct snd_emux *emu, int voice); #endif /* __SOUND_EMUX_SYNTH_H */
Save
cmd:
run