Lines Matching refs:chip

31 	struct snd_pdacf *chip = dev;  in pdacf_interrupt()  local
35 if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE| in pdacf_interrupt()
40 stat = inw(chip->port + PDAUDIOCF_REG_ISR); in pdacf_interrupt()
44 if (chip->pcm_substream) in pdacf_interrupt()
50 snd_ak4117_check_rate_and_errors(chip->ak4117, 0); in pdacf_interrupt()
208 static void pdacf_transfer(struct snd_pdacf *chip, unsigned int size, unsigned int off) in pdacf_transfer() argument
210 unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD; in pdacf_transfer()
211 unsigned int xor = chip->pcm_xor; in pdacf_transfer()
213 if (chip->pcm_sample == 3) { in pdacf_transfer()
214 if (chip->pcm_little) { in pdacf_transfer()
215 if (chip->pcm_channels == 1) { in pdacf_transfer()
216 pdacf_transfer_mono24le((char *)chip->pcm_area + (off * 3), xor, size, rdp_port); in pdacf_transfer()
218 pdacf_transfer_stereo24le((char *)chip->pcm_area + (off * 6), xor, size, rdp_port); in pdacf_transfer()
221 if (chip->pcm_channels == 1) { in pdacf_transfer()
222 pdacf_transfer_mono24be((char *)chip->pcm_area + (off * 3), xor, size, rdp_port); in pdacf_transfer()
224 pdacf_transfer_stereo24be((char *)chip->pcm_area + (off * 6), xor, size, rdp_port); in pdacf_transfer()
229 if (chip->pcm_swab == 0) { in pdacf_transfer()
230 if (chip->pcm_channels == 1) { in pdacf_transfer()
231 if (chip->pcm_frame == 2) { in pdacf_transfer()
232 pdacf_transfer_mono16((u16 *)chip->pcm_area + off, xor, size, rdp_port); in pdacf_transfer()
234 pdacf_transfer_mono32((u32 *)chip->pcm_area + off, xor, size, rdp_port); in pdacf_transfer()
237 if (chip->pcm_frame == 2) { in pdacf_transfer()
238 pdacf_transfer_stereo16((u16 *)chip->pcm_area + (off * 2), xor, size, rdp_port); in pdacf_transfer()
240 pdacf_transfer_stereo32((u32 *)chip->pcm_area + (off * 2), xor, size, rdp_port); in pdacf_transfer()
244 if (chip->pcm_channels == 1) { in pdacf_transfer()
245 if (chip->pcm_frame == 2) { in pdacf_transfer()
246 pdacf_transfer_mono16sw((u16 *)chip->pcm_area + off, xor, size, rdp_port); in pdacf_transfer()
248 pdacf_transfer_mono32sw((u32 *)chip->pcm_area + off, xor, size, rdp_port); in pdacf_transfer()
251 if (chip->pcm_frame == 2) { in pdacf_transfer()
252 pdacf_transfer_stereo16sw((u16 *)chip->pcm_area + (off * 2), xor, size, rdp_port); in pdacf_transfer()
254 pdacf_transfer_stereo32sw((u32 *)chip->pcm_area + (off * 2), xor, size, rdp_port); in pdacf_transfer()
262 struct snd_pdacf *chip = dev; in pdacf_threaded_irq() local
265 …if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|PDAUDIOCF_STAT_IS_CONFIGURED)) != PDAUDIOCF_STAT… in pdacf_threaded_irq()
268 …if (chip->pcm_substream == NULL || chip->pcm_substream->runtime == NULL || !snd_pcm_running(chip->… in pdacf_threaded_irq()
271 rdp = inw(chip->port + PDAUDIOCF_REG_RDP); in pdacf_threaded_irq()
272 wdp = inw(chip->port + PDAUDIOCF_REG_WDP); in pdacf_threaded_irq()
279 size /= chip->pcm_frame; in pdacf_threaded_irq()
284 chip->pcm_hwptr += size; in pdacf_threaded_irq()
285 chip->pcm_hwptr %= chip->pcm_size; in pdacf_threaded_irq()
286 chip->pcm_tdone += size; in pdacf_threaded_irq()
287 if (chip->pcm_frame == 2) { in pdacf_threaded_irq()
288 unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD; in pdacf_threaded_irq()
294 unsigned long rdp_port = chip->port + PDAUDIOCF_REG_MD; in pdacf_threaded_irq()
302 off = chip->pcm_hwptr + chip->pcm_tdone; in pdacf_threaded_irq()
303 off %= chip->pcm_size; in pdacf_threaded_irq()
304 chip->pcm_tdone += size; in pdacf_threaded_irq()
306 cont = chip->pcm_size - off; in pdacf_threaded_irq()
309 pdacf_transfer(chip, cont, off); in pdacf_threaded_irq()
311 off %= chip->pcm_size; in pdacf_threaded_irq()
315 mutex_lock(&chip->reg_lock); in pdacf_threaded_irq()
316 while (chip->pcm_tdone >= chip->pcm_period) { in pdacf_threaded_irq()
317 chip->pcm_hwptr += chip->pcm_period; in pdacf_threaded_irq()
318 chip->pcm_hwptr %= chip->pcm_size; in pdacf_threaded_irq()
319 chip->pcm_tdone -= chip->pcm_period; in pdacf_threaded_irq()
320 mutex_unlock(&chip->reg_lock); in pdacf_threaded_irq()
321 snd_pcm_period_elapsed(chip->pcm_substream); in pdacf_threaded_irq()
322 mutex_lock(&chip->reg_lock); in pdacf_threaded_irq()
324 mutex_unlock(&chip->reg_lock); in pdacf_threaded_irq()