Lines Matching refs:codec

352 snd_azf3328_codec_outb(const struct snd_azf3328_codec_data *codec,  in snd_azf3328_codec_outb()  argument
357 outb(value, codec->io_base + reg); in snd_azf3328_codec_outb()
361 snd_azf3328_codec_inb(const struct snd_azf3328_codec_data *codec, unsigned reg) in snd_azf3328_codec_inb() argument
363 return inb(codec->io_base + reg); in snd_azf3328_codec_inb()
367 snd_azf3328_codec_outw(const struct snd_azf3328_codec_data *codec, in snd_azf3328_codec_outw() argument
372 outw(value, codec->io_base + reg); in snd_azf3328_codec_outw()
376 snd_azf3328_codec_inw(const struct snd_azf3328_codec_data *codec, unsigned reg) in snd_azf3328_codec_inw() argument
378 return inw(codec->io_base + reg); in snd_azf3328_codec_inw()
382 snd_azf3328_codec_outl(const struct snd_azf3328_codec_data *codec, in snd_azf3328_codec_outl() argument
387 outl(value, codec->io_base + reg); in snd_azf3328_codec_outl()
391 snd_azf3328_codec_outl_multi(const struct snd_azf3328_codec_data *codec, in snd_azf3328_codec_outl_multi() argument
395 unsigned long addr = codec->io_base + reg; in snd_azf3328_codec_outl_multi()
406 snd_azf3328_codec_inl(const struct snd_azf3328_codec_data *codec, unsigned reg) in snd_azf3328_codec_inl() argument
408 return inl(codec->io_base + reg); in snd_azf3328_codec_inl()
1237 snd_azf3328_codec_setfmt(struct snd_azf3328_codec_data *codec, in snd_azf3328_codec_setfmt() argument
1286 spin_lock_irqsave(codec->lock, flags); in snd_azf3328_codec_setfmt()
1289 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_SOUNDFORMAT, val); in snd_azf3328_codec_setfmt()
1299 if (codec->type != AZF_CODEC_CAPTURE) in snd_azf3328_codec_setfmt()
1300 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_codec_setfmt()
1301 snd_azf3328_codec_inw(codec, IDX_IO_CODEC_DMA_FLAGS) | in snd_azf3328_codec_setfmt()
1309 spin_unlock_irqrestore(codec->lock, flags); in snd_azf3328_codec_setfmt()
1313 snd_azf3328_codec_setfmt_lowpower(struct snd_azf3328_codec_data *codec in snd_azf3328_codec_setfmt_lowpower() argument
1320 snd_azf3328_codec_setfmt(codec, AZF_FREQ_4000, 8, 1); in snd_azf3328_codec_setfmt_lowpower()
1357 struct snd_azf3328_codec_data *codec = &chip->codecs[codec_type]; in snd_azf3328_ctrl_codec_activity() local
1358 bool need_change = (codec->running != enable); in snd_azf3328_ctrl_codec_activity()
1362 codec->name, enable, need_change in snd_azf3328_ctrl_codec_activity()
1395 snd_azf3328_codec_setfmt_lowpower(codec); in snd_azf3328_ctrl_codec_activity()
1396 codec->running = enable; in snd_azf3328_ctrl_codec_activity()
1402 struct snd_azf3328_codec_data *codec, in snd_azf3328_codec_setdmaa() argument
1412 if (!codec->running) { in snd_azf3328_codec_setdmaa()
1447 spin_lock_irqsave(codec->lock, flags); in snd_azf3328_codec_setdmaa()
1449 codec, IDX_IO_CODEC_DMA_START_1, &setup_io, 3 in snd_azf3328_codec_setdmaa()
1451 spin_unlock_irqrestore(codec->lock, flags); in snd_azf3328_codec_setdmaa()
1459 struct snd_azf3328_codec_data *codec = runtime->private_data; in snd_azf3328_pcm_prepare() local
1465 codec->dma_base = runtime->dma_addr; in snd_azf3328_pcm_prepare()
1468 snd_azf3328_codec_setfmt(codec, in snd_azf3328_pcm_prepare()
1472 snd_azf3328_codec_setdmaa(chip, codec, in snd_azf3328_pcm_prepare()
1483 struct snd_azf3328_codec_data *codec = runtime->private_data; in snd_azf3328_pcm_trigger() local
1487 bool is_main_mixer_playback_codec = (AZF_CODEC_PLAYBACK == codec->type); in snd_azf3328_pcm_trigger()
1491 dev_dbg(chip->card->dev, "START PCM %s\n", codec->name); in snd_azf3328_pcm_trigger()
1501 snd_azf3328_codec_setfmt(codec, in snd_azf3328_pcm_trigger()
1506 spin_lock(codec->lock); in snd_azf3328_pcm_trigger()
1508 flags1 = snd_azf3328_codec_inw(codec, IDX_IO_CODEC_DMA_FLAGS); in snd_azf3328_pcm_trigger()
1512 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, flags1); in snd_azf3328_pcm_trigger()
1515 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_IRQTYPE, 0xffff); in snd_azf3328_pcm_trigger()
1516 spin_unlock(codec->lock); in snd_azf3328_pcm_trigger()
1518 snd_azf3328_codec_setdmaa(chip, codec, runtime->dma_addr, in snd_azf3328_pcm_trigger()
1523 spin_lock(codec->lock); in snd_azf3328_pcm_trigger()
1527 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, flags1); in snd_azf3328_pcm_trigger()
1532 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, flags1); in snd_azf3328_pcm_trigger()
1534 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_pcm_trigger()
1536 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_pcm_trigger()
1538 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_pcm_trigger()
1541 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_pcm_trigger()
1547 spin_unlock(codec->lock); in snd_azf3328_pcm_trigger()
1548 snd_azf3328_ctrl_codec_activity(chip, codec->type, 1); in snd_azf3328_pcm_trigger()
1558 dev_dbg(chip->card->dev, "PCM STARTED %s\n", codec->name); in snd_azf3328_pcm_trigger()
1561 dev_dbg(chip->card->dev, "PCM RESUME %s\n", codec->name); in snd_azf3328_pcm_trigger()
1563 spin_lock(codec->lock); in snd_azf3328_pcm_trigger()
1564 if (codec->running) in snd_azf3328_pcm_trigger()
1565 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_pcm_trigger()
1567 codec, IDX_IO_CODEC_DMA_FLAGS in snd_azf3328_pcm_trigger()
1570 spin_unlock(codec->lock); in snd_azf3328_pcm_trigger()
1573 dev_dbg(chip->card->dev, "PCM STOP %s\n", codec->name); in snd_azf3328_pcm_trigger()
1583 spin_lock(codec->lock); in snd_azf3328_pcm_trigger()
1585 flags1 = snd_azf3328_codec_inw(codec, IDX_IO_CODEC_DMA_FLAGS); in snd_azf3328_pcm_trigger()
1589 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, flags1); in snd_azf3328_pcm_trigger()
1594 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, flags1); in snd_azf3328_pcm_trigger()
1597 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, flags1); in snd_azf3328_pcm_trigger()
1598 spin_unlock(codec->lock); in snd_azf3328_pcm_trigger()
1599 snd_azf3328_ctrl_codec_activity(chip, codec->type, 0); in snd_azf3328_pcm_trigger()
1609 dev_dbg(chip->card->dev, "PCM STOPPED %s\n", codec->name); in snd_azf3328_pcm_trigger()
1612 dev_dbg(chip->card->dev, "PCM SUSPEND %s\n", codec->name); in snd_azf3328_pcm_trigger()
1614 snd_azf3328_codec_outw(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_pcm_trigger()
1616 codec, IDX_IO_CODEC_DMA_FLAGS in snd_azf3328_pcm_trigger()
1638 const struct snd_azf3328_codec_data *codec = in snd_azf3328_pcm_pointer() local
1643 result = snd_azf3328_codec_inl(codec, IDX_IO_CODEC_DMA_CURRPOS); in snd_azf3328_pcm_pointer()
1647 result -= snd_azf3328_codec_inl(codec, IDX_IO_CODEC_DMA_START_1); in snd_azf3328_pcm_pointer()
1649 result -= codec->dma_base; in snd_azf3328_pcm_pointer()
1653 jiffies, codec->name, result, frmres); in snd_azf3328_pcm_pointer()
1895 const struct snd_azf3328_codec_data *codec = first_codec; in snd_azf3328_pcm_interrupt() local
1899 ++codec_type, ++codec) { in snd_azf3328_pcm_interrupt()
1905 spin_lock(codec->lock); in snd_azf3328_pcm_interrupt()
1906 which = snd_azf3328_codec_inb(codec, IDX_IO_CODEC_IRQTYPE); in snd_azf3328_pcm_interrupt()
1908 snd_azf3328_codec_outb(codec, IDX_IO_CODEC_IRQTYPE, which); in snd_azf3328_pcm_interrupt()
1909 spin_unlock(codec->lock); in snd_azf3328_pcm_interrupt()
1911 if (codec->substream) { in snd_azf3328_pcm_interrupt()
1912 snd_pcm_period_elapsed(codec->substream); in snd_azf3328_pcm_interrupt()
1914 codec->name, in snd_azf3328_pcm_interrupt()
1917 codec, IDX_IO_CODEC_DMA_CURRPOS)); in snd_azf3328_pcm_interrupt()
2049 struct snd_azf3328_codec_data *codec = &chip->codecs[codec_type]; in snd_azf3328_pcm_open() local
2051 codec->substream = substream; in snd_azf3328_pcm_open()
2058 runtime->private_data = codec; in snd_azf3328_pcm_open()
2084 struct snd_azf3328_codec_data *codec = in snd_azf3328_pcm_close() local
2087 codec->substream = NULL; in snd_azf3328_pcm_close()
2487 struct snd_azf3328_codec_data *codec = in snd_azf3328_create() local
2492 codec->running = 1; in snd_azf3328_create()
2495 spin_lock_irq(codec->lock); in snd_azf3328_create()
2496 snd_azf3328_codec_outb(codec, IDX_IO_CODEC_DMA_FLAGS, in snd_azf3328_create()
2498 spin_unlock_irq(codec->lock); in snd_azf3328_create()