Home
last modified time | relevance | path

Searched refs:ac97 (Results 1 – 25 of 154) sorted by relevance

1234567

/linux-6.1.9/sound/pci/ac97/
Dac97_codec.c49 int (*patch)(struct snd_ac97 *ac97);
50 int (*mpatch)(struct snd_ac97 *ac97);
195 static void update_power_regs(struct snd_ac97 *ac97);
197 #define ac97_is_power_save_mode(ac97) \ argument
198 ((ac97->scaps & AC97_SCAP_POWER_SAVE) && power_save)
200 #define ac97_is_power_save_mode(ac97) 0 argument
203 #define ac97_err(ac97, fmt, args...) \ argument
204 dev_err((ac97)->bus->card->dev, fmt, ##args)
205 #define ac97_warn(ac97, fmt, args...) \ argument
206 dev_warn((ac97)->bus->card->dev, fmt, ##args)
[all …]
Dac97_patch.c18 static struct snd_kcontrol *snd_ac97_find_mixer_ctl(struct snd_ac97 *ac97,
20 static int snd_ac97_add_vmaster(struct snd_ac97 *ac97, char *name,
28 static int patch_build_controls(struct snd_ac97 * ac97, const struct snd_kcontrol_new *controls, in… in patch_build_controls() argument
33 err = snd_ctl_add(ac97->bus->card, snd_ac97_cnew(&controls[idx], ac97)); in patch_build_controls()
41 static void reset_tlv(struct snd_ac97 *ac97, const char *name, in reset_tlv() argument
49 kctl = snd_ctl_find_id(ac97->bus->card, &sid); in reset_tlv()
55 static int ac97_update_bits_page(struct snd_ac97 *ac97, unsigned short reg, unsigned short mask, un… in ac97_update_bits_page() argument
60 mutex_lock(&ac97->page_mutex); in ac97_update_bits_page()
61 page_save = snd_ac97_read(ac97, AC97_INT_PAGING) & AC97_PAGE_MASK; in ac97_update_bits_page()
62 snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page); in ac97_update_bits_page()
[all …]
Dac97_proc.c22 static void snd_ac97_proc_read_functions(struct snd_ac97 *ac97, struct snd_info_buffer *buffer) in snd_ac97_proc_read_functions() argument
37 snd_ac97_write(ac97, AC97_FUNC_SELECT, function << 1); in snd_ac97_proc_read_functions()
38 info = snd_ac97_read(ac97, AC97_FUNC_INFO); in snd_ac97_proc_read_functions()
45 sense_info = snd_ac97_read(ac97, AC97_SENSE_INFO); in snd_ac97_proc_read_functions()
92 static void snd_ac97_proc_read_main(struct snd_ac97 *ac97, struct snd_info_buffer *buffer, int subi… in snd_ac97_proc_read_main() argument
101 snd_ac97_get_name(NULL, ac97->id, name, 0); in snd_ac97_proc_read_main()
102 snd_iprintf(buffer, "%d-%d/%d: %s\n\n", ac97->addr, ac97->num, subidx, name); in snd_ac97_proc_read_main()
104 if ((ac97->scaps & AC97_SCAP_AUDIO) == 0) in snd_ac97_proc_read_main()
108 ac97->subsystem_vendor); in snd_ac97_proc_read_main()
110 ac97->subsystem_device); in snd_ac97_proc_read_main()
[all …]
Dac97_pcm.c159 static int set_spdif_rate(struct snd_ac97 *ac97, unsigned short rate) in set_spdif_rate() argument
164 if (! (ac97->ext_id & AC97_EI_SPDIF)) in set_spdif_rate()
168 if (ac97->flags & AC97_CS_SPDIF) { in set_spdif_rate()
173 snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, 0); in set_spdif_rate()
179 if (ac97->id == AC97_ID_CM9739 && rate != 48000) { in set_spdif_rate()
180 snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, 0); in set_spdif_rate()
188 snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, 0); in set_spdif_rate()
195 mutex_lock(&ac97->reg_mutex); in set_spdif_rate()
196 old = snd_ac97_read(ac97, reg) & mask; in set_spdif_rate()
198 snd_ac97_update_bits_nolock(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, 0); in set_spdif_rate()
[all …]
Dac97_local.h10 void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
12 int snd_ac97_update_bits_nolock(struct snd_ac97 *ac97, unsigned short reg,
17 void snd_ac97_bus_proc_init(struct snd_ac97_bus * ac97);
18 void snd_ac97_bus_proc_done(struct snd_ac97_bus * ac97);
19 void snd_ac97_proc_init(struct snd_ac97 * ac97);
20 void snd_ac97_proc_done(struct snd_ac97 * ac97);
Dac97_patch.h55 struct snd_ac97 * ac97);
62 static int snd_ac97_try_bit(struct snd_ac97 * ac97, int reg, int bit);
63 static int snd_ac97_remove_ctl(struct snd_ac97 *ac97, const char *name,
65 static int snd_ac97_rename_ctl(struct snd_ac97 *ac97, const char *src,
67 static int snd_ac97_swap_ctl(struct snd_ac97 *ac97, const char *s1,
69 static void snd_ac97_rename_vol_ctl(struct snd_ac97 *ac97, const char *src,
72 static void snd_ac97_restore_status(struct snd_ac97 *ac97);
73 static void snd_ac97_restore_iec958(struct snd_ac97 *ac97);
/linux-6.1.9/sound/soc/tegra/
Dtegra20_ac97.c38 static void tegra20_ac97_codec_reset(struct snd_ac97 *ac97) in tegra20_ac97_codec_reset() argument
60 static void tegra20_ac97_codec_warm_reset(struct snd_ac97 *ac97) in tegra20_ac97_codec_warm_reset() argument
143 static inline void tegra20_ac97_start_playback(struct tegra20_ac97 *ac97) in tegra20_ac97_start_playback() argument
145 regmap_update_bits(ac97->regmap, TEGRA20_AC97_FIFO1_SCR, in tegra20_ac97_start_playback()
149 regmap_update_bits(ac97->regmap, TEGRA20_AC97_CTRL, in tegra20_ac97_start_playback()
156 static inline void tegra20_ac97_stop_playback(struct tegra20_ac97 *ac97) in tegra20_ac97_stop_playback() argument
158 regmap_update_bits(ac97->regmap, TEGRA20_AC97_FIFO1_SCR, in tegra20_ac97_stop_playback()
161 regmap_update_bits(ac97->regmap, TEGRA20_AC97_CTRL, in tegra20_ac97_stop_playback()
165 static inline void tegra20_ac97_start_capture(struct tegra20_ac97 *ac97) in tegra20_ac97_start_capture() argument
167 regmap_update_bits(ac97->regmap, TEGRA20_AC97_FIFO1_SCR, in tegra20_ac97_start_capture()
[all …]
/linux-6.1.9/sound/ac97/
Dsnd_ac97_compat.c20 static void compat_ac97_reset(struct snd_ac97 *ac97) in compat_ac97_reset() argument
22 struct ac97_codec_device *adev = to_ac97_device(ac97->private_data); in compat_ac97_reset()
29 static void compat_ac97_warm_reset(struct snd_ac97 *ac97) in compat_ac97_warm_reset() argument
31 struct ac97_codec_device *adev = to_ac97_device(ac97->private_data); in compat_ac97_warm_reset()
38 static void compat_ac97_write(struct snd_ac97 *ac97, unsigned short reg, in compat_ac97_write() argument
41 struct ac97_codec_device *adev = to_ac97_device(ac97->private_data); in compat_ac97_write()
44 actrl->ops->write(actrl, ac97->num, reg, val); in compat_ac97_write()
47 static unsigned short compat_ac97_read(struct snd_ac97 *ac97, in compat_ac97_read() argument
50 struct ac97_codec_device *adev = to_ac97_device(ac97->private_data); in compat_ac97_read()
53 return actrl->ops->read(actrl, ac97->num, reg); in compat_ac97_read()
[all …]
/linux-6.1.9/include/linux/
Ducb1400.h85 struct snd_ac97 *ac97; member
93 struct snd_ac97 *ac97; member
110 static inline u16 ucb1400_reg_read(struct snd_ac97 *ac97, u16 reg) in ucb1400_reg_read() argument
112 return ac97->bus->ops->read(ac97, reg); in ucb1400_reg_read()
115 static inline void ucb1400_reg_write(struct snd_ac97 *ac97, u16 reg, u16 val) in ucb1400_reg_write() argument
117 ac97->bus->ops->write(ac97, reg, val); in ucb1400_reg_write()
120 static inline u16 ucb1400_gpio_get_value(struct snd_ac97 *ac97, u16 gpio) in ucb1400_gpio_get_value() argument
122 return ucb1400_reg_read(ac97, UCB_IO_DATA) & (1 << gpio); in ucb1400_gpio_get_value()
125 static inline void ucb1400_gpio_set_value(struct snd_ac97 *ac97, u16 gpio, in ucb1400_gpio_set_value() argument
128 ucb1400_reg_write(ac97, UCB_IO_DATA, val ? in ucb1400_gpio_set_value()
[all …]
/linux-6.1.9/include/sound/
Dac97_codec.h178 int (*build_3d) (struct snd_ac97 *ac97);
179 int (*build_specific) (struct snd_ac97 *ac97);
180 int (*build_spdif) (struct snd_ac97 *ac97);
181 int (*build_post_spdif) (struct snd_ac97 *ac97);
183 void (*suspend) (struct snd_ac97 *ac97);
184 void (*resume) (struct snd_ac97 *ac97);
186 void (*update_jacks) (struct snd_ac97 *ac97); /* for jack-sharing */
190 void (*reset) (struct snd_ac97 *ac97);
191 void (*warm_reset)(struct snd_ac97 *ac97);
192 void (*write) (struct snd_ac97 *ac97, unsigned short reg, unsigned short val);
[all …]
/linux-6.1.9/sound/
Dac97_bus.c26 static bool snd_ac97_check_id(struct snd_ac97 *ac97, unsigned int id, in snd_ac97_check_id() argument
29 ac97->id = ac97->bus->ops->read(ac97, AC97_VENDOR_ID1) << 16; in snd_ac97_check_id()
30 ac97->id |= ac97->bus->ops->read(ac97, AC97_VENDOR_ID2); in snd_ac97_check_id()
32 if (ac97->id == 0x0 || ac97->id == 0xffffffff) in snd_ac97_check_id()
35 if (id != 0 && id != (ac97->id & id_mask)) in snd_ac97_check_id()
55 int snd_ac97_reset(struct snd_ac97 *ac97, bool try_warm, unsigned int id, in snd_ac97_reset() argument
58 const struct snd_ac97_bus_ops *ops = ac97->bus->ops; in snd_ac97_reset()
61 ops->warm_reset(ac97); in snd_ac97_reset()
62 if (snd_ac97_check_id(ac97, id, id_mask)) in snd_ac97_reset()
67 ops->reset(ac97); in snd_ac97_reset()
[all …]
/linux-6.1.9/drivers/input/touchscreen/
Ducb1400_ts.c36 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_mode_int()
48 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_pressure()
55 return ucb1400_adc_read(ucb->ac97, UCB_ADC_INP_TSPY, adcsync); in ucb1400_ts_read_pressure()
66 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_xpos()
69 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_xpos()
72 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_xpos()
78 return ucb1400_adc_read(ucb->ac97, UCB_ADC_INP_TSPY, adcsync); in ucb1400_ts_read_xpos()
89 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_ypos()
92 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_ypos()
95 ucb1400_reg_write(ucb->ac97, UCB_TS_CR, in ucb1400_ts_read_ypos()
[all …]
/linux-6.1.9/sound/soc/
Dsoc-ac97.c126 static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97, in snd_soc_ac97_init_gpio() argument
135 ac97->gpio_priv = gpio_priv; in snd_soc_ac97_init_gpio()
148 static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) in snd_soc_ac97_free_gpio() argument
150 gpiochip_remove(&ac97->gpio_priv->gpio_chip); in snd_soc_ac97_free_gpio()
153 static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97, in snd_soc_ac97_init_gpio() argument
159 static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) in snd_soc_ac97_free_gpio() argument
176 struct snd_ac97 *ac97; in snd_soc_alloc_ac97_component() local
178 ac97 = kzalloc(sizeof(struct snd_ac97), GFP_KERNEL); in snd_soc_alloc_ac97_component()
179 if (ac97 == NULL) in snd_soc_alloc_ac97_component()
182 ac97->bus = &soc_ac97_bus; in snd_soc_alloc_ac97_component()
[all …]
/linux-6.1.9/sound/pci/cs5535audio/
Dcs5535audio.h87 struct snd_ac97 *ac97; member
102 struct snd_ac97_template *ac97);
103 int olpc_quirks(struct snd_card *card, struct snd_ac97 *ac97);
105 void olpc_analog_input(struct snd_ac97 *ac97, int on);
106 void olpc_mic_bias(struct snd_ac97 *ac97, int on);
108 static inline void olpc_capture_open(struct snd_ac97 *ac97) in olpc_capture_open() argument
111 olpc_analog_input(ac97, 0); in olpc_capture_open()
113 olpc_mic_bias(ac97, 1); in olpc_capture_open()
116 static inline void olpc_capture_close(struct snd_ac97 *ac97) in olpc_capture_close() argument
119 olpc_analog_input(ac97, 0); in olpc_capture_close()
[all …]
Dcs5535audio_olpc.c24 void olpc_analog_input(struct snd_ac97 *ac97, int on) in olpc_analog_input() argument
32 err = snd_ac97_update_bits(ac97, AC97_AD_TEST2, in olpc_analog_input()
35 dev_err(ac97->bus->card->dev, in olpc_analog_input()
47 void olpc_mic_bias(struct snd_ac97 *ac97, int on) in olpc_mic_bias() argument
55 err = snd_ac97_update_bits(ac97, AC97_AD_MISC, in olpc_mic_bias()
58 dev_err(ac97->bus->card->dev, "setting MIC Bias - %d\n", err); in olpc_mic_bias()
81 olpc_analog_input(cs5535au->ac97, v->value.integer.value[0]); in olpc_dc_put()
98 struct snd_ac97 *ac97 = cs5535au->ac97; in olpc_mic_get() local
101 i = (snd_ac97_read(ac97, AC97_AD_MISC) >> AC97_AD_VREFD_SHIFT) & 0x1; in olpc_mic_get()
110 olpc_mic_bias(cs5535au->ac97, v->value.integer.value[0]); in olpc_mic_put()
[all …]
Dcs5535audio.c121 static void snd_cs5535audio_ac97_codec_write(struct snd_ac97 *ac97, in snd_cs5535audio_ac97_codec_write() argument
124 struct cs5535audio *cs5535au = ac97->private_data; in snd_cs5535audio_ac97_codec_write()
128 static unsigned short snd_cs5535audio_ac97_codec_read(struct snd_ac97 *ac97, in snd_cs5535audio_ac97_codec_read() argument
131 struct cs5535audio *cs5535au = ac97->private_data; in snd_cs5535audio_ac97_codec_read()
139 struct snd_ac97_template ac97; in snd_cs5535audio_mixer() local
150 memset(&ac97, 0, sizeof(ac97)); in snd_cs5535audio_mixer()
151 ac97.scaps = AC97_SCAP_AUDIO | AC97_SCAP_SKIP_MODEM in snd_cs5535audio_mixer()
153 ac97.private_data = cs5535au; in snd_cs5535audio_mixer()
154 ac97.pci = cs5535au->pci; in snd_cs5535audio_mixer()
157 olpc_prequirks(card, &ac97); in snd_cs5535audio_mixer()
[all …]
/linux-6.1.9/drivers/base/regmap/
Dregmap-ac97.c47 struct snd_ac97 *ac97 = context; in regmap_ac97_reg_read() local
49 *val = ac97->bus->ops->read(ac97, reg); in regmap_ac97_reg_read()
57 struct snd_ac97 *ac97 = context; in regmap_ac97_reg_write() local
59 ac97->bus->ops->write(ac97, reg, val); in regmap_ac97_reg_write()
69 struct regmap *__regmap_init_ac97(struct snd_ac97 *ac97, in __regmap_init_ac97() argument
74 return __regmap_init(&ac97->dev, &ac97_regmap_bus, ac97, config, in __regmap_init_ac97()
79 struct regmap *__devm_regmap_init_ac97(struct snd_ac97 *ac97, in __devm_regmap_init_ac97() argument
84 return __devm_regmap_init(&ac97->dev, &ac97_regmap_bus, ac97, config, in __devm_regmap_init_ac97()
/linux-6.1.9/Documentation/devicetree/bindings/sound/
Dsoc-ac97link.txt8 "ac97-running": AC97-link is active
9 "ac97-reset": AC97-link reset state
10 "ac97-warm-reset": AC97-link warm reset state
11 - ac97-gpios: List of gpio phandles with args in the order ac97-sync,
12 ac97-sdata, ac97-reset
20 pinctrl-names = "default", "ac97-running", "ac97-reset", "ac97-warm-reset";
25 ac97-gpios = <&gpio3 20 0 &gpio3 22 0 &gpio3 28 0>;
Dac97-bus.txt3 This documents describes the devicetree bindings for an ac97 controller child
4 node describing ac97 codecs.
7 -compatible : Must be "ac97,vendor_id1,vendor_id2
10 -reg : Must be the ac97 codec number, between 0 and 3
13 ac97: sound@40500000 {
14 compatible = "marvell,pxa270-ac97";
28 compatible = "ac97,574d,4c13";
/linux-6.1.9/drivers/mfd/
Ducb1400_core.c25 unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel, in ucb1400_adc_read() argument
33 ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel); in ucb1400_adc_read()
34 ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel | in ucb1400_adc_read()
37 while (!((val = ucb1400_reg_read(ac97, UCB_ADC_DATA)) in ucb1400_adc_read()
51 struct snd_ac97 *ac97; in ucb1400_core_probe() local
65 ac97 = to_ac97_t(dev); in ucb1400_core_probe()
67 ucb_ts.id = ucb1400_reg_read(ac97, UCB_ID); in ucb1400_core_probe()
74 ucb_gpio.ac97 = ac97; in ucb1400_core_probe()
92 ucb_ts.ac97 = ac97; in ucb1400_core_probe()
Dwm97xx-core.c30 struct snd_ac97 *ac97; member
266 wm97xx->ac97 = snd_ac97_compat_alloc(adev); in wm97xx_ac97_probe()
267 if (IS_ERR(wm97xx->ac97)) in wm97xx_ac97_probe()
268 return PTR_ERR(wm97xx->ac97); in wm97xx_ac97_probe()
276 codec_pdata->ac97 = wm97xx->ac97; in wm97xx_ac97_probe()
304 codec_pdata->regmap = devm_regmap_init_ac97(wm97xx->ac97, config); in wm97xx_ac97_probe()
318 snd_ac97_compat_release(wm97xx->ac97); in wm97xx_ac97_probe()
326 snd_ac97_compat_release(wm97xx->ac97); in wm97xx_ac97_remove()
/linux-6.1.9/sound/soc/codecs/
Dac97.c36 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in ac97_prepare() local
40 return snd_ac97_set_rate(ac97, reg, substream->runtime->rate); in ac97_prepare()
66 struct snd_ac97 *ac97; in ac97_soc_probe() local
78 ret = snd_ac97_mixer(ac97_bus, &ac97_template, &ac97); in ac97_soc_probe()
82 snd_soc_component_set_drvdata(component, ac97); in ac97_soc_probe()
90 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in ac97_soc_suspend() local
92 snd_ac97_suspend(ac97); in ac97_soc_suspend()
100 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in ac97_soc_resume() local
102 snd_ac97_resume(ac97); in ac97_soc_resume()
Dad1980.c206 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in ad1980_reset() local
211 ret = snd_ac97_reset(ac97, true, AD1980_VENDOR_ID, in ad1980_reset()
233 struct snd_ac97 *ac97; in ad1980_soc_probe() local
239 ac97 = snd_soc_new_ac97_component(component, 0, 0); in ad1980_soc_probe()
240 if (IS_ERR(ac97)) { in ad1980_soc_probe()
241 ret = PTR_ERR(ac97); in ad1980_soc_probe()
246 regmap = regmap_init_ac97(ac97, &ad1980_regmap_config); in ad1980_soc_probe()
253 snd_soc_component_set_drvdata(component, ac97); in ad1980_soc_probe()
281 snd_soc_free_ac97_component(ac97); in ad1980_soc_probe()
287 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in ad1980_soc_remove() local
[all …]
Dstac9766.c218 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in stac9766_component_resume() local
220 return snd_ac97_reset(ac97, true, STAC9766_VENDOR_ID, in stac9766_component_resume()
273 struct snd_ac97 *ac97; in stac9766_component_probe() local
277 ac97 = snd_soc_new_ac97_component(component, STAC9766_VENDOR_ID, in stac9766_component_probe()
279 if (IS_ERR(ac97)) in stac9766_component_probe()
280 return PTR_ERR(ac97); in stac9766_component_probe()
282 regmap = regmap_init_ac97(ac97, &stac9766_regmap_config); in stac9766_component_probe()
289 snd_soc_component_set_drvdata(component, ac97); in stac9766_component_probe()
293 snd_soc_free_ac97_component(ac97); in stac9766_component_probe()
299 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in stac9766_component_remove() local
[all …]
/linux-6.1.9/sound/pci/au88x0/
Dau88x0_mixer.c26 struct snd_ac97_template ac97; in snd_vortex_mixer() local
36 memset(&ac97, 0, sizeof(ac97)); in snd_vortex_mixer()
38 ac97.private_data = vortex; in snd_vortex_mixer()
39 ac97.scaps = AC97_SCAP_NO_SPDIF; in snd_vortex_mixer()
40 err = snd_ac97_mixer(pbus, &ac97, &vortex->codec); in snd_vortex_mixer()

1234567