Lines Matching refs:chip

46 		printk(KERN_INFO "%s: " fmt, chip->dev->name , ## arg);	\
50 printk(KERN_DEBUG "%s: " fmt, chip->dev->name , ## arg)
83 static int cx23885_alsa_dma_init(struct cx23885_audio_dev *chip, int nr_pages) in cx23885_alsa_dma_init() argument
85 struct cx23885_audio_buffer *buf = chip->buf; in cx23885_alsa_dma_init()
163 static int cx23885_start_audio_dma(struct cx23885_audio_dev *chip) in cx23885_start_audio_dma() argument
165 struct cx23885_audio_buffer *buf = chip->buf; in cx23885_start_audio_dma()
166 struct cx23885_dev *dev = chip->dev; in cx23885_start_audio_dma()
176 cx23885_sram_channel_setup(chip->dev, audio_ch, buf->bpl, in cx23885_start_audio_dma()
187 atomic_set(&chip->count, 0); in cx23885_start_audio_dma()
191 chip->num_periods, buf->bpl * chip->num_periods); in cx23885_start_audio_dma()
201 cx_set(PCI_INT_MSK, chip->dev->pci_irqmask | PCI_MSK_AUD_INT); in cx23885_start_audio_dma()
208 cx23885_sram_channel_dump(chip->dev, audio_ch); in cx23885_start_audio_dma()
216 static int cx23885_stop_audio_dma(struct cx23885_audio_dev *chip) in cx23885_stop_audio_dma() argument
218 struct cx23885_dev *dev = chip->dev; in cx23885_stop_audio_dma()
230 cx23885_sram_channel_dump(chip->dev, in cx23885_stop_audio_dma()
241 struct cx23885_audio_dev *chip = dev->audio_dev; in cx23885_audio_irq() local
263 atomic_set(&chip->count, cx_read(AUD_INT_A_GPCNT)); in cx23885_audio_irq()
264 snd_pcm_period_elapsed(chip->substream); in cx23885_audio_irq()
271 static int dsp_buffer_free(struct cx23885_audio_dev *chip) in dsp_buffer_free() argument
275 BUG_ON(!chip->dma_size); in dsp_buffer_free()
278 cx23885_alsa_dma_unmap(chip); in dsp_buffer_free()
279 cx23885_alsa_dma_free(chip->buf); in dsp_buffer_free()
280 risc = &chip->buf->risc; in dsp_buffer_free()
281 pci_free_consistent(chip->pci, risc->size, risc->cpu, risc->dma); in dsp_buffer_free()
282 kfree(chip->buf); in dsp_buffer_free()
284 chip->buf = NULL; in dsp_buffer_free()
285 chip->dma_size = 0; in dsp_buffer_free()
325 struct cx23885_audio_dev *chip = snd_pcm_substream_chip(substream); in snd_cx23885_pcm_open() local
329 if (!chip) { in snd_cx23885_pcm_open()
340 chip->substream = substream; in snd_cx23885_pcm_open()
344 if (chip->dev->sram_channels[AUDIO_SRAM_CHANNEL].fifo_size != in snd_cx23885_pcm_open()
346 unsigned int bpl = chip->dev-> in snd_cx23885_pcm_open()
374 struct cx23885_audio_dev *chip = snd_pcm_substream_chip(substream); in snd_cx23885_hw_params() local
379 dsp_buffer_free(chip); in snd_cx23885_hw_params()
383 chip->period_size = params_period_bytes(hw_params); in snd_cx23885_hw_params()
384 chip->num_periods = params_periods(hw_params); in snd_cx23885_hw_params()
385 chip->dma_size = chip->period_size * params_periods(hw_params); in snd_cx23885_hw_params()
387 BUG_ON(!chip->dma_size); in snd_cx23885_hw_params()
388 BUG_ON(chip->num_periods & (chip->num_periods-1)); in snd_cx23885_hw_params()
394 buf->bpl = chip->period_size; in snd_cx23885_hw_params()
395 chip->buf = buf; in snd_cx23885_hw_params()
397 ret = cx23885_alsa_dma_init(chip, in snd_cx23885_hw_params()
398 (PAGE_ALIGN(chip->dma_size) >> PAGE_SHIFT)); in snd_cx23885_hw_params()
402 ret = cx23885_alsa_dma_map(chip); in snd_cx23885_hw_params()
406 ret = cx23885_risc_databuffer(chip->pci, &buf->risc, buf->sglist, in snd_cx23885_hw_params()
407 chip->period_size, chip->num_periods, 1); in snd_cx23885_hw_params()
416 substream->runtime->dma_area = chip->buf->vaddr; in snd_cx23885_hw_params()
417 substream->runtime->dma_bytes = chip->dma_size; in snd_cx23885_hw_params()
424 chip->buf = NULL; in snd_cx23885_hw_params()
434 struct cx23885_audio_dev *chip = snd_pcm_substream_chip(substream); in snd_cx23885_hw_free() local
437 dsp_buffer_free(chip); in snd_cx23885_hw_free()
458 struct cx23885_audio_dev *chip = snd_pcm_substream_chip(substream); in snd_cx23885_card_trigger() local
462 spin_lock(&chip->lock); in snd_cx23885_card_trigger()
466 err = cx23885_start_audio_dma(chip); in snd_cx23885_card_trigger()
469 err = cx23885_stop_audio_dma(chip); in snd_cx23885_card_trigger()
476 spin_unlock(&chip->lock); in snd_cx23885_card_trigger()
487 struct cx23885_audio_dev *chip = snd_pcm_substream_chip(substream); in snd_cx23885_pointer() local
491 count = atomic_read(&chip->count); in snd_cx23885_pointer()
524 static int snd_cx23885_pcm(struct cx23885_audio_dev *chip, int device, in snd_cx23885_pcm() argument
530 err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm); in snd_cx23885_pcm()
533 pcm->private_data = chip; in snd_cx23885_pcm()
551 struct cx23885_audio_dev *chip; in cx23885_audio_register() local
569 chip = (struct cx23885_audio_dev *) card->private_data; in cx23885_audio_register()
570 chip->dev = dev; in cx23885_audio_register()
571 chip->pci = dev->pci; in cx23885_audio_register()
572 chip->card = card; in cx23885_audio_register()
573 spin_lock_init(&chip->lock); in cx23885_audio_register()
575 err = snd_cx23885_pcm(chip, 0, "CX23885 Digital"); in cx23885_audio_register()
589 return chip; in cx23885_audio_register()
604 struct cx23885_audio_dev *chip = dev->audio_dev; in cx23885_audio_unregister() local
606 snd_card_free(chip->card); in cx23885_audio_unregister()