461 |
if (params->xfer_align == 0 || |
if (params->xfer_align == 0 || |
462 |
params->xfer_align % runtime->min_align != 0) |
params->xfer_align % runtime->min_align != 0) |
463 |
return -EINVAL; |
return -EINVAL; |
464 |
if ((params->silence_threshold != 0 || params->silence_size < runtime->boundary) && |
if (params->silence_size >= runtime->boundary) { |
465 |
(params->silence_threshold + params->silence_size > runtime->buffer_size)) |
if (params->silence_threshold != 0) |
466 |
return -EINVAL; |
return -EINVAL; |
467 |
|
} else { |
468 |
|
if (params->silence_size > params->silence_threshold) |
469 |
|
return -EINVAL; |
470 |
|
if (params->silence_threshold > runtime->buffer_size) |
471 |
|
return -EINVAL; |
472 |
|
} |
473 |
snd_pcm_stream_lock_irq(substream); |
snd_pcm_stream_lock_irq(substream); |
474 |
runtime->tstamp_mode = params->tstamp_mode; |
runtime->tstamp_mode = params->tstamp_mode; |
475 |
runtime->sleep_min = params->sleep_min; |
runtime->sleep_min = params->sleep_min; |
868 |
|
|
869 |
static int snd_pcm_pause(snd_pcm_substream_t *substream, int push) |
static int snd_pcm_pause(snd_pcm_substream_t *substream, int push) |
870 |
{ |
{ |
871 |
return snd_pcm_action(&snd_pcm_action_pause, substream, 0); |
return snd_pcm_action(&snd_pcm_action_pause, substream, push); |
872 |
} |
} |
873 |
|
|
874 |
#ifdef CONFIG_PM |
#ifdef CONFIG_PM |