/linux-6.6.21/include/linux/firmware/cirrus/ |
D | cs_dsp.h | 90 struct cs_dsp *dsp; 143 struct cs_dsp { struct 205 int (*pre_run)(struct cs_dsp *dsp); 206 int (*post_run)(struct cs_dsp *dsp); 207 void (*pre_stop)(struct cs_dsp *dsp); 208 void (*post_stop)(struct cs_dsp *dsp); 209 void (*watchdog_expired)(struct cs_dsp *dsp); 212 int cs_dsp_adsp1_init(struct cs_dsp *dsp); 213 int cs_dsp_adsp2_init(struct cs_dsp *dsp); 214 int cs_dsp_halo_init(struct cs_dsp *dsp); [all …]
|
/linux-6.6.21/sound/soc/codecs/ |
D | wm_adsp.c | 35 dev_crit(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 37 dev_err(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 39 dev_warn(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 41 dev_info(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 43 dev_dbg(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 344 mutex_lock(&dsp[e->shift_l].cs_dsp.pwr_lock); in wm_adsp_fw_put() 346 if (dsp[e->shift_l].cs_dsp.booted || !list_empty(&dsp[e->shift_l].compr_list)) in wm_adsp_fw_put() 351 mutex_unlock(&dsp[e->shift_l].cs_dsp.pwr_lock); in wm_adsp_fw_put() 561 cs_dsp); in wm_adsp_ctl_work() 599 struct wm_adsp *dsp = container_of(cs_ctl->dsp, struct wm_adsp, cs_dsp); in wm_adsp_control_add() [all …]
|
D | cs35l56-shared.c | 565 void cs35l56_init_cs_dsp(struct cs35l56_base *cs35l56_base, struct cs_dsp *cs_dsp) in cs35l56_init_cs_dsp() argument 567 cs_dsp->num = 1; in cs35l56_init_cs_dsp() 568 cs_dsp->type = WMFW_HALO; in cs35l56_init_cs_dsp() 569 cs_dsp->rev = 0; in cs35l56_init_cs_dsp() 570 cs_dsp->dev = cs35l56_base->dev; in cs35l56_init_cs_dsp() 571 cs_dsp->regmap = cs35l56_base->regmap; in cs35l56_init_cs_dsp() 572 cs_dsp->base = CS35L56_DSP1_CORE_BASE; in cs35l56_init_cs_dsp() 573 cs_dsp->base_sysinfo = CS35L56_DSP1_SYS_INFO_ID; in cs35l56_init_cs_dsp() 574 cs_dsp->mem = cs35l56_dsp1_regions; in cs35l56_init_cs_dsp() 575 cs_dsp->num_mems = ARRAY_SIZE(cs35l56_dsp1_regions); in cs35l56_init_cs_dsp() [all …]
|
D | cs35l45.c | 53 if (!cs35l45->dsp.cs_dsp.running) { in cs35l45_set_cspl_mbox_cmd() 124 if (cs35l45->dsp.cs_dsp.booted) in cs35l45_dsp_preload_ev() 129 if (cs35l45->dsp.cs_dsp.running) in cs35l45_dsp_preload_ev() 140 if (cs35l45->dsp.cs_dsp.running) { in cs35l45_dsp_preload_ev() 821 if (!cs35l45->dsp.preloaded || !cs35l45->dsp.cs_dsp.running) in cs35l45_runtime_suspend() 839 if (!cs35l45->dsp.preloaded || !cs35l45->dsp.cs_dsp.running) in cs35l45_runtime_resume() 1186 dsp->cs_dsp.num = 1; in cs35l45_dsp_init() 1187 dsp->cs_dsp.type = WMFW_HALO; in cs35l45_dsp_init() 1188 dsp->cs_dsp.rev = 0; in cs35l45_dsp_init() 1189 dsp->cs_dsp.dev = cs35l45->dev; in cs35l45_dsp_init() [all …]
|
D | wm2200.c | 2203 wm2200->dsp[i].cs_dsp.type = WMFW_ADSP1; in wm2200_i2c_probe() 2205 wm2200->dsp[i].cs_dsp.num = i + 1; in wm2200_i2c_probe() 2206 wm2200->dsp[i].cs_dsp.dev = &i2c->dev; in wm2200_i2c_probe() 2207 wm2200->dsp[i].cs_dsp.regmap = wm2200->regmap; in wm2200_i2c_probe() 2208 wm2200->dsp[i].cs_dsp.sysclk_reg = WM2200_CLOCKING_3; in wm2200_i2c_probe() 2209 wm2200->dsp[i].cs_dsp.sysclk_mask = WM2200_SYSCLK_FREQ_MASK; in wm2200_i2c_probe() 2210 wm2200->dsp[i].cs_dsp.sysclk_shift = WM2200_SYSCLK_FREQ_SHIFT; in wm2200_i2c_probe() 2213 wm2200->dsp[0].cs_dsp.base = WM2200_DSP1_CONTROL_1; in wm2200_i2c_probe() 2214 wm2200->dsp[0].cs_dsp.mem = wm2200_dsp1_regions; in wm2200_i2c_probe() 2215 wm2200->dsp[0].cs_dsp.num_mems = ARRAY_SIZE(wm2200_dsp1_regions); in wm2200_i2c_probe() [all …]
|
D | wm_adsp.h | 28 struct cs_dsp cs_dsp; member
|
D | cs47l15.c | 1411 cs47l15->core.adsp[0].cs_dsp.num = 1; in cs47l15_probe() 1412 cs47l15->core.adsp[0].cs_dsp.type = WMFW_ADSP2; in cs47l15_probe() 1413 cs47l15->core.adsp[0].cs_dsp.rev = 2; in cs47l15_probe() 1414 cs47l15->core.adsp[0].cs_dsp.dev = madera->dev; in cs47l15_probe() 1415 cs47l15->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit; in cs47l15_probe() 1417 cs47l15->core.adsp[0].cs_dsp.base = MADERA_DSP1_CONFIG_1; in cs47l15_probe() 1418 cs47l15->core.adsp[0].cs_dsp.mem = cs47l15_dsp1_regions; in cs47l15_probe() 1419 cs47l15->core.adsp[0].cs_dsp.num_mems = ARRAY_SIZE(cs47l15_dsp1_regions); in cs47l15_probe() 1421 cs47l15->core.adsp[0].cs_dsp.lock_regions = in cs47l15_probe()
|
D | cs35l41.c | 193 if (cs35l41->dsp.cs_dsp.booted) in cs35l41_dsp_preload_ev() 201 if (cs35l41->dsp.cs_dsp.running) { in cs35l41_dsp_preload_ev() 223 if (!cs35l41->dsp.cs_dsp.running) in cs35l41_dsp_audio_ev() 523 1, cs35l41->dsp.cs_dsp.running); in cs35l41_main_amp_event() 527 0, cs35l41->dsp.cs_dsp.running); in cs35l41_main_amp_event() 1105 cs35l41_configure_cs_dsp(cs35l41->dev, cs35l41->regmap, &dsp->cs_dsp); in cs35l41_dsp_init() 1379 if (!cs35l41->dsp.preloaded || !cs35l41->dsp.cs_dsp.running) in cs35l41_runtime_suspend() 1397 if (!cs35l41->dsp.preloaded || !cs35l41->dsp.cs_dsp.running) in cs35l41_runtime_resume()
|
D | cs47l24.c | 1240 cs47l24->core.adsp[i].cs_dsp.num = i + 1; in cs47l24_probe() 1241 cs47l24->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in cs47l24_probe() 1242 cs47l24->core.adsp[i].cs_dsp.dev = arizona->dev; in cs47l24_probe() 1243 cs47l24->core.adsp[i].cs_dsp.regmap = arizona->regmap; in cs47l24_probe() 1245 cs47l24->core.adsp[i].cs_dsp.base = ARIZONA_DSP1_CONTROL_1 + in cs47l24_probe() 1247 cs47l24->core.adsp[i].cs_dsp.mem = cs47l24_dsp_regions[i - 1]; in cs47l24_probe() 1248 cs47l24->core.adsp[i].cs_dsp.num_mems = in cs47l24_probe()
|
D | cs47l35.c | 1692 cs47l35->core.adsp[i].cs_dsp.num = i + 1; in cs47l35_probe() 1693 cs47l35->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in cs47l35_probe() 1694 cs47l35->core.adsp[i].cs_dsp.rev = 1; in cs47l35_probe() 1695 cs47l35->core.adsp[i].cs_dsp.dev = madera->dev; in cs47l35_probe() 1696 cs47l35->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit; in cs47l35_probe() 1698 cs47l35->core.adsp[i].cs_dsp.base = wm_adsp2_control_bases[i]; in cs47l35_probe() 1699 cs47l35->core.adsp[i].cs_dsp.mem = cs47l35_dsp_regions[i]; in cs47l35_probe() 1700 cs47l35->core.adsp[i].cs_dsp.num_mems = in cs47l35_probe()
|
D | cs47l92.c | 2014 cs47l92->core.adsp[0].cs_dsp.num = 1; in cs47l92_probe() 2015 cs47l92->core.adsp[0].cs_dsp.type = WMFW_ADSP2; in cs47l92_probe() 2016 cs47l92->core.adsp[0].cs_dsp.rev = 2; in cs47l92_probe() 2017 cs47l92->core.adsp[0].cs_dsp.dev = madera->dev; in cs47l92_probe() 2018 cs47l92->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit; in cs47l92_probe() 2020 cs47l92->core.adsp[0].cs_dsp.base = MADERA_DSP1_CONFIG_1; in cs47l92_probe() 2021 cs47l92->core.adsp[0].cs_dsp.mem = cs47l92_dsp1_regions; in cs47l92_probe() 2022 cs47l92->core.adsp[0].cs_dsp.num_mems = ARRAY_SIZE(cs47l92_dsp1_regions); in cs47l92_probe() 2024 cs47l92->core.adsp[0].cs_dsp.lock_regions = CS_ADSP2_REGION_1_9; in cs47l92_probe()
|
D | wm5102.c | 2065 wm5102->core.adsp[0].cs_dsp.num = 1; in wm5102_probe() 2066 wm5102->core.adsp[0].cs_dsp.type = WMFW_ADSP2; in wm5102_probe() 2067 wm5102->core.adsp[0].cs_dsp.base = ARIZONA_DSP1_CONTROL_1; in wm5102_probe() 2068 wm5102->core.adsp[0].cs_dsp.dev = arizona->dev; in wm5102_probe() 2069 wm5102->core.adsp[0].cs_dsp.regmap = arizona->regmap; in wm5102_probe() 2070 wm5102->core.adsp[0].cs_dsp.mem = wm5102_dsp1_regions; in wm5102_probe() 2071 wm5102->core.adsp[0].cs_dsp.num_mems = ARRAY_SIZE(wm5102_dsp1_regions); in wm5102_probe()
|
D | cs47l90.c | 2549 cs47l90->core.adsp[i].cs_dsp.num = i + 1; in cs47l90_probe() 2550 cs47l90->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in cs47l90_probe() 2551 cs47l90->core.adsp[i].cs_dsp.rev = 2; in cs47l90_probe() 2552 cs47l90->core.adsp[i].cs_dsp.dev = madera->dev; in cs47l90_probe() 2553 cs47l90->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit; in cs47l90_probe() 2555 cs47l90->core.adsp[i].cs_dsp.base = cs47l90_dsp_control_bases[i]; in cs47l90_probe() 2556 cs47l90->core.adsp[i].cs_dsp.mem = cs47l90_dsp_regions[i]; in cs47l90_probe() 2557 cs47l90->core.adsp[i].cs_dsp.num_mems = in cs47l90_probe() 2560 cs47l90->core.adsp[i].cs_dsp.lock_regions = CS_ADSP2_REGION_1_9; in cs47l90_probe()
|
D | cs47l85.c | 2638 cs47l85->core.adsp[i].cs_dsp.num = i + 1; in cs47l85_probe() 2639 cs47l85->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in cs47l85_probe() 2640 cs47l85->core.adsp[i].cs_dsp.rev = 1; in cs47l85_probe() 2641 cs47l85->core.adsp[i].cs_dsp.dev = madera->dev; in cs47l85_probe() 2642 cs47l85->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit; in cs47l85_probe() 2644 cs47l85->core.adsp[i].cs_dsp.base = wm_adsp2_control_bases[i]; in cs47l85_probe() 2645 cs47l85->core.adsp[i].cs_dsp.mem = cs47l85_dsp_regions[i]; in cs47l85_probe() 2646 cs47l85->core.adsp[i].cs_dsp.num_mems = in cs47l85_probe()
|
D | wm5110.c | 2419 wm5110->core.adsp[i].cs_dsp.num = i + 1; in wm5110_probe() 2420 wm5110->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in wm5110_probe() 2421 wm5110->core.adsp[i].cs_dsp.dev = arizona->dev; in wm5110_probe() 2422 wm5110->core.adsp[i].cs_dsp.regmap = arizona->regmap; in wm5110_probe() 2424 wm5110->core.adsp[i].cs_dsp.base = ARIZONA_DSP1_CONTROL_1 in wm5110_probe() 2426 wm5110->core.adsp[i].cs_dsp.mem = wm5110_dsp_regions[i]; in wm5110_probe() 2427 wm5110->core.adsp[i].cs_dsp.num_mems in wm5110_probe()
|
D | madera.c | 914 if (!madera_can_change_grp_rate(priv, priv->adsp[adsp_num].cs_dsp.base)) { in madera_adsp_rate_put() 973 val = priv->adsp_rate_cache[dsp->cs_dsp.num - 1] << MADERA_DSP_RATE_SHIFT; in madera_write_adsp_clk_setting() 987 ret = regmap_write(dsp->cs_dsp.regmap, in madera_write_adsp_clk_setting() 988 dsp->cs_dsp.base + MADERA_DSP_CONFIG_2_OFFS, freq); in madera_write_adsp_clk_setting() 994 ret = regmap_update_bits(dsp->cs_dsp.regmap, in madera_write_adsp_clk_setting() 995 dsp->cs_dsp.base + MADERA_DSP_CONFIG_1_OFFS, in madera_write_adsp_clk_setting() 1005 dev_err(dsp->cs_dsp.dev, "Failed to set DSP%d clock: %d\n", dsp->cs_dsp.num, ret); in madera_write_adsp_clk_setting() 1027 ret = regmap_read(dsp->cs_dsp.regmap, dsp->cs_dsp.base, &cur); in madera_set_adsp_clk() 1036 new = priv->adsp_rate_cache[dsp->cs_dsp.num - 1] << MADERA_DSP_RATE_SHIFT; in madera_set_adsp_clk()
|
/linux-6.6.21/drivers/firmware/cirrus/ |
D | cs_dsp.c | 279 bool (*validate_version)(struct cs_dsp *dsp, unsigned int version); 280 unsigned int (*parse_sizes)(struct cs_dsp *dsp, 284 int (*setup_algs)(struct cs_dsp *dsp); 288 void (*show_fw_status)(struct cs_dsp *dsp); 289 void (*stop_watchdog)(struct cs_dsp *dsp); 291 int (*enable_memory)(struct cs_dsp *dsp); 292 void (*disable_memory)(struct cs_dsp *dsp); 293 int (*lock_memory)(struct cs_dsp *dsp, unsigned int lock_regions); 295 int (*enable_core)(struct cs_dsp *dsp); 296 void (*disable_core)(struct cs_dsp *dsp); [all …]
|
D | Makefile | 3 obj-$(CONFIG_FW_CS_DSP) += cs_dsp.o
|
/linux-6.6.21/sound/pci/hda/ |
D | hda_cs_dsp_ctl.h | 32 void hda_cs_dsp_add_controls(struct cs_dsp *dsp, const struct hda_cs_dsp_ctl_info *info); 34 int hda_cs_dsp_write_ctl(struct cs_dsp *dsp, const char *name, int type, 36 int hda_cs_dsp_read_ctl(struct cs_dsp *dsp, const char *name, int type,
|
D | hda_cs_dsp_ctl.c | 139 struct cs_dsp *cs_dsp = cs_ctl->dsp; in hda_cs_dsp_control_add() local 147 dev_warn(cs_dsp->dev, "Unknown region type: %d\n", cs_ctl->alg_region.type); in hda_cs_dsp_control_add() 152 cs_dsp->name, hda_cs_dsp_fw_text[info->fw_type], cs_ctl->alg_region.alg); in hda_cs_dsp_control_add() 177 void hda_cs_dsp_add_controls(struct cs_dsp *dsp, const struct hda_cs_dsp_ctl_info *info) in hda_cs_dsp_add_controls() 210 int hda_cs_dsp_write_ctl(struct cs_dsp *dsp, const char *name, int type, in hda_cs_dsp_write_ctl() 235 int hda_cs_dsp_read_ctl(struct cs_dsp *dsp, const char *name, int type, in hda_cs_dsp_read_ctl()
|
D | cs35l56_hda.c | 112 if (cs35l56->cs_dsp.booted) in cs35l56_hda_runtime_suspend() 113 cs_dsp_stop(&cs35l56->cs_dsp); in cs35l56_hda_runtime_suspend() 127 if (cs35l56->cs_dsp.booted) { in cs35l56_hda_runtime_resume() 128 ret = cs_dsp_run(&cs35l56->cs_dsp); in cs35l56_hda_runtime_resume() 519 hda_cs_dsp_add_controls(&cs35l56->cs_dsp, &info); in cs35l56_hda_add_dsp_controls() 533 cs_dsp_power_down(&cs35l56->cs_dsp); in cs35l56_hda_fw_load() 582 ret = cs_dsp_power_up(&cs35l56->cs_dsp, wmfw_firmware, wmfw_filename, in cs35l56_hda_fw_load() 619 ret = cs_dsp_run(&cs35l56->cs_dsp); in cs35l56_hda_fw_load() 625 cs_dsp_power_down(&cs35l56->cs_dsp); in cs35l56_hda_fw_load() 664 cs_dsp_init_debugfs(&cs35l56->cs_dsp, cs35l56->debugfs_root); in cs35l56_hda_bind() [all …]
|
D | cs35l56_hda.h | 29 struct cs_dsp cs_dsp; member
|
D | cs35l41_hda.h | 72 struct cs_dsp cs_dsp; member
|
D | cs35l41_hda.c | 109 hda_cs_dsp_add_controls(&cs35l41->cs_dsp, &info); in cs35l41_add_controls() 121 const char * const dsp_name = cs35l41->cs_dsp.name; in cs35l41_request_firmware_file() 366 ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_AMBIENT_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, in cs35l41_apply_calibration() 373 ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_R_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, in cs35l41_apply_calibration() 379 ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_STATUS_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, in cs35l41_apply_calibration() 386 ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_CHECKSUM_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, in cs35l41_apply_calibration() 454 struct cs_dsp *dsp = &cs35l41->cs_dsp; in cs35l41_init_dsp() 463 ret = cs_dsp_halo_init(&cs35l41->cs_dsp); in cs35l41_init_dsp() 500 struct cs_dsp *dsp = &cs35l41->cs_dsp; in cs35l41_shutdown_dsp() 510 struct cs_dsp *dsp = &cs35l41->cs_dsp; in cs35l41_remove_dsp() [all …]
|
/linux-6.6.21/include/sound/ |
D | cs35l56.h | 287 void cs35l56_init_cs_dsp(struct cs35l56_base *cs35l56_base, struct cs_dsp *cs_dsp);
|