Lines Matching refs:ch

359 					unsigned int ch, unsigned int count)  in snd_sgio2audio_dma_pull_frag()  argument
369 struct snd_pcm_runtime *runtime = chip->channel[ch].substream->runtime; in snd_sgio2audio_dma_pull_frag()
371 spin_lock_irqsave(&chip->channel[ch].lock, flags); in snd_sgio2audio_dma_pull_frag()
373 src_base = (unsigned long) chip->ring_base | (ch << CHANNEL_RING_SHIFT); in snd_sgio2audio_dma_pull_frag()
374 src_pos = readq(&mace->perif.audio.chan[ch].read_ptr); in snd_sgio2audio_dma_pull_frag()
376 dst_pos = chip->channel[ch].pos; in snd_sgio2audio_dma_pull_frag()
380 chip->channel[ch].size += (count >> 3); /* in frames */ in snd_sgio2audio_dma_pull_frag()
381 ret = chip->channel[ch].size >= runtime->period_size; in snd_sgio2audio_dma_pull_frag()
382 chip->channel[ch].size %= runtime->period_size; in snd_sgio2audio_dma_pull_frag()
397 writeq(src_pos, &mace->perif.audio.chan[ch].read_ptr); /* in bytes */ in snd_sgio2audio_dma_pull_frag()
398 chip->channel[ch].pos = dst_pos; in snd_sgio2audio_dma_pull_frag()
400 spin_unlock_irqrestore(&chip->channel[ch].lock, flags); in snd_sgio2audio_dma_pull_frag()
407 unsigned int ch, unsigned int count) in snd_sgio2audio_dma_push_frag() argument
417 struct snd_pcm_runtime *runtime = chip->channel[ch].substream->runtime; in snd_sgio2audio_dma_push_frag()
419 spin_lock_irqsave(&chip->channel[ch].lock, flags); in snd_sgio2audio_dma_push_frag()
421 dst_base = (unsigned long)chip->ring_base | (ch << CHANNEL_RING_SHIFT); in snd_sgio2audio_dma_push_frag()
422 dst_pos = readq(&mace->perif.audio.chan[ch].write_ptr); in snd_sgio2audio_dma_push_frag()
424 src_pos = chip->channel[ch].pos; in snd_sgio2audio_dma_push_frag()
428 chip->channel[ch].size += (count >> 3); /* in frames */ in snd_sgio2audio_dma_push_frag()
429 ret = chip->channel[ch].size >= runtime->period_size; in snd_sgio2audio_dma_push_frag()
430 chip->channel[ch].size %= runtime->period_size; in snd_sgio2audio_dma_push_frag()
447 writeq(dst_pos, &mace->perif.audio.chan[ch].write_ptr); /* in bytes */ in snd_sgio2audio_dma_push_frag()
448 chip->channel[ch].pos = src_pos; in snd_sgio2audio_dma_push_frag()
450 spin_unlock_irqrestore(&chip->channel[ch].lock, flags); in snd_sgio2audio_dma_push_frag()
458 int ch = chan->idx; in snd_sgio2audio_dma_start() local
461 writeq(CHANNEL_CONTROL_RESET, &mace->perif.audio.chan[ch].control); in snd_sgio2audio_dma_start()
463 writeq(0, &mace->perif.audio.chan[ch].control); in snd_sgio2audio_dma_start()
467 snd_sgio2audio_dma_push_frag(chip, ch, CHANNEL_RING_SIZE - 32); in snd_sgio2audio_dma_start()
471 &mace->perif.audio.chan[ch].control); in snd_sgio2audio_dma_start()
488 int count, ch; in snd_sgio2audio_dma_in_isr() local
492 ch = chan->idx; in snd_sgio2audio_dma_in_isr()
496 readq(&mace->perif.audio.chan[ch].depth) - 32; in snd_sgio2audio_dma_in_isr()
497 if (snd_sgio2audio_dma_pull_frag(chip, ch, count)) in snd_sgio2audio_dma_in_isr()
508 int count, ch; in snd_sgio2audio_dma_out_isr() local
512 ch = chan->idx; in snd_sgio2audio_dma_out_isr()
515 readq(&mace->perif.audio.chan[ch].depth) - 32; in snd_sgio2audio_dma_out_isr()
516 if (snd_sgio2audio_dma_push_frag(chip, ch, count)) in snd_sgio2audio_dma_out_isr()
615 int ch = chan->idx; in snd_sgio2audio_pcm_prepare() local
618 spin_lock_irqsave(&chip->channel[ch].lock, flags); in snd_sgio2audio_pcm_prepare()
621 chip->channel[ch].pos = 0; in snd_sgio2audio_pcm_prepare()
622 chip->channel[ch].size = 0; in snd_sgio2audio_pcm_prepare()
623 chip->channel[ch].substream = substream; in snd_sgio2audio_pcm_prepare()
630 ch - 1, in snd_sgio2audio_pcm_prepare()
642 spin_unlock_irqrestore(&chip->channel[ch].lock, flags); in snd_sgio2audio_pcm_prepare()