Lines Matching defs:cs_ctl
312 struct cs_dsp_coeff_ctl *cs_ctl;
379 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
381 switch (cs_ctl->type) {
391 uinfo->count = cs_ctl->len;
404 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
408 mutex_lock(&cs_ctl->dsp->pwr_lock);
409 ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, p, cs_ctl->len);
410 mutex_unlock(&cs_ctl->dsp->pwr_lock);
421 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
432 mutex_lock(&cs_ctl->dsp->pwr_lock);
433 ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, scratch, size);
434 mutex_unlock(&cs_ctl->dsp->pwr_lock);
447 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
454 mutex_lock(&cs_ctl->dsp->pwr_lock);
456 if (cs_ctl->enabled)
457 ret = cs_dsp_coeff_write_acked_control(cs_ctl, val);
461 mutex_unlock(&cs_ctl->dsp->pwr_lock);
475 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
479 mutex_lock(&cs_ctl->dsp->pwr_lock);
480 ret = cs_dsp_coeff_read_ctrl(cs_ctl, 0, p, cs_ctl->len);
481 mutex_unlock(&cs_ctl->dsp->pwr_lock);
492 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
495 mutex_lock(&cs_ctl->dsp->pwr_lock);
497 ret = cs_dsp_coeff_read_ctrl(cs_ctl, 0, cs_ctl->cache, size);
499 if (!ret && copy_to_user(bytes, cs_ctl->cache, size))
502 mutex_unlock(&cs_ctl->dsp->pwr_lock);
558 struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl;
559 struct wm_adsp *dsp = container_of(cs_ctl->dsp,
573 kcontrol->access = wmfw_convert_flags(cs_ctl->flags, cs_ctl->len);
575 switch (cs_ctl->type) {
582 ctl->bytes_ext.max = cs_ctl->len;
597 static int wm_adsp_control_add(struct cs_dsp_coeff_ctl *cs_ctl)
599 struct wm_adsp *dsp = container_of(cs_ctl->dsp, struct wm_adsp, cs_dsp);
606 if (cs_ctl->flags & WMFW_CTL_FLAG_SYS)
609 region_name = cs_dsp_mem_region_name(cs_ctl->alg_region.type);
611 adsp_err(dsp, "Unknown region type: %d\n", cs_ctl->alg_region.type);
620 cs_ctl->alg_region.alg);
625 wm_adsp_fw_text[dsp->fw], cs_ctl->alg_region.alg);
630 wm_adsp_fw_text[dsp->fw], cs_ctl->alg_region.alg);
634 if (cs_ctl->subname) {
642 if (cs_ctl->subname_len > avail)
643 skip = cs_ctl->subname_len - avail;
646 " %.*s", cs_ctl->subname_len - skip, cs_ctl->subname + skip);
652 ctl->cs_ctl = cs_ctl;
660 cs_ctl->priv = ctl;
673 static void wm_adsp_control_remove(struct cs_dsp_coeff_ctl *cs_ctl)
675 struct wm_coeff_ctl *ctl = cs_ctl->priv;
686 struct cs_dsp_coeff_ctl *cs_ctl = cs_dsp_get_ctl(&dsp->cs_dsp, name, type, alg);
691 ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, buf, len);
697 if (ret == 0 || (cs_ctl->flags & WMFW_CTL_FLAG_SYS))
700 ctl = cs_ctl->priv;
1556 static int wm_adsp_buffer_parse_coeff(struct cs_dsp_coeff_ctl *cs_ctl)
1560 struct wm_adsp *dsp = container_of(cs_ctl->dsp, struct wm_adsp, cs_dsp);
1565 ret = cs_dsp_coeff_read_ctrl(cs_ctl, 0, &coeff_v1,
1566 min(cs_ctl->len, sizeof(coeff_v1)));
1585 buf->host_buf_mem_type = cs_ctl->alg_region.type;
1596 if (cs_ctl->len == 4)
1631 struct cs_dsp_coeff_ctl *cs_ctl;
1634 list_for_each_entry(cs_ctl, &dsp->cs_dsp.ctl_list, list) {
1635 if (cs_ctl->type != WMFW_CTL_TYPE_HOST_BUFFER)
1638 if (!cs_ctl->enabled)
1641 ret = wm_adsp_buffer_parse_coeff(cs_ctl);