Lines Matching refs:adsp

234 	struct wm_adsp *adsp;  member
249 struct wm_adsp *adsp = snd_soc_codec_get_drvdata(codec); in wm_adsp_fw_get() local
251 ucontrol->value.enumerated.item[0] = adsp[e->shift_l].fw; in wm_adsp_fw_get()
261 struct wm_adsp *adsp = snd_soc_codec_get_drvdata(codec); in wm_adsp_fw_put() local
263 if (ucontrol->value.enumerated.item[0] == adsp[e->shift_l].fw) in wm_adsp_fw_put()
269 if (adsp[e->shift_l].running) in wm_adsp_fw_put()
272 adsp[e->shift_l].fw = ucontrol->value.enumerated.item[0]; in wm_adsp_fw_put()
381 struct wm_adsp *adsp = ctl->adsp; in wm_coeff_write_control() local
386 mem = wm_adsp_find_region(adsp, region->type); in wm_coeff_write_control()
388 adsp_err(adsp, "No base for region %x\n", in wm_coeff_write_control()
400 ret = regmap_raw_write(adsp->regmap, reg, scratch, in wm_coeff_write_control()
403 adsp_err(adsp, "Failed to write %zu bytes to %x: %d\n", in wm_coeff_write_control()
408 adsp_dbg(adsp, "Wrote %zu bytes to %x\n", ctl->len, reg); in wm_coeff_write_control()
436 struct wm_adsp *adsp = ctl->adsp; in wm_coeff_read_control() local
441 mem = wm_adsp_find_region(adsp, region->type); in wm_coeff_read_control()
443 adsp_err(adsp, "No base for region %x\n", in wm_coeff_read_control()
455 ret = regmap_raw_read(adsp->regmap, reg, scratch, ctl->len); in wm_coeff_read_control()
457 adsp_err(adsp, "Failed to read %zu bytes from %x: %d\n", in wm_coeff_read_control()
462 adsp_dbg(adsp, "Read %zu bytes from %x\n", ctl->len, reg); in wm_coeff_read_control()
481 struct wm_adsp *adsp; member
486 static int wmfw_add_ctl(struct wm_adsp *adsp, struct wm_coeff_ctl *ctl) in wmfw_add_ctl() argument
505 ret = snd_soc_add_card_controls(adsp->card, in wmfw_add_ctl()
512 ctl->kcontrol = snd_soc_card_get_kcontrol(adsp->card, in wmfw_add_ctl()
515 list_add(&ctl->list, &adsp->ctl_list); in wmfw_add_ctl()
733 static int wm_coeff_init_control_caches(struct wm_adsp *adsp) in wm_coeff_init_control_caches() argument
738 list_for_each_entry(ctl, &adsp->ctl_list, list) { in wm_coeff_init_control_caches()
751 static int wm_coeff_sync_controls(struct wm_adsp *adsp) in wm_coeff_sync_controls() argument
756 list_for_each_entry(ctl, &adsp->ctl_list, list) { in wm_coeff_sync_controls()
777 wmfw_add_ctl(ctl_work->adsp, ctl_work->ctl); in wm_adsp_ctl_work()
843 ctl->adsp = dsp; in wm_adsp_create_control()
858 ctl_work->adsp = dsp; in wm_adsp_create_control()
1357 int wm_adsp1_init(struct wm_adsp *adsp) in wm_adsp1_init() argument
1359 INIT_LIST_HEAD(&adsp->alg_regions); in wm_adsp1_init()
1697 int wm_adsp2_init(struct wm_adsp *adsp, bool dvfs) in wm_adsp2_init() argument
1705 ret = regmap_update_bits(adsp->regmap, adsp->base + ADSP2_CONTROL, in wm_adsp2_init()
1708 adsp_err(adsp, "Failed to clear memory retention: %d\n", ret); in wm_adsp2_init()
1712 INIT_LIST_HEAD(&adsp->alg_regions); in wm_adsp2_init()
1713 INIT_LIST_HEAD(&adsp->ctl_list); in wm_adsp2_init()
1714 INIT_WORK(&adsp->boot_work, wm_adsp2_boot_work); in wm_adsp2_init()
1717 adsp->dvfs = devm_regulator_get(adsp->dev, "DCVDD"); in wm_adsp2_init()
1718 if (IS_ERR(adsp->dvfs)) { in wm_adsp2_init()
1719 ret = PTR_ERR(adsp->dvfs); in wm_adsp2_init()
1720 adsp_err(adsp, "Failed to get DCVDD: %d\n", ret); in wm_adsp2_init()
1724 ret = regulator_enable(adsp->dvfs); in wm_adsp2_init()
1726 adsp_err(adsp, "Failed to enable DCVDD: %d\n", ret); in wm_adsp2_init()
1730 ret = regulator_set_voltage(adsp->dvfs, 1200000, 1800000); in wm_adsp2_init()
1732 adsp_err(adsp, "Failed to initialise DVFS: %d\n", ret); in wm_adsp2_init()
1736 ret = regulator_disable(adsp->dvfs); in wm_adsp2_init()
1738 adsp_err(adsp, "Failed to disable DCVDD: %d\n", ret); in wm_adsp2_init()