Lines Matching refs:params
281 struct snd_pcm_hw_params *params) in snd_pcm_hw_refine() argument
293 params->info = 0; in snd_pcm_hw_refine()
294 params->fifo_size = 0; in snd_pcm_hw_refine()
295 if (params->rmask & (1 << SNDRV_PCM_HW_PARAM_SAMPLE_BITS)) in snd_pcm_hw_refine()
296 params->msbits = 0; in snd_pcm_hw_refine()
297 if (params->rmask & (1 << SNDRV_PCM_HW_PARAM_RATE)) { in snd_pcm_hw_refine()
298 params->rate_num = 0; in snd_pcm_hw_refine()
299 params->rate_den = 0; in snd_pcm_hw_refine()
303 m = hw_param_mask(params, k); in snd_pcm_hw_refine()
306 if (!(params->rmask & (1 << k))) in snd_pcm_hw_refine()
317 params->cmask |= 1 << k; in snd_pcm_hw_refine()
323 i = hw_param_interval(params, k); in snd_pcm_hw_refine()
326 if (!(params->rmask & (1 << k))) in snd_pcm_hw_refine()
348 params->cmask |= 1 << k; in snd_pcm_hw_refine()
356 vstamps[k] = (params->rmask & (1 << k)) ? 1 : 0; in snd_pcm_hw_refine()
363 if (r->cond && !(r->cond & params->flags)) in snd_pcm_hw_refine()
378 m = hw_param_mask(params, r->var); in snd_pcm_hw_refine()
381 i = hw_param_interval(params, r->var); in snd_pcm_hw_refine()
391 changed = r->func(params, r); in snd_pcm_hw_refine()
410 params->cmask |= (1 << r->var); in snd_pcm_hw_refine()
419 if (!params->msbits) { in snd_pcm_hw_refine()
420 i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS); in snd_pcm_hw_refine()
422 params->msbits = snd_interval_value(i); in snd_pcm_hw_refine()
425 if (!params->rate_den) { in snd_pcm_hw_refine()
426 i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); in snd_pcm_hw_refine()
428 params->rate_num = snd_interval_value(i); in snd_pcm_hw_refine()
429 params->rate_den = 1; in snd_pcm_hw_refine()
434 if (!params->info) { in snd_pcm_hw_refine()
435 params->info = hw->info & ~(SNDRV_PCM_INFO_FIFO_IN_FRAMES | in snd_pcm_hw_refine()
438 params->info &= ~(SNDRV_PCM_INFO_MMAP | in snd_pcm_hw_refine()
441 if (!params->fifo_size) { in snd_pcm_hw_refine()
442 m = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); in snd_pcm_hw_refine()
443 i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); in snd_pcm_hw_refine()
447 SNDRV_PCM_IOCTL1_FIFO_SIZE, params); in snd_pcm_hw_refine()
452 params->rmask = 0; in snd_pcm_hw_refine()
461 struct snd_pcm_hw_params *params; in snd_pcm_hw_refine_user() local
464 params = memdup_user(_params, sizeof(*params)); in snd_pcm_hw_refine_user()
465 if (IS_ERR(params)) in snd_pcm_hw_refine_user()
466 return PTR_ERR(params); in snd_pcm_hw_refine_user()
468 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_refine_user()
469 if (copy_to_user(_params, params, sizeof(*params))) { in snd_pcm_hw_refine_user()
474 kfree(params); in snd_pcm_hw_refine_user()
502 struct snd_pcm_hw_params *params) in snd_pcm_hw_params() argument
529 params->rmask = ~0U; in snd_pcm_hw_params()
530 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_params()
534 err = snd_pcm_hw_params_choose(substream, params); in snd_pcm_hw_params()
539 err = substream->ops->hw_params(substream, params); in snd_pcm_hw_params()
544 runtime->access = params_access(params); in snd_pcm_hw_params()
545 runtime->format = params_format(params); in snd_pcm_hw_params()
546 runtime->subformat = params_subformat(params); in snd_pcm_hw_params()
547 runtime->channels = params_channels(params); in snd_pcm_hw_params()
548 runtime->rate = params_rate(params); in snd_pcm_hw_params()
549 runtime->period_size = params_period_size(params); in snd_pcm_hw_params()
550 runtime->periods = params_periods(params); in snd_pcm_hw_params()
551 runtime->buffer_size = params_buffer_size(params); in snd_pcm_hw_params()
552 runtime->info = params->info; in snd_pcm_hw_params()
553 runtime->rate_num = params->rate_num; in snd_pcm_hw_params()
554 runtime->rate_den = params->rate_den; in snd_pcm_hw_params()
556 (params->info & SNDRV_PCM_INFO_NO_PERIOD_WAKEUP) && in snd_pcm_hw_params()
557 (params->flags & SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP); in snd_pcm_hw_params()
605 struct snd_pcm_hw_params *params; in snd_pcm_hw_params_user() local
608 params = memdup_user(_params, sizeof(*params)); in snd_pcm_hw_params_user()
609 if (IS_ERR(params)) in snd_pcm_hw_params_user()
610 return PTR_ERR(params); in snd_pcm_hw_params_user()
612 err = snd_pcm_hw_params(substream, params); in snd_pcm_hw_params_user()
613 if (copy_to_user(_params, params, sizeof(*params))) { in snd_pcm_hw_params_user()
618 kfree(params); in snd_pcm_hw_params_user()
650 struct snd_pcm_sw_params *params) in snd_pcm_sw_params() argument
665 if (params->tstamp_mode > SNDRV_PCM_TSTAMP_LAST) in snd_pcm_sw_params()
667 if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12) && in snd_pcm_sw_params()
668 params->tstamp_type > SNDRV_PCM_TSTAMP_TYPE_LAST) in snd_pcm_sw_params()
670 if (params->avail_min == 0) in snd_pcm_sw_params()
672 if (params->silence_size >= runtime->boundary) { in snd_pcm_sw_params()
673 if (params->silence_threshold != 0) in snd_pcm_sw_params()
676 if (params->silence_size > params->silence_threshold) in snd_pcm_sw_params()
678 if (params->silence_threshold > runtime->buffer_size) in snd_pcm_sw_params()
683 runtime->tstamp_mode = params->tstamp_mode; in snd_pcm_sw_params()
684 if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12)) in snd_pcm_sw_params()
685 runtime->tstamp_type = params->tstamp_type; in snd_pcm_sw_params()
686 runtime->period_step = params->period_step; in snd_pcm_sw_params()
687 runtime->control->avail_min = params->avail_min; in snd_pcm_sw_params()
688 runtime->start_threshold = params->start_threshold; in snd_pcm_sw_params()
689 runtime->stop_threshold = params->stop_threshold; in snd_pcm_sw_params()
690 runtime->silence_threshold = params->silence_threshold; in snd_pcm_sw_params()
691 runtime->silence_size = params->silence_size; in snd_pcm_sw_params()
692 params->boundary = runtime->boundary; in snd_pcm_sw_params()
706 struct snd_pcm_sw_params params; in snd_pcm_sw_params_user() local
708 if (copy_from_user(¶ms, _params, sizeof(params))) in snd_pcm_sw_params_user()
710 err = snd_pcm_sw_params(substream, ¶ms); in snd_pcm_sw_params_user()
711 if (copy_to_user(_params, ¶ms, sizeof(params))) in snd_pcm_sw_params_user()
1903 static int snd_pcm_hw_rule_mul(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_mul() argument
1907 snd_interval_mul(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_mul()
1908 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_mul()
1909 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_mul()
1912 static int snd_pcm_hw_rule_div(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_div() argument
1916 snd_interval_div(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_div()
1917 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_div()
1918 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_div()
1921 static int snd_pcm_hw_rule_muldivk(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_muldivk() argument
1925 snd_interval_muldivk(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_muldivk()
1926 hw_param_interval_c(params, rule->deps[1]), in snd_pcm_hw_rule_muldivk()
1928 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_muldivk()
1931 static int snd_pcm_hw_rule_mulkdiv(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_mulkdiv() argument
1935 snd_interval_mulkdiv(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_mulkdiv()
1937 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_mulkdiv()
1938 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_mulkdiv()
1941 static int snd_pcm_hw_rule_format(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_format() argument
1945 struct snd_interval *i = hw_param_interval(params, rule->deps[0]); in snd_pcm_hw_rule_format()
1947 struct snd_mask *mask = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); in snd_pcm_hw_rule_format()
1962 static int snd_pcm_hw_rule_sample_bits(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_sample_bits() argument
1973 if (! snd_mask_test(hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT), k)) in snd_pcm_hw_rule_sample_bits()
1984 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_sample_bits()
1999 static int snd_pcm_hw_rule_rate(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_rate() argument
2003 return snd_interval_list(hw_param_interval(params, rule->var), in snd_pcm_hw_rule_rate()
2008 static int snd_pcm_hw_rule_buffer_bytes_max(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_buffer_bytes_max() argument
2018 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_buffer_bytes_max()
3552 static void snd_pcm_hw_convert_from_old_params(struct snd_pcm_hw_params *params, in snd_pcm_hw_convert_from_old_params() argument
3557 memset(params, 0, sizeof(*params)); in snd_pcm_hw_convert_from_old_params()
3558 params->flags = oparams->flags; in snd_pcm_hw_convert_from_old_params()
3560 params->masks[i].bits[0] = oparams->masks[i]; in snd_pcm_hw_convert_from_old_params()
3561 memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); in snd_pcm_hw_convert_from_old_params()
3562 params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); in snd_pcm_hw_convert_from_old_params()
3563 params->cmask = __OLD_TO_NEW_MASK(oparams->cmask); in snd_pcm_hw_convert_from_old_params()
3564 params->info = oparams->info; in snd_pcm_hw_convert_from_old_params()
3565 params->msbits = oparams->msbits; in snd_pcm_hw_convert_from_old_params()
3566 params->rate_num = oparams->rate_num; in snd_pcm_hw_convert_from_old_params()
3567 params->rate_den = oparams->rate_den; in snd_pcm_hw_convert_from_old_params()
3568 params->fifo_size = oparams->fifo_size; in snd_pcm_hw_convert_from_old_params()
3572 struct snd_pcm_hw_params *params) in snd_pcm_hw_convert_to_old_params() argument
3577 oparams->flags = params->flags; in snd_pcm_hw_convert_to_old_params()
3579 oparams->masks[i] = params->masks[i].bits[0]; in snd_pcm_hw_convert_to_old_params()
3580 memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); in snd_pcm_hw_convert_to_old_params()
3581 oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); in snd_pcm_hw_convert_to_old_params()
3582 oparams->cmask = __NEW_TO_OLD_MASK(params->cmask); in snd_pcm_hw_convert_to_old_params()
3583 oparams->info = params->info; in snd_pcm_hw_convert_to_old_params()
3584 oparams->msbits = params->msbits; in snd_pcm_hw_convert_to_old_params()
3585 oparams->rate_num = params->rate_num; in snd_pcm_hw_convert_to_old_params()
3586 oparams->rate_den = params->rate_den; in snd_pcm_hw_convert_to_old_params()
3587 oparams->fifo_size = params->fifo_size; in snd_pcm_hw_convert_to_old_params()
3593 struct snd_pcm_hw_params *params; in snd_pcm_hw_refine_old_user() local
3597 params = kmalloc(sizeof(*params), GFP_KERNEL); in snd_pcm_hw_refine_old_user()
3598 if (!params) in snd_pcm_hw_refine_old_user()
3606 snd_pcm_hw_convert_from_old_params(params, oparams); in snd_pcm_hw_refine_old_user()
3607 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_refine_old_user()
3608 snd_pcm_hw_convert_to_old_params(oparams, params); in snd_pcm_hw_refine_old_user()
3616 kfree(params); in snd_pcm_hw_refine_old_user()
3623 struct snd_pcm_hw_params *params; in snd_pcm_hw_params_old_user() local
3627 params = kmalloc(sizeof(*params), GFP_KERNEL); in snd_pcm_hw_params_old_user()
3628 if (!params) in snd_pcm_hw_params_old_user()
3636 snd_pcm_hw_convert_from_old_params(params, oparams); in snd_pcm_hw_params_old_user()
3637 err = snd_pcm_hw_params(substream, params); in snd_pcm_hw_params_old_user()
3638 snd_pcm_hw_convert_to_old_params(oparams, params); in snd_pcm_hw_params_old_user()
3646 kfree(params); in snd_pcm_hw_params_old_user()