| /linux/sound/pci/ac97/ |
| H A D | ac97_codec.c | 33 MODULE_PARM_DESC(enable_loopback, "Enable AC97 ADC/DAC Loopback Control"); 49 int (*patch)(struct snd_ac97 *ac97); 50 int (*mpatch)(struct snd_ac97 *ac97); 62 * currently used by the AC97 emulation of the almost-AC97 PCI168 card. 194 static void update_power_regs(struct snd_ac97 *ac97); 196 #define ac97_is_power_save_mode(ac97) \ argument 197 ((ac97->scaps & AC97_SCAP_POWER_SAVE) && power_save) 199 #define ac97_is_power_save_mode(ac97) 0 argument 202 #define ac97_err(ac97, fmt, args...) \ argument 203 dev_err((ac97)->bus->card->dev, fmt, ##args) [all …]
|
| H A D | ac97_pcm.c | 159 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 guard(mutex)(&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 …]
|
| H A D | ac97_local.h | 10 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);
|
| H A D | ac97_patch.h | 55 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/sound/soc/ |
| H A D | soc-ac97.c | 3 // soc-ac97.c -- ALSA SoC Audio Layer AC97 support 132 static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97, in snd_soc_ac97_init_gpio() argument 141 ac97->gpio_priv = gpio_priv; in snd_soc_ac97_init_gpio() 154 static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) in snd_soc_ac97_free_gpio() argument 156 gpiochip_remove(&ac97->gpio_priv->gpio_chip); in snd_soc_ac97_free_gpio() 159 static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97, in snd_soc_ac97_init_gpio() argument 165 static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97) in snd_soc_ac97_free_gpio() argument 175 * it. The caller is responsible to either call device_add(&ac97->dev) to 176 * register the device, or to call put_device(&ac97->dev) to free the device. 182 struct snd_ac97 *ac97; in snd_soc_alloc_ac97_component() local [all …]
|
| /linux/sound/soc/tegra/ |
| H A D | tegra20_ac97.c | 3 * tegra20_ac97.c - Tegra20 AC97 platform driver 32 #define DRV_NAME "tegra20-ac97" 36 static void tegra20_ac97_codec_reset(struct snd_ac97 *ac97) in tegra20_ac97_codec_reset() argument 62 static void tegra20_ac97_codec_warm_reset(struct snd_ac97 *ac97) in tegra20_ac97_codec_warm_reset() argument 141 static inline void tegra20_ac97_start_playback(struct tegra20_ac97 *ac97) in tegra20_ac97_start_playback() argument 143 regmap_update_bits(ac97->regmap, TEGRA20_AC97_FIFO1_SCR, in tegra20_ac97_start_playback() 147 regmap_update_bits(ac97->regmap, TEGRA20_AC97_CTRL, in tegra20_ac97_start_playback() 154 static inline void tegra20_ac97_stop_playback(struct tegra20_ac97 *ac97) in tegra20_ac97_stop_playback() argument 156 regmap_update_bits(ac97->regmap, TEGRA20_AC97_FIFO1_SCR, in tegra20_ac97_stop_playback() 159 regmap_update_bits(ac97 in tegra20_ac97_stop_playback() 163 tegra20_ac97_start_capture(struct tegra20_ac97 * ac97) tegra20_ac97_start_capture() argument 170 tegra20_ac97_stop_capture(struct tegra20_ac97 * ac97) tegra20_ac97_stop_capture() argument 179 struct tegra20_ac97 *ac97 = snd_soc_dai_get_drvdata(dai); tegra20_ac97_trigger() local 207 struct tegra20_ac97 *ac97 = snd_soc_dai_get_drvdata(dai); tegra20_ac97_probe() local 303 struct tegra20_ac97 *ac97; tegra20_ac97_platform_probe() local 430 struct tegra20_ac97 *ac97 = dev_get_drvdata(&pdev->dev); tegra20_ac97_platform_remove() local [all...] |
| /linux/sound/ac97/ |
| H A D | snd_ac97_compat.c | 8 #include <sound/ac97/codec.h> 9 #include <sound/ac97/compat.h> 10 #include <sound/ac97/controller.h> 20 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() [all …]
|
| H A D | bus.c | 19 #include <sound/ac97/codec.h> 20 #include <sound/ac97/controller.h> 21 #include <sound/ac97/regs.h> 74 char compat[] = "ac97,0000,0000"; in ac97_of_get_child_device() 76 snprintf(compat, sizeof(compat), "ac97,%04x,%04x", in ac97_of_get_child_device() 182 * snd_ac97_codec_driver_register - register an AC97 codec driver 183 * @drv: AC97 driver codec to register 185 * Register an AC97 codec driver to the ac97 bus driver, aka. the AC97 digita [all...] |
| /linux/sound/soc/loongson/ |
| H A D | loongson1_ac97.c | 3 * AC97 Controller Driver for Loongson-1 SoC 20 /* Loongson-1 AC97 Controller Registers */ 106 static void ls1x_ac97_reset(struct snd_ac97 *ac97) in ls1x_ac97_reset() argument 115 static void ls1x_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short val) in ls1x_ac97_write() argument 124 pr_err("timeout on AC97 write! %d\n", ret); in ls1x_ac97_write() 129 static unsigned short ls1x_ac97_read(struct snd_ac97 *ac97, unsigned short reg) in ls1x_ac97_read() argument 138 pr_err("timeout on AC97 read! %d\n", ret); in ls1x_ac97_read() 148 static void ls1x_ac97_init(struct snd_ac97 *ac97) in ls1x_ac97_init() argument 169 if (ac97->ext_id & AC97_EI_VRA) { in ls1x_ac97_init() 186 struct ls1x_ac97 *ac97 = dev_get_drvdata(cpu_dai->dev); in ls1x_ac97_hw_params() local [all …]
|
| /linux/sound/ |
| H A D | ac97_bus.c | 3 * Linux driver model AC97 bus interface 18 * @ac97: The AC97 device to check 26 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_ID in snd_ac97_check_id() 55 snd_ac97_reset(struct snd_ac97 * ac97,bool try_warm,unsigned int id,unsigned int id_mask) snd_ac97_reset() argument [all...] |
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | soc-ac97link.txt | 1 AC97 link bindings 8 "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>;
|
| H A D | marvell,pxa2xx-ac97.txt | 3 This descriptions matches the AC97 controller found in pxa2xx and pxa3xx series. 7 "marvell,pxa250-ac97" 8 "marvell,pxa270-ac97" 9 "marvell,pxa300-ac97" 11 - interrupts: single interrupt generated by AC97 IP 12 - clocks: input clock of the AC97 IP, refer to clock-bindings.txt 16 - reset-gpios: gpio used for AC97 reset, refer to gpio.txt 19 ac97: sound@40500000 { 20 compatible = "marvell,pxa250-ac97";
|
| H A D | loongson,ls1b-ac97.yaml | 4 $id: http://devicetree.org/schemas/sound/loongson,ls1b-ac97.yaml# 7 title: Loongson-1 AC97 Controller 13 The Loongson-1 AC97 controller supports 2-channel stereo output and input. 22 - const: loongson,ls1b-ac97 25 - loongson,ls1a-ac97 26 - loongson,ls1c-ac97 27 - const: loongson,ls1b-ac97 34 - const: ac97 62 compatible = "loongson,ls1b-ac97"; 64 reg-names = "ac97", "audio-tx", "audio-rx";
|
| H A D | ac97-bus.txt | 1 Generic AC97 Device Properties 3 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";
|
| H A D | nvidia,tegra20-ac97.yaml | 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra20-ac97.yaml# 7 title: NVIDIA Tegra20 AC97 controller 15 const: nvidia,tegra20-ac97 24 const: ac97 41 description: Reset pin of external AC97 codec 45 description: AC97 DAP _FS line 70 ac97@70002000 { 71 compatible = "nvidia,tegra20-ac97"; 74 reset-names = "ac97";
|
| /linux/sound/soc/codecs/ |
| H A D | ac97.c | 3 * ac97.c -- ALSA Soc AC97 codec support 8 * Generic AC97 support. 29 { "AC97 Capture", NULL, "RX" }, 30 { "TX", NULL, "AC97 Playback" }, 37 struct snd_ac97 *ac97 = snd_soc_component_get_drvdata(component); in ac97_prepare() local 41 return snd_ac97_set_rate(ac97, reg, substream->runtime->rate); in ac97_prepare() 49 .name = "ac97-hifi", 51 .stream_name = "AC97 Playback", 57 .stream_name = "AC97 Capture", 67 struct snd_ac97 *ac97; in ac97_soc_probe() local [all …]
|
| /linux/include/sound/ |
| H A D | ac97_codec.h | 16 #include <sound/ac97/regs.h> 21 /* maximum number of devices on the AC97 bus */ 124 /* ac97->scaps */ 138 /* ac97->flags */ 156 #define AC97_HAS_NO_STD_PCM (1<<17) /* no standard AC97 PCM volume and mute */ 157 #define AC97_HAS_NO_AUX (1<<18) /* no standard AC97 AUX volume and mute */ 178 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); [all …]
|
| /linux/sound/pci/cs5535audio/ |
| H A D | cs5535audio.h | 42 /* cs5535 specific ac97 codec register defines */ 87 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 [all …]
|
| H A D | cs5535audio_olpc.c | 24 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_MIS in olpc_mic_get() 134 olpc_prequirks(struct snd_card * card,struct snd_ac97_template * ac97) olpc_prequirks() argument 144 olpc_quirks(struct snd_card * card,struct snd_ac97 * ac97) olpc_quirks() argument [all...] |
| /linux/sound/soc/pxa/ |
| H A D | pxa2xx-ac97.c | 3 * linux/sound/pxa2xx-ac97.c -- AC97 support for the Intel PXA2xx chip. 17 #include <sound/ac97/controller.h> 152 * There is only 1 physical AC97 interface for pxa2xx, but it 157 .name = "pxa2xx-ac97", 159 .stream_name = "AC97 Playback", 165 .stream_name = "AC97 Capture", 173 .name = "pxa2xx-ac97-aux", 175 .stream_name = "AC97 Aux Playback", 181 .stream_name = "AC97 Au [all...] |
| /linux/drivers/base/regmap/ |
| H A D | regmap-ac97.c | 47 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/sound/soc/fsl/ |
| H A D | mpc5200_psc_ac97.c | 3 // linux/sound/mpc5200-ac97.c -- AC97 support for the Freescale MPC52xx chip. 23 #define DRV_NAME "mpc5200-psc-ac97" 25 /* ALSA only supports a single AC97 device so static is recommend here */ 28 static unsigned short psc_ac97_read(struct snd_ac97 *ac97, unsigned short reg) in psc_ac97_read() argument 39 pr_err("timeout on ac97 bus (rdy)\n"); in psc_ac97_read() 53 pr_err("timeout on ac97 read (val) %x\n", in psc_ac97_read() 60 pr_err("reg echo error on ac97 read\n"); in psc_ac97_read() 68 static void psc_ac97_write(struct snd_ac97 *ac97, in psc_ac97_write() argument 79 pr_err("timeout on ac97 bus (write)\n"); in psc_ac97_write() 87 static void psc_ac97_warm_reset(struct snd_ac97 *ac97) in psc_ac97_warm_reset() argument [all …]
|
| H A D | efika-audio-fabric.c | 4 * configured as AC97 interface 28 DAILINK_COMP_ARRAY(COMP_CPU("mpc5200-psc-ac97.0")), 34 DAILINK_COMP_ARRAY(COMP_CPU("mpc5200-psc-ac97.1")), 41 .name = "AC97", 42 .stream_name = "AC97 Analog", 46 .name = "AC97", 47 .stream_name = "AC97 IEC958",
|
| /linux/sound/pci/au88x0/ |
| H A D | au88x0_mixer.c | 5 * There is much more than just the AC97 mixer... 26 struct snd_ac97_template ac97; in snd_vortex_mixer() local 36 memset(&ac97, 0, sizeof(ac97)); in snd_vortex_mixer() 37 // Initialize AC97 codec stuff. 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()
|
| /linux/sound/soc/au1x/ |
| H A D | db1200.c | 27 .name = "db1200-ac97", 33 .name = "db1300-ac97", 39 .name = "db1550-ac97", 49 /*------------------------- AC97 PART ---------------------------*/ 53 DAILINK_COMP_ARRAY(COMP_CODEC("ac97-codec.1", "ac97-hifi")), 57 .name = "AC97", 58 .stream_name = "AC97 HiFi", 75 .name = "AC97", 76 .stream_name = "AC97 HiF [all...] |