/
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/wss.h
(7949B)
/* SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef __SOUND_WSS_H #define __SOUND_WSS_H /* * Copyright (c) by Jaroslav Kysela <perex@perex.cz> * Definitions for CS4231 & InterWave chips & compatible chips */ #include <sound/control.h> #include <sound/pcm.h> #include <sound/timer.h> #include <sound/cs4231-regs.h> /* defines for codec.mode */ #define WSS_MODE_NONE 0x0000 #define WSS_MODE_PLAY 0x0001 #define WSS_MODE_RECORD 0x0002 #define WSS_MODE_TIMER 0x0004 #define WSS_MODE_OPEN (WSS_MODE_PLAY|WSS_MODE_RECORD|WSS_MODE_TIMER) /* defines for codec.hardware */ #define WSS_HW_DETECT 0x0000 /* let CS4231 driver detect chip */ #define WSS_HW_DETECT3 0x0001 /* allow mode 3 */ #define WSS_HW_TYPE_MASK 0xff00 /* type mask */ #define WSS_HW_CS4231_MASK 0x0100 /* CS4231 serie */ #define WSS_HW_CS4231 0x0100 /* CS4231 chip */ #define WSS_HW_CS4231A 0x0101 /* CS4231A chip */ #define WSS_HW_AD1845 0x0102 /* AD1845 chip */ #define WSS_HW_CS4232_MASK 0x0200 /* CS4232 serie (has control ports) */ #define WSS_HW_CS4232 0x0200 /* CS4232 */ #define WSS_HW_CS4232A 0x0201 /* CS4232A */ #define WSS_HW_CS4236 0x0202 /* CS4236 */ #define WSS_HW_CS4236B_MASK 0x0400 /* CS4236B serie (has extended control regs) */ #define WSS_HW_CS4235 0x0400 /* CS4235 - Crystal Clear (tm) stereo enhancement */ #define WSS_HW_CS4236B 0x0401 /* CS4236B */ #define WSS_HW_CS4237B 0x0402 /* CS4237B - SRS 3D */ #define WSS_HW_CS4238B 0x0403 /* CS4238B - QSOUND 3D */ #define WSS_HW_CS4239 0x0404 /* CS4239 - Crystal Clear (tm) stereo enhancement */ #define WSS_HW_AD1848_MASK 0x0800 /* AD1848 serie (half duplex) */ #define WSS_HW_AD1847 0x0801 /* AD1847 chip */ #define WSS_HW_AD1848 0x0802 /* AD1848 chip */ #define WSS_HW_CS4248 0x0803 /* CS4248 chip */ #define WSS_HW_CMI8330 0x0804 /* CMI8330 chip */ #define WSS_HW_THINKPAD 0x0805 /* Thinkpad 360/750/755 */ /* compatible, but clones */ #define WSS_HW_INTERWAVE 0x1000 /* InterWave chip */ #define WSS_HW_OPL3SA2 0x1101 /* OPL3-SA2 chip, similar to cs4231 */ #define WSS_HW_OPTI93X 0x1102 /* Opti 930/931/933 */ /* defines for codec.hwshare */ #define WSS_HWSHARE_IRQ (1<<0) #define WSS_HWSHARE_DMA1 (1<<1) #define WSS_HWSHARE_DMA2 (1<<2) /* IBM Thinkpad specific stuff */ #define AD1848_THINKPAD_CTL_PORT1 0x15e8 #define AD1848_THINKPAD_CTL_PORT2 0x15e9 #define AD1848_THINKPAD_CS4248_ENABLE_BIT 0x02 struct snd_wss { unsigned long port; /* base i/o port */ struct resource *res_port; unsigned long cport; /* control base i/o port (CS4236) */ struct resource *res_cport; int irq; /* IRQ line */ int dma1; /* playback DMA */ int dma2; /* record DMA */ unsigned short version; /* version of CODEC chip */ unsigned short mode; /* see to WSS_MODE_XXXX */ unsigned short hardware; /* see to WSS_HW_XXXX */ unsigned short hwshare; /* shared resources */ unsigned short single_dma:1, /* forced single DMA mode (GUS 16-bit */ /* daughter board) or dma1 == dma2 */ ebus_flag:1, /* SPARC: EBUS present */ thinkpad_flag:1; /* Thinkpad CS4248 needs extra help */ struct snd_card *card; struct snd_pcm *pcm; struct snd_pcm_substream *playback_substream; struct snd_pcm_substream *capture_substream; struct snd_timer *timer; unsigned char image[32]; /* registers image */ unsigned char eimage[32]; /* extended registers image */ unsigned char cimage[16]; /* control registers image */ int mce_bit; int calibrate_mute; int sw_3d_bit; unsigned int p_dma_size; unsigned int c_dma_size; spinlock_t reg_lock; struct mutex mce_mutex; struct mutex open_mutex; int (*rate_constraint) (struct snd_pcm_runtime *runtime); void (*set_playback_format) (struct snd_wss *chip, struct snd_pcm_hw_params *hw_params, unsigned char pdfr); void (*set_capture_format) (struct snd_wss *chip, struct snd_pcm_hw_params *hw_params, unsigned char cdfr); void (*trigger) (struct snd_wss *chip, unsigned int what, int start); #ifdef CONFIG_PM void (*suspend) (struct snd_wss *chip); void (*resume) (struct snd_wss *chip); #endif void *dma_private_data; int (*claim_dma) (struct snd_wss *chip, void *dma_private_data, int dma); int (*release_dma) (struct snd_wss *chip, void *dma_private_data, int dma); }; /* exported functions */ void snd_wss_out(struct snd_wss *chip, unsigned char reg, unsigned char val); unsigned char snd_wss_in(struct snd_wss *chip, unsigned char reg); void snd_cs4236_ext_out(struct snd_wss *chip, unsigned char reg, unsigned char val); unsigned char snd_cs4236_ext_in(struct snd_wss *chip, unsigned char reg); void snd_wss_mce_up(struct snd_wss *chip); void snd_wss_mce_down(struct snd_wss *chip); void snd_wss_overrange(struct snd_wss *chip); irqreturn_t snd_wss_interrupt(int irq, void *dev_id); const char *snd_wss_chip_id(struct snd_wss *chip); int snd_wss_create(struct snd_card *card, unsigned long port, unsigned long cport, int irq, int dma1, int dma2, unsigned short hardware, unsigned short hwshare, struct snd_wss **rchip); int snd_wss_pcm(struct snd_wss *chip, int device); int snd_wss_timer(struct snd_wss *chip, int device); int snd_wss_mixer(struct snd_wss *chip); const struct snd_pcm_ops *snd_wss_get_pcm_ops(int direction); int snd_cs4236_create(struct snd_card *card, unsigned long port, unsigned long cport, int irq, int dma1, int dma2, unsigned short hardware, unsigned short hwshare, struct snd_wss **rchip); int snd_cs4236_pcm(struct snd_wss *chip, int device); int snd_cs4236_mixer(struct snd_wss *chip); /* * mixer library */ #define WSS_SINGLE(xname, xindex, reg, shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ .name = xname, \ .index = xindex, \ .info = snd_wss_info_single, \ .get = snd_wss_get_single, \ .put = snd_wss_put_single, \ .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) } int snd_wss_info_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); int snd_wss_get_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); int snd_wss_put_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); #define WSS_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ .name = xname, \ .index = xindex, \ .info = snd_wss_info_double, \ .get = snd_wss_get_double, \ .put = snd_wss_put_double, \ .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \ (shift_right << 19) | (mask << 24) | (invert << 22) } #define WSS_SINGLE_TLV(xname, xindex, reg, shift, mask, invert, xtlv) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_TLV_READ, \ .name = xname, \ .index = xindex, \ .info = snd_wss_info_single, \ .get = snd_wss_get_single, \ .put = snd_wss_put_single, \ .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24), \ .tlv = { .p = (xtlv) } } #define WSS_DOUBLE_TLV(xname, xindex, left_reg, right_reg, \ shift_left, shift_right, mask, invert, xtlv) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_TLV_READ, \ .name = xname, \ .index = xindex, \ .info = snd_wss_info_double, \ .get = snd_wss_get_double, \ .put = snd_wss_put_double, \ .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | \ (shift_right << 19) | (mask << 24) | (invert << 22), \ .tlv = { .p = (xtlv) } } int snd_wss_info_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); int snd_wss_get_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); int snd_wss_put_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); #endif /* __SOUND_WSS_H */
Save
cmd:
run