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()
512 struct snd_pcm_hw_params *params) in snd_pcm_hw_params() argument
539 params->rmask = ~0U; in snd_pcm_hw_params()
540 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_params()
544 err = snd_pcm_hw_params_choose(substream, params); in snd_pcm_hw_params()
549 err = substream->ops->hw_params(substream, params); in snd_pcm_hw_params()
554 runtime->access = params_access(params); in snd_pcm_hw_params()
555 runtime->format = params_format(params); in snd_pcm_hw_params()
556 runtime->subformat = params_subformat(params); in snd_pcm_hw_params()
557 runtime->channels = params_channels(params); in snd_pcm_hw_params()
558 runtime->rate = params_rate(params); in snd_pcm_hw_params()
559 runtime->period_size = params_period_size(params); in snd_pcm_hw_params()
560 runtime->periods = params_periods(params); in snd_pcm_hw_params()
561 runtime->buffer_size = params_buffer_size(params); in snd_pcm_hw_params()
562 runtime->info = params->info; in snd_pcm_hw_params()
563 runtime->rate_num = params->rate_num; in snd_pcm_hw_params()
564 runtime->rate_den = params->rate_den; in snd_pcm_hw_params()
566 (params->info & SNDRV_PCM_INFO_NO_PERIOD_WAKEUP) && in snd_pcm_hw_params()
567 (params->flags & SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP); in snd_pcm_hw_params()
615 struct snd_pcm_hw_params *params; in snd_pcm_hw_params_user() local
618 params = memdup_user(_params, sizeof(*params)); in snd_pcm_hw_params_user()
619 if (IS_ERR(params)) in snd_pcm_hw_params_user()
620 return PTR_ERR(params); in snd_pcm_hw_params_user()
622 err = snd_pcm_hw_params(substream, params); in snd_pcm_hw_params_user()
623 if (copy_to_user(_params, params, sizeof(*params))) { in snd_pcm_hw_params_user()
628 kfree(params); in snd_pcm_hw_params_user()
660 struct snd_pcm_sw_params *params) in snd_pcm_sw_params() argument
675 if (params->tstamp_mode < 0 || in snd_pcm_sw_params()
676 params->tstamp_mode > SNDRV_PCM_TSTAMP_LAST) in snd_pcm_sw_params()
678 if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12) && in snd_pcm_sw_params()
679 params->tstamp_type > SNDRV_PCM_TSTAMP_TYPE_LAST) in snd_pcm_sw_params()
681 if (params->avail_min == 0) in snd_pcm_sw_params()
683 if (params->silence_size >= runtime->boundary) { in snd_pcm_sw_params()
684 if (params->silence_threshold != 0) in snd_pcm_sw_params()
687 if (params->silence_size > params->silence_threshold) in snd_pcm_sw_params()
689 if (params->silence_threshold > runtime->buffer_size) in snd_pcm_sw_params()
694 runtime->tstamp_mode = params->tstamp_mode; in snd_pcm_sw_params()
695 if (params->proto >= SNDRV_PROTOCOL_VERSION(2, 0, 12)) in snd_pcm_sw_params()
696 runtime->tstamp_type = params->tstamp_type; in snd_pcm_sw_params()
697 runtime->period_step = params->period_step; in snd_pcm_sw_params()
698 runtime->control->avail_min = params->avail_min; in snd_pcm_sw_params()
699 runtime->start_threshold = params->start_threshold; in snd_pcm_sw_params()
700 runtime->stop_threshold = params->stop_threshold; in snd_pcm_sw_params()
701 runtime->silence_threshold = params->silence_threshold; in snd_pcm_sw_params()
702 runtime->silence_size = params->silence_size; in snd_pcm_sw_params()
703 params->boundary = runtime->boundary; in snd_pcm_sw_params()
717 struct snd_pcm_sw_params params; in snd_pcm_sw_params_user() local
719 if (copy_from_user(¶ms, _params, sizeof(params))) in snd_pcm_sw_params_user()
721 err = snd_pcm_sw_params(substream, ¶ms); in snd_pcm_sw_params_user()
722 if (copy_to_user(_params, ¶ms, sizeof(params))) in snd_pcm_sw_params_user()
1900 static int snd_pcm_hw_rule_mul(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_mul() argument
1904 snd_interval_mul(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_mul()
1905 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_mul()
1906 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_mul()
1909 static int snd_pcm_hw_rule_div(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_div() argument
1913 snd_interval_div(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_div()
1914 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_div()
1915 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_div()
1918 static int snd_pcm_hw_rule_muldivk(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_muldivk() argument
1922 snd_interval_muldivk(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_muldivk()
1923 hw_param_interval_c(params, rule->deps[1]), in snd_pcm_hw_rule_muldivk()
1925 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_muldivk()
1928 static int snd_pcm_hw_rule_mulkdiv(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_mulkdiv() argument
1932 snd_interval_mulkdiv(hw_param_interval_c(params, rule->deps[0]), in snd_pcm_hw_rule_mulkdiv()
1934 hw_param_interval_c(params, rule->deps[1]), &t); in snd_pcm_hw_rule_mulkdiv()
1935 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_mulkdiv()
1938 static int snd_pcm_hw_rule_format(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_format() argument
1942 struct snd_interval *i = hw_param_interval(params, rule->deps[0]); in snd_pcm_hw_rule_format()
1944 struct snd_mask *mask = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); in snd_pcm_hw_rule_format()
1959 static int snd_pcm_hw_rule_sample_bits(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_sample_bits() argument
1970 if (! snd_mask_test(hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT), k)) in snd_pcm_hw_rule_sample_bits()
1981 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_sample_bits()
1996 static int snd_pcm_hw_rule_rate(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_rate() argument
2000 return snd_interval_list(hw_param_interval(params, rule->var), in snd_pcm_hw_rule_rate()
2005 static int snd_pcm_hw_rule_buffer_bytes_max(struct snd_pcm_hw_params *params, in snd_pcm_hw_rule_buffer_bytes_max() argument
2015 return snd_interval_refine(hw_param_interval(params, rule->var), &t); in snd_pcm_hw_rule_buffer_bytes_max()
3550 static void snd_pcm_hw_convert_from_old_params(struct snd_pcm_hw_params *params, in snd_pcm_hw_convert_from_old_params() argument
3555 memset(params, 0, sizeof(*params)); in snd_pcm_hw_convert_from_old_params()
3556 params->flags = oparams->flags; in snd_pcm_hw_convert_from_old_params()
3558 params->masks[i].bits[0] = oparams->masks[i]; in snd_pcm_hw_convert_from_old_params()
3559 memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); in snd_pcm_hw_convert_from_old_params()
3560 params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); in snd_pcm_hw_convert_from_old_params()
3561 params->cmask = __OLD_TO_NEW_MASK(oparams->cmask); in snd_pcm_hw_convert_from_old_params()
3562 params->info = oparams->info; in snd_pcm_hw_convert_from_old_params()
3563 params->msbits = oparams->msbits; in snd_pcm_hw_convert_from_old_params()
3564 params->rate_num = oparams->rate_num; in snd_pcm_hw_convert_from_old_params()
3565 params->rate_den = oparams->rate_den; in snd_pcm_hw_convert_from_old_params()
3566 params->fifo_size = oparams->fifo_size; in snd_pcm_hw_convert_from_old_params()
3570 struct snd_pcm_hw_params *params) in snd_pcm_hw_convert_to_old_params() argument
3575 oparams->flags = params->flags; in snd_pcm_hw_convert_to_old_params()
3577 oparams->masks[i] = params->masks[i].bits[0]; in snd_pcm_hw_convert_to_old_params()
3578 memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); in snd_pcm_hw_convert_to_old_params()
3579 oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); in snd_pcm_hw_convert_to_old_params()
3580 oparams->cmask = __NEW_TO_OLD_MASK(params->cmask); in snd_pcm_hw_convert_to_old_params()
3581 oparams->info = params->info; in snd_pcm_hw_convert_to_old_params()
3582 oparams->msbits = params->msbits; in snd_pcm_hw_convert_to_old_params()
3583 oparams->rate_num = params->rate_num; in snd_pcm_hw_convert_to_old_params()
3584 oparams->rate_den = params->rate_den; in snd_pcm_hw_convert_to_old_params()
3585 oparams->fifo_size = params->fifo_size; in snd_pcm_hw_convert_to_old_params()
3591 struct snd_pcm_hw_params *params; in snd_pcm_hw_refine_old_user() local
3595 params = kmalloc(sizeof(*params), GFP_KERNEL); in snd_pcm_hw_refine_old_user()
3596 if (!params) in snd_pcm_hw_refine_old_user()
3604 snd_pcm_hw_convert_from_old_params(params, oparams); in snd_pcm_hw_refine_old_user()
3605 err = snd_pcm_hw_refine(substream, params); in snd_pcm_hw_refine_old_user()
3606 snd_pcm_hw_convert_to_old_params(oparams, params); in snd_pcm_hw_refine_old_user()
3614 kfree(params); in snd_pcm_hw_refine_old_user()
3621 struct snd_pcm_hw_params *params; in snd_pcm_hw_params_old_user() local
3625 params = kmalloc(sizeof(*params), GFP_KERNEL); in snd_pcm_hw_params_old_user()
3626 if (!params) in snd_pcm_hw_params_old_user()
3634 snd_pcm_hw_convert_from_old_params(params, oparams); in snd_pcm_hw_params_old_user()
3635 err = snd_pcm_hw_params(substream, params); in snd_pcm_hw_params_old_user()
3636 snd_pcm_hw_convert_to_old_params(oparams, params); in snd_pcm_hw_params_old_user()
3644 kfree(params); in snd_pcm_hw_params_old_user()