20 #include <linux/slab.h>
42 .period_bytes_min = (64),
63 .buffer_bytes_max = (128*1024),
65 .period_bytes_max = (128*1024),
90 .period_bytes_min = (384),
97 static void ct_atc_pcm_interrupt(
struct ct_atc_pcm *atc_pcm)
133 runtime->
hw = ct_spdif_passthru_playback_hw;
136 runtime->
hw = ct_pcm_playback_hw;
137 if (
FRONT == substream->
pcm->device)
138 runtime->
hw.channels_max = 8;
255 unsigned long position;
262 position = bytes_to_frames(runtime, position);
283 runtime->
hw = ct_pcm_capture_hw;
284 runtime->
hw.rate_max = atc->
rsr * atc->
msr;
359 unsigned long position;
366 position = bytes_to_frames(runtime, position);
374 .open = ct_pcm_playback_open,
375 .close = ct_pcm_playback_close,
377 .hw_params = ct_pcm_hw_params,
378 .hw_free = ct_pcm_hw_free,
379 .prepare = ct_pcm_playback_prepare,
380 .trigger = ct_pcm_playback_trigger,
381 .pointer = ct_pcm_playback_pointer,
387 .open = ct_pcm_capture_open,
388 .close = ct_pcm_capture_close,
390 .hw_params = ct_pcm_hw_params,
391 .hw_free = ct_pcm_hw_free,
392 .prepare = ct_pcm_capture_prepare,
393 .trigger = ct_pcm_capture_trigger,
394 .pointer = ct_pcm_capture_pointer,
431 int playback_count, capture_count;
433 playback_count = (
IEC958 == device) ? 1 : 256;
434 capture_count = (
FRONT == device) ? 1 : 0;
436 playback_count, capture_count, &pcm);
480 #ifdef CONFIG_PM_SLEEP
481 atc->pcms[device] = pcm;