Lines Matching refs:params
269 struct snd_pcm_hw_params *params) in snd_pcm_hw_refine() argument
281 params->info = 0; in snd_pcm_hw_refine()
282 params->fifo_size = 0; in snd_pcm_hw_refine()
283 if (params->rmask & (1 << SNDRV_PCM_HW_PARAM_SAMPLE_BITS)) in snd_pcm_hw_refine()
284 params->msbits = 0; in snd_pcm_hw_refine()
285 if (params->rmask & (1 << SNDRV_PCM_HW_PARAM_RATE)) { in snd_pcm_hw_refine()
286 params->rate_num = 0; in snd_pcm_hw_refine()
287 params->rate_den = 0; in snd_pcm_hw_refine()
291 m = hw_param_mask(params, k); in snd_pcm_hw_refine()
294 if (!(params->rmask & (1 << k))) in snd_pcm_hw_refine()
305 params->cmask |= 1 << k; in snd_pcm_hw_refine()
311 i = hw_param_interval(params, k); in snd_pcm_hw_refine()
314 if (!(params->rmask & (1 << k))) in snd_pcm_hw_refine()
336 params->cmask |= 1 << k; in snd_pcm_hw_refine()
344 vstamps[k] = (params->rmask & (1 << k)) ? 1 : 0; in snd_pcm_hw_refine()
351 if (r->cond && !(r->cond & params->flags)) in snd_pcm_hw_refine()
366 m = hw_param_mask(params, r->var); in snd_pcm_hw_refine()
369 i = hw_param_interval(params, r->var); in snd_pcm_hw_refine()
379 changed = r->func(params, r); in snd_pcm_hw_refine()
398 params->cmask |= (1 << r->var); in snd_pcm_hw_refine()
407 if (!params->msbits) { in snd_pcm_hw_refine()
408 i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS); in snd_pcm_hw_refine()
410 params->msbits = snd_interval_value(i); in snd_pcm_hw_refine()
413 if (!params->rate_den) { in snd_pcm_hw_refine()
414 i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); in snd_pcm_hw_refine()
416 params->rate_num = snd_interval_value(i); in snd_pcm_hw_refine()
417 params->rate_den = 1; in snd_pcm_hw_refine()
422 if (!params->info) in snd_pcm_hw_refine()
423 params->info = hw->info & ~SNDRV_PCM_INFO_FIFO_IN_FRAMES; in snd_pcm_hw_refine()
424 if (!params->fifo_size) { in snd_pcm_hw_refine()
425 m = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); in snd_pcm_hw_refine()
426 i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); in snd_pcm_hw_refine()
430 SNDRV_PCM_IOCTL1_FIFO_SIZE, params); in snd_pcm_hw_refine()
435 params->rmask = 0; in snd_pcm_hw_refine()
444 struct snd_pcm_hw_params *params; in snd_pcm_hw_refine_user() local
447 params = memdup_user(_params, sizeof(*params)); in snd_pcm_hw_refine_user()
448 if (IS_ERR(params)) in snd_pcm_hw_refine_user()
449 return PTR_ERR(params); in snd_pcm_hw_refine_user()
451 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_refine_user()
452 if (copy_to_user(_params, params, sizeof(*params))) { in snd_pcm_hw_refine_user()
457 kfree(params); in snd_pcm_hw_refine_user()
485 struct snd_pcm_hw_params *params) in snd_pcm_hw_params() argument
512 params->rmask = ~0U; in snd_pcm_hw_params()
513 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_params()
517 err = snd_pcm_hw_params_choose(substream, params); in snd_pcm_hw_params()
522 err = substream->ops->hw_params(substream, params); in snd_pcm_hw_params()
527 runtime->access = params_access(params); in snd_pcm_hw_params()
528 runtime->format = params_format(params); in snd_pcm_hw_params()
529 runtime->subformat = params_subformat(params); in snd_pcm_hw_params()
530 runtime->channels = params_channels(params); in snd_pcm_hw_params()
531 runtime->rate = params_rate(params); in snd_pcm_hw_params()
532 runtime->period_size = params_period_size(params); in snd_pcm_hw_params()
533 runtime->periods = params_periods(params); in snd_pcm_hw_params()
534 runtime->buffer_size = params_buffer_size(params); in snd_pcm_hw_params()
535 runtime->info = params->info; in snd_pcm_hw_params()
536 runtime->rate_num = params->rate_num; in snd_pcm_hw_params()
537 runtime->rate_den = params->rate_den; in snd_pcm_hw_params()
539 (params->info & SNDRV_PCM_INFO_NO_PERIOD_WAKEUP) && in snd_pcm_hw_params()
540 (params->flags & SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP); in snd_pcm_hw_params()
588 struct snd_pcm_hw_params *params; in snd_pcm_hw_params_user() local
591 params = memdup_user(_params, sizeof(*params)); in snd_pcm_hw_params_user()
592 if (IS_ERR(params)) in snd_pcm_hw_params_user()
593 return PTR_ERR(params); in snd_pcm_hw_params_user()
595 err = snd_pcm_hw_params(substream, params); in snd_pcm_hw_params_user()
596 if (copy_to_user(_params, params, sizeof(*params))) { in snd_pcm_hw_params_user()
601 kfree(params); in snd_pcm_hw_params_user()
633 struct snd_pcm_sw_params *params) in snd_pcm_sw_params() argument
648 if (params->tstamp_mode > SNDRV_PCM_TSTAMP_LAST) in snd_pcm_sw_params()
650 if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12) && in snd_pcm_sw_params()
651 params->tstamp_type > SNDRV_PCM_TSTAMP_TYPE_LAST) in snd_pcm_sw_params()
653 if (params->avail_min == 0) in snd_pcm_sw_params()
655 if (params->silence_size >= runtime->boundary) { in snd_pcm_sw_params()
656 if (params->silence_threshold != 0) in snd_pcm_sw_params()
659 if (params->silence_size > params->silence_threshold) in snd_pcm_sw_params()
661 if (params->silence_threshold > runtime->buffer_size) in snd_pcm_sw_params()
666 runtime->tstamp_mode = params->tstamp_mode; in snd_pcm_sw_params()
667 if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12)) in snd_pcm_sw_params()
668 runtime->tstamp_type = params->tstamp_type; in snd_pcm_sw_params()
669 runtime->period_step = params->period_step; in snd_pcm_sw_params()
670 runtime->control->avail_min = params->avail_min; in snd_pcm_sw_params()
671 runtime->start_threshold = params->start_threshold; in snd_pcm_sw_params()
672 runtime->stop_threshold = params->stop_threshold; in snd_pcm_sw_params()
673 runtime->silence_threshold = params->silence_threshold; in snd_pcm_sw_params()
674 runtime->silence_size = params->silence_size; in snd_pcm_sw_params()
675 params->boundary = runtime->boundary; in snd_pcm_sw_params()
689 struct snd_pcm_sw_params params; in snd_pcm_sw_params_user() local
691 if (copy_from_user(¶ms, _params, sizeof(params))) in snd_pcm_sw_params_user()
693 err = snd_pcm_sw_params(substream, ¶ms); in snd_pcm_sw_params_user()
694 if (copy_to_user(_params, ¶ms, sizeof(params))) in snd_pcm_sw_params_user()
1869 static int snd_pcm_hw_rule_mul(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_mul() argument
1873 snd_interval_mul(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_mul()
1874 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_mul()
1875 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_mul()
1878 static int snd_pcm_hw_rule_div(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_div() argument
1882 snd_interval_div(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_div()
1883 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_div()
1884 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_div()
1887 static int snd_pcm_hw_rule_muldivk(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_muldivk() argument
1891 snd_interval_muldivk(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_muldivk()
1892 hw_param_interval_c(params, rule->deps[1]), in snd_pcm_hw_rule_muldivk()
1894 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_muldivk()
1897 static int snd_pcm_hw_rule_mulkdiv(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_mulkdiv() argument
1901 snd_interval_mulkdiv(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_mulkdiv()
1903 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_mulkdiv()
1904 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_mulkdiv()
1907 static int snd_pcm_hw_rule_format(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_format() argument
1911 struct snd_interval *i = hw_param_interval(params, rule->deps[0]); in snd_pcm_hw_rule_format()
1913 struct snd_mask *mask = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); in snd_pcm_hw_rule_format()
1928 static int snd_pcm_hw_rule_sample_bits(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_sample_bits() argument
1939 if (! snd_mask_test(hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT), k)) in snd_pcm_hw_rule_sample_bits()
1950 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_sample_bits()
1965 static int snd_pcm_hw_rule_rate(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_rate() argument
1969 return snd_interval_list(hw_param_interval(params, rule->var), in snd_pcm_hw_rule_rate()
1974 static int snd_pcm_hw_rule_buffer_bytes_max(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_buffer_bytes_max() argument
1984 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_buffer_bytes_max()
3540 static void snd_pcm_hw_convert_from_old_params(struct snd_pcm_hw_params *params, in snd_pcm_hw_convert_from_old_params() argument
3545 memset(params, 0, sizeof(*params)); in snd_pcm_hw_convert_from_old_params()
3546 params->flags = oparams->flags; in snd_pcm_hw_convert_from_old_params()
3548 params->masks[i].bits[0] = oparams->masks[i]; in snd_pcm_hw_convert_from_old_params()
3549 memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); in snd_pcm_hw_convert_from_old_params()
3550 params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); in snd_pcm_hw_convert_from_old_params()
3551 params->cmask = __OLD_TO_NEW_MASK(oparams->cmask); in snd_pcm_hw_convert_from_old_params()
3552 params->info = oparams->info; in snd_pcm_hw_convert_from_old_params()
3553 params->msbits = oparams->msbits; in snd_pcm_hw_convert_from_old_params()
3554 params->rate_num = oparams->rate_num; in snd_pcm_hw_convert_from_old_params()
3555 params->rate_den = oparams->rate_den; in snd_pcm_hw_convert_from_old_params()
3556 params->fifo_size = oparams->fifo_size; in snd_pcm_hw_convert_from_old_params()
3560 struct snd_pcm_hw_params *params) in snd_pcm_hw_convert_to_old_params() argument
3565 oparams->flags = params->flags; in snd_pcm_hw_convert_to_old_params()
3567 oparams->masks[i] = params->masks[i].bits[0]; in snd_pcm_hw_convert_to_old_params()
3568 memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); in snd_pcm_hw_convert_to_old_params()
3569 oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); in snd_pcm_hw_convert_to_old_params()
3570 oparams->cmask = __NEW_TO_OLD_MASK(params->cmask); in snd_pcm_hw_convert_to_old_params()
3571 oparams->info = params->info; in snd_pcm_hw_convert_to_old_params()
3572 oparams->msbits = params->msbits; in snd_pcm_hw_convert_to_old_params()
3573 oparams->rate_num = params->rate_num; in snd_pcm_hw_convert_to_old_params()
3574 oparams->rate_den = params->rate_den; in snd_pcm_hw_convert_to_old_params()
3575 oparams->fifo_size = params->fifo_size; in snd_pcm_hw_convert_to_old_params()
3581 struct snd_pcm_hw_params *params; in snd_pcm_hw_refine_old_user() local
3585 params = kmalloc(sizeof(*params), GFP_KERNEL); in snd_pcm_hw_refine_old_user()
3586 if (!params) in snd_pcm_hw_refine_old_user()
3594 snd_pcm_hw_convert_from_old_params(params, oparams); in snd_pcm_hw_refine_old_user()
3595 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_refine_old_user()
3596 snd_pcm_hw_convert_to_old_params(oparams, params); in snd_pcm_hw_refine_old_user()
3604 kfree(params); in snd_pcm_hw_refine_old_user()
3611 struct snd_pcm_hw_params *params; in snd_pcm_hw_params_old_user() local
3615 params = kmalloc(sizeof(*params), GFP_KERNEL); in snd_pcm_hw_params_old_user()
3616 if (!params) in snd_pcm_hw_params_old_user()
3624 snd_pcm_hw_convert_from_old_params(params, oparams); in snd_pcm_hw_params_old_user()
3625 err = snd_pcm_hw_params(substream, params); in snd_pcm_hw_params_old_user()
3626 snd_pcm_hw_convert_to_old_params(oparams, params); in snd_pcm_hw_params_old_user()
3634 kfree(params); in snd_pcm_hw_params_old_user()