Lines Matching refs:codec
208 static int ad1980_reset(struct snd_soc_codec *codec, int try_warm) in ad1980_reset() argument
210 struct snd_ac97 *ac97 = snd_soc_codec_get_drvdata(codec); in ad1980_reset()
226 snd_soc_write(codec, AC97_AD_SERIAL_CFG, 0x9900); in ad1980_reset()
230 dev_err(codec->dev, "Failed to reset: AC97 link error\n"); in ad1980_reset()
235 static int ad1980_soc_probe(struct snd_soc_codec *codec) in ad1980_soc_probe() argument
243 ac97 = snd_soc_new_ac97_codec(codec, 0, 0); in ad1980_soc_probe()
246 dev_err(codec->dev, "Failed to register AC97 codec: %d\n", ret); in ad1980_soc_probe()
256 snd_soc_codec_init_regmap(codec, regmap); in ad1980_soc_probe()
257 snd_soc_codec_set_drvdata(codec, ac97); in ad1980_soc_probe()
259 ret = ad1980_reset(codec, 0); in ad1980_soc_probe()
263 vendor_id2 = snd_soc_read(codec, AC97_VENDOR_ID2); in ad1980_soc_probe()
265 dev_warn(codec->dev, in ad1980_soc_probe()
270 snd_soc_write(codec, AC97_MASTER, 0x0000); in ad1980_soc_probe()
271 snd_soc_write(codec, AC97_PCM, 0x0000); in ad1980_soc_probe()
272 snd_soc_write(codec, AC97_REC_GAIN, 0x0000); in ad1980_soc_probe()
273 snd_soc_write(codec, AC97_CENTER_LFE_MASTER, 0x0000); in ad1980_soc_probe()
274 snd_soc_write(codec, AC97_SURROUND_MASTER, 0x0000); in ad1980_soc_probe()
277 ext_status = snd_soc_read(codec, AC97_EXTENDED_STATUS); in ad1980_soc_probe()
278 snd_soc_write(codec, AC97_EXTENDED_STATUS, ext_status&~0x3800); in ad1980_soc_probe()
283 snd_soc_codec_exit_regmap(codec); in ad1980_soc_probe()
289 static int ad1980_soc_remove(struct snd_soc_codec *codec) in ad1980_soc_remove() argument
291 struct snd_ac97 *ac97 = snd_soc_codec_get_drvdata(codec); in ad1980_soc_remove()
293 snd_soc_codec_exit_regmap(codec); in ad1980_soc_remove()