• Home
  • Raw
  • Download

Lines Matching refs:cs5535au

95 	struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream);  in snd_cs5535audio_playback_open()  local
99 runtime->hw.rates = cs5535au->ac97->rates[AC97_RATES_FRONT_DAC]; in snd_cs5535audio_playback_open()
101 cs5535au->playback_substream = substream; in snd_cs5535audio_playback_open()
102 runtime->private_data = &(cs5535au->dmas[CS5535AUDIO_DMA_PLAYBACK]); in snd_cs5535audio_playback_open()
118 static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au, in cs5535audio_build_dma_packets() argument
133 snd_dma_pci_data(cs5535au->pci), in cs5535audio_build_dma_packets()
167 spin_lock_irq(&cs5535au->reg_lock); in cs5535audio_build_dma_packets()
168 dma->ops->disable_dma(cs5535au); in cs5535audio_build_dma_packets()
169 dma->ops->setup_prd(cs5535au, jmpprd_addr); in cs5535audio_build_dma_packets()
170 spin_unlock_irq(&cs5535au->reg_lock); in cs5535audio_build_dma_packets()
174 static void cs5535audio_playback_enable_dma(struct cs5535audio *cs5535au) in cs5535audio_playback_enable_dma() argument
176 cs_writeb(cs5535au, ACC_BM0_CMD, BM_CTL_EN); in cs5535audio_playback_enable_dma()
179 static void cs5535audio_playback_disable_dma(struct cs5535audio *cs5535au) in cs5535audio_playback_disable_dma() argument
181 cs_writeb(cs5535au, ACC_BM0_CMD, 0); in cs5535audio_playback_disable_dma()
184 static void cs5535audio_playback_pause_dma(struct cs5535audio *cs5535au) in cs5535audio_playback_pause_dma() argument
186 cs_writeb(cs5535au, ACC_BM0_CMD, BM_CTL_PAUSE); in cs5535audio_playback_pause_dma()
189 static void cs5535audio_playback_setup_prd(struct cs5535audio *cs5535au, in cs5535audio_playback_setup_prd() argument
192 cs_writel(cs5535au, ACC_BM0_PRD, prd_addr); in cs5535audio_playback_setup_prd()
195 static u32 cs5535audio_playback_read_prd(struct cs5535audio *cs5535au) in cs5535audio_playback_read_prd() argument
197 return cs_readl(cs5535au, ACC_BM0_PRD); in cs5535audio_playback_read_prd()
200 static u32 cs5535audio_playback_read_dma_pntr(struct cs5535audio *cs5535au) in cs5535audio_playback_read_dma_pntr() argument
202 return cs_readl(cs5535au, ACC_BM0_PNTR); in cs5535audio_playback_read_dma_pntr()
205 static void cs5535audio_capture_enable_dma(struct cs5535audio *cs5535au) in cs5535audio_capture_enable_dma() argument
207 cs_writeb(cs5535au, ACC_BM1_CMD, BM_CTL_EN); in cs5535audio_capture_enable_dma()
210 static void cs5535audio_capture_disable_dma(struct cs5535audio *cs5535au) in cs5535audio_capture_disable_dma() argument
212 cs_writeb(cs5535au, ACC_BM1_CMD, 0); in cs5535audio_capture_disable_dma()
215 static void cs5535audio_capture_pause_dma(struct cs5535audio *cs5535au) in cs5535audio_capture_pause_dma() argument
217 cs_writeb(cs5535au, ACC_BM1_CMD, BM_CTL_PAUSE); in cs5535audio_capture_pause_dma()
220 static void cs5535audio_capture_setup_prd(struct cs5535audio *cs5535au, in cs5535audio_capture_setup_prd() argument
223 cs_writel(cs5535au, ACC_BM1_PRD, prd_addr); in cs5535audio_capture_setup_prd()
226 static u32 cs5535audio_capture_read_prd(struct cs5535audio *cs5535au) in cs5535audio_capture_read_prd() argument
228 return cs_readl(cs5535au, ACC_BM1_PRD); in cs5535audio_capture_read_prd()
231 static u32 cs5535audio_capture_read_dma_pntr(struct cs5535audio *cs5535au) in cs5535audio_capture_read_dma_pntr() argument
233 return cs_readl(cs5535au, ACC_BM1_PNTR); in cs5535audio_capture_read_dma_pntr()
236 static void cs5535audio_clear_dma_packets(struct cs5535audio *cs5535au, in cs5535audio_clear_dma_packets() argument
248 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_hw_params() local
259 err = cs5535audio_build_dma_packets(cs5535au, dma, substream, in snd_cs5535audio_hw_params()
270 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_hw_free() local
274 if (substream == cs5535au->playback_substream) in snd_cs5535audio_hw_free()
275 snd_ac97_update_power(cs5535au->ac97, in snd_cs5535audio_hw_free()
278 snd_ac97_update_power(cs5535au->ac97, in snd_cs5535audio_hw_free()
282 cs5535audio_clear_dma_packets(cs5535au, dma, substream); in snd_cs5535audio_hw_free()
288 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_playback_prepare() local
289 return snd_ac97_set_rate(cs5535au->ac97, AC97_PCM_FRONT_DAC_RATE, in snd_cs5535audio_playback_prepare()
295 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_trigger() local
299 spin_lock(&cs5535au->reg_lock); in snd_cs5535audio_trigger()
302 dma->ops->pause_dma(cs5535au); in snd_cs5535audio_trigger()
305 dma->ops->enable_dma(cs5535au); in snd_cs5535audio_trigger()
308 dma->ops->enable_dma(cs5535au); in snd_cs5535audio_trigger()
311 dma->ops->enable_dma(cs5535au); in snd_cs5535audio_trigger()
314 dma->ops->disable_dma(cs5535au); in snd_cs5535audio_trigger()
317 dma->ops->disable_dma(cs5535au); in snd_cs5535audio_trigger()
320 dev_err(cs5535au->card->dev, "unhandled trigger\n"); in snd_cs5535audio_trigger()
324 spin_unlock(&cs5535au->reg_lock); in snd_cs5535audio_trigger()
331 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_pcm_pointer() local
336 curdma = dma->ops->read_dma_pntr(cs5535au); in snd_cs5535audio_pcm_pointer()
338 dev_err(cs5535au->card->dev, "curdma=%x < %x bufaddr.\n", in snd_cs5535audio_pcm_pointer()
344 dev_err(cs5535au->card->dev, "diff=%x >= %x buf_bytes.\n", in snd_cs5535audio_pcm_pointer()
354 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_capture_open() local
358 runtime->hw.rates = cs5535au->ac97->rates[AC97_RATES_ADC]; in snd_cs5535audio_capture_open()
360 cs5535au->capture_substream = substream; in snd_cs5535audio_capture_open()
361 runtime->private_data = &(cs5535au->dmas[CS5535AUDIO_DMA_CAPTURE]); in snd_cs5535audio_capture_open()
365 olpc_capture_open(cs5535au->ac97); in snd_cs5535audio_capture_open()
371 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_capture_close() local
372 olpc_capture_close(cs5535au->ac97); in snd_cs5535audio_capture_close()
378 struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream); in snd_cs5535audio_capture_prepare() local
379 return snd_ac97_set_rate(cs5535au->ac97, AC97_PCM_LR_ADC_RATE, in snd_cs5535audio_capture_prepare()
425 int snd_cs5535audio_pcm(struct cs5535audio *cs5535au) in snd_cs5535audio_pcm() argument
430 err = snd_pcm_new(cs5535au->card, "CS5535 Audio", 0, 1, 1, &pcm); in snd_cs5535audio_pcm()
434 cs5535au->dmas[CS5535AUDIO_DMA_PLAYBACK].ops = in snd_cs5535audio_pcm()
436 cs5535au->dmas[CS5535AUDIO_DMA_CAPTURE].ops = in snd_cs5535audio_pcm()
443 pcm->private_data = cs5535au; in snd_cs5535audio_pcm()
448 snd_dma_pci_data(cs5535au->pci), in snd_cs5535audio_pcm()
450 cs5535au->pcm = pcm; in snd_cs5535audio_pcm()