| /linux/include/linux/firmware/cirrus/ |
| H A D | cs_dsp.h | 98 struct cs_dsp *dsp; 150 struct cs_dsp { struct 212 int (*pre_run)(struct cs_dsp *dsp); 213 int (*post_run)(struct cs_dsp *dsp); 214 void (*pre_stop)(struct cs_dsp *dsp); 215 void (*post_stop)(struct cs_dsp *dsp); 216 void (*watchdog_expired)(struct cs_dsp *dsp); 219 int cs_dsp_adsp1_init(struct cs_dsp *dsp); 220 int cs_dsp_adsp2_init(struct cs_dsp *dsp); 221 int cs_dsp_halo_init(struct cs_dsp *dsp); [all …]
|
| H A D | cs_dsp_test_utils.h | 3 * Support utilities for cs_dsp testing. 20 * @dsp: Pointer to struct cs_dsp instance. 25 struct cs_dsp *dsp; 95 unsigned int cs_dsp_mock_size_of_region(const struct cs_dsp *dsp, int mem_type);
|
| /linux/sound/soc/codecs/ |
| H A D | wm_adsp.c | 37 dev_crit(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 39 dev_err(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 41 dev_warn(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 43 dev_info(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 45 dev_dbg(_dsp->cs_dsp.dev, "%s: " fmt, _dsp->cs_dsp.name, ##__VA_ARGS__) 346 mutex_lock(&dsp[e->shift_l].cs_dsp.pwr_lock); in wm_adsp_fw_put() 348 if (dsp[e->shift_l].cs_dsp.booted || !list_empty(&dsp[e->shift_l].compr_list)) in wm_adsp_fw_put() 353 mutex_unlock(&dsp[e->shift_l].cs_dsp.pwr_lock); in wm_adsp_fw_put() 542 cs_dsp); in wm_adsp_ctl_work() 580 struct wm_adsp *dsp = container_of(cs_ctl->dsp, struct wm_adsp, cs_dsp); in wm_adsp_control_add() [all …]
|
| H A D | cs35l56-shared.c | 871 void cs35l56_init_cs_dsp(struct cs35l56_base *cs35l56_base, struct cs_dsp *cs_dsp) in cs35l56_init_cs_dsp() argument 873 cs_dsp->num = 1; in cs35l56_init_cs_dsp() 874 cs_dsp->type = WMFW_HALO; in cs35l56_init_cs_dsp() 875 cs_dsp->rev = 0; in cs35l56_init_cs_dsp() 876 cs_dsp->dev = cs35l56_base->dev; in cs35l56_init_cs_dsp() 877 cs_dsp->regmap = cs35l56_base->regmap; in cs35l56_init_cs_dsp() 878 cs_dsp->base = CS35L56_DSP1_CORE_BASE; in cs35l56_init_cs_dsp() 879 cs_dsp->base_sysinfo = CS35L56_DSP1_SYS_INFO_ID; in cs35l56_init_cs_dsp() 880 cs_dsp->mem = cs35l56_dsp1_regions; in cs35l56_init_cs_dsp() 881 cs_dsp->num_mems = ARRAY_SIZE(cs35l56_dsp1_regions); in cs35l56_init_cs_dsp() [all …]
|
| H A 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() 984 if (!cs35l45->dsp.preloaded || !cs35l45->dsp.cs_dsp.running) in cs35l45_runtime_suspend() 1002 if (!cs35l45->dsp.preloaded || !cs35l45->dsp.cs_dsp.running) in cs35l45_runtime_resume() 1354 dsp->cs_dsp.num = 1; in cs35l45_dsp_init() 1355 dsp->cs_dsp.type = WMFW_HALO; in cs35l45_dsp_init() 1356 dsp->cs_dsp.rev = 0; in cs35l45_dsp_init() 1357 dsp->cs_dsp.dev = cs35l45->dev; in cs35l45_dsp_init() [all …]
|
| H A D | cs-amp-lib.c | 13 #include <linux/firmware/cirrus/cs_dsp.h> 75 static int cs_amp_write_cal_coeff(struct cs_dsp *dsp, in cs_amp_write_cal_coeff() 102 static int cs_amp_read_cal_coeff(struct cs_dsp *dsp, in cs_amp_read_cal_coeff() 130 static int _cs_amp_write_cal_coeffs(struct cs_dsp *dsp, in _cs_amp_write_cal_coeffs() 163 static int _cs_amp_read_cal_coeffs(struct cs_dsp *dsp, in _cs_amp_read_cal_coeffs() 204 * @dsp: Pointer to struct cs_dsp. 210 int cs_amp_write_cal_coeffs(struct cs_dsp *dsp, in cs_amp_write_cal_coeffs() 223 * @dsp: Pointer to struct cs_dsp. 229 int cs_amp_read_cal_coeffs(struct cs_dsp *dsp, in cs_amp_read_cal_coeffs() 242 * @dsp: Pointer to struct cs_dsp [all...] |
| H A D | wm2200.c | 2206 wm2200->dsp[i].cs_dsp.type = WMFW_ADSP1; in wm2200_i2c_probe() 2208 wm2200->dsp[i].cs_dsp.num = i + 1; in wm2200_i2c_probe() 2209 wm2200->dsp[i].cs_dsp.dev = &i2c->dev; in wm2200_i2c_probe() 2210 wm2200->dsp[i].cs_dsp.regmap = wm2200->regmap; in wm2200_i2c_probe() 2211 wm2200->dsp[i].cs_dsp.sysclk_reg = WM2200_CLOCKING_3; in wm2200_i2c_probe() 2212 wm2200->dsp[i].cs_dsp.sysclk_mask = WM2200_SYSCLK_FREQ_MASK; in wm2200_i2c_probe() 2213 wm2200->dsp[i].cs_dsp.sysclk_shift = WM2200_SYSCLK_FREQ_SHIFT; in wm2200_i2c_probe() 2216 wm2200->dsp[0].cs_dsp.base = WM2200_DSP1_CONTROL_1; in wm2200_i2c_probe() 2217 wm2200->dsp[0].cs_dsp.mem = wm2200_dsp1_regions; in wm2200_i2c_probe() 2218 wm2200->dsp[0].cs_dsp.num_mems = ARRAY_SIZE(wm2200_dsp1_regions); in wm2200_i2c_probe() [all …]
|
| H A D | cs47l15.c | 1410 cs47l15->core.adsp[0].cs_dsp.num = 1; in cs47l15_probe() 1411 cs47l15->core.adsp[0].cs_dsp.type = WMFW_ADSP2; in cs47l15_probe() 1412 cs47l15->core.adsp[0].cs_dsp.rev = 2; in cs47l15_probe() 1413 cs47l15->core.adsp[0].cs_dsp.dev = madera->dev; in cs47l15_probe() 1414 cs47l15->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit; in cs47l15_probe() 1416 cs47l15->core.adsp[0].cs_dsp.base = MADERA_DSP1_CONFIG_1; in cs47l15_probe() 1417 cs47l15->core.adsp[0].cs_dsp.mem = cs47l15_dsp1_regions; in cs47l15_probe() 1418 cs47l15->core.adsp[0].cs_dsp.num_mems = ARRAY_SIZE(cs47l15_dsp1_regions); in cs47l15_probe() 1420 cs47l15->core.adsp[0].cs_dsp.lock_regions = in cs47l15_probe()
|
| H A D | wm_adsp.h | 28 struct cs_dsp cs_dsp; member
|
| H A 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() 522 1, &cs35l41->dsp.cs_dsp); in cs35l41_main_amp_event() 526 0, &cs35l41->dsp.cs_dsp); in cs35l41_main_amp_event() 1093 cs35l41_configure_cs_dsp(cs35l41->dev, cs35l41->regmap, &dsp->cs_dsp); in cs35l41_dsp_init() 1404 if (!cs35l41->dsp.preloaded || !cs35l41->dsp.cs_dsp.running) in cs35l41_runtime_suspend() 1422 if (!cs35l41->dsp.preloaded || !cs35l41->dsp.cs_dsp.running) in cs35l41_runtime_resume()
|
| H A 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()
|
| H A D | cs47l35.c | 1693 cs47l35->core.adsp[i].cs_dsp.num = i + 1; in cs47l35_probe() 1694 cs47l35->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in cs47l35_probe() 1695 cs47l35->core.adsp[i].cs_dsp.rev = 1; in cs47l35_probe() 1696 cs47l35->core.adsp[i].cs_dsp.dev = madera->dev; in cs47l35_probe() 1697 cs47l35->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit; in cs47l35_probe() 1699 cs47l35->core.adsp[i].cs_dsp.base = wm_adsp2_control_bases[i]; in cs47l35_probe() 1700 cs47l35->core.adsp[i].cs_dsp.mem = cs47l35_dsp_regions[i]; in cs47l35_probe() 1701 cs47l35->core.adsp[i].cs_dsp.num_mems = in cs47l35_probe()
|
| /linux/drivers/firmware/cirrus/ |
| H A D | cs_dsp.c | 325 bool (*validate_version)(struct cs_dsp *dsp, unsigned int version); 326 unsigned int (*parse_sizes)(struct cs_dsp *dsp, 330 int (*setup_algs)(struct cs_dsp *dsp); 334 void (*show_fw_status)(struct cs_dsp *dsp); 335 void (*stop_watchdog)(struct cs_dsp *dsp); 337 int (*enable_memory)(struct cs_dsp *dsp); 338 void (*disable_memory)(struct cs_dsp *dsp); 339 int (*lock_memory)(struct cs_dsp *dsp, unsigned int lock_regions); 341 int (*enable_core)(struct cs_dsp *dsp); 342 void (*disable_core)(struct cs_dsp *dsp); [all …]
|
| H A D | Kconfig | 11 tristate "KUnit tests for Cirrus Logic cs_dsp" if !KUNIT_ALL_TESTS 16 This builds KUnit tests for cs_dsp.
|
| H A D | Makefile | 3 obj-$(CONFIG_FW_CS_DSP) += cs_dsp.o
|
| /linux/include/sound/ |
| H A D | cs-amp-lib.h | 13 struct cs_dsp; 47 int cs_amp_write_cal_coeffs(struct cs_dsp *dsp, 50 int cs_amp_read_cal_coeffs(struct cs_dsp *dsp, 53 int cs_amp_write_ambient_temp(struct cs_dsp *dsp, 83 int (*write_cal_coeff)(struct cs_dsp *dsp, 87 int (*read_cal_coeff)(struct cs_dsp *dsp,
|
| H A D | cs35l56.h | 350 struct cs_dsp *dsp; 422 void cs35l56_init_cs_dsp(struct cs35l56_base *cs35l56_base, struct cs_dsp *cs_dsp); 446 void cs35l56_log_tuning(struct cs35l56_base *cs35l56_base, struct cs_dsp *cs_dsp);
|
| /linux/sound/hda/codecs/side-codecs/ |
| H A D | cs35l56_hda.c | 129 if (cs35l56->cs_dsp.booted) in cs35l56_hda_runtime_suspend() 130 cs_dsp_stop(&cs35l56->cs_dsp); in cs35l56_hda_runtime_suspend() 144 if (cs35l56->cs_dsp.booted) { in cs35l56_hda_runtime_resume() 145 ret = cs_dsp_run(&cs35l56->cs_dsp); in cs35l56_hda_runtime_resume() 554 ret = cs_amp_write_cal_coeffs(&cs35l56->cs_dsp, in cs35l56_hda_apply_calibration() 583 cs_dsp_power_down(&cs35l56->cs_dsp); in cs35l56_hda_fw_load() 633 ret = cs_dsp_power_up(&cs35l56->cs_dsp, wmfw_firmware, wmfw_filename, in cs35l56_hda_fw_load() 669 ret = cs_dsp_run(&cs35l56->cs_dsp); in cs35l56_hda_fw_load() 678 cs_dsp_stop(&cs35l56->cs_dsp); in cs35l56_hda_fw_load() 680 cs35l56_log_tuning(&cs35l56->base, &cs35l56->cs_dsp); in cs35l56_hda_fw_load() [all...] |
| H A D | cs35l41_hda.c | 140 /* cs_dsp requires the client to provide this even if it is empty */ 169 const char * const dsp_name = cs35l41->cs_dsp.name; in cs35l41_request_firmware_file() 408 ret = cs_amp_write_cal_coeffs(&cs35l41->cs_dsp, &cs35l41_calibration_controls, in cs35l41_hda_apply_calibration() 561 struct cs_dsp *dsp = &cs35l41->cs_dsp; in cs35l41_init_dsp() 570 ret = cs_dsp_halo_init(&cs35l41->cs_dsp); in cs35l41_init_dsp() 613 struct cs_dsp *dsp = &cs35l41->cs_dsp; in cs35l41_shutdown_dsp() 623 struct cs_dsp *dsp = &cs35l41->cs_dsp; in cs35l41_remove_dsp() [all...] |
| H A D | cs35l56_hda.h | 32 struct cs_dsp cs_dsp; member
|
| H A D | cs35l41_hda.h | 85 struct cs_dsp cs_dsp; member
|
| /linux/drivers/firmware/cirrus/test/ |
| H A D | cs_dsp_test_callbacks.c | 26 KUNIT_DEFINE_ACTION_WRAPPER(_cs_dsp_remove_wrapper, cs_dsp_remove, struct cs_dsp *) 40 struct cs_dsp *passed_dsp; 88 static int cs_dsp_test_pre_run_callback(struct cs_dsp *dsp) in cs_dsp_test_pre_run_callback() 100 static int cs_dsp_test_post_run_callback(struct cs_dsp *dsp) in cs_dsp_test_post_run_callback() 112 static void cs_dsp_test_pre_stop_callback(struct cs_dsp *dsp) in cs_dsp_test_pre_stop_callback() 122 static void cs_dsp_test_post_stop_callback(struct cs_dsp *dsp) in cs_dsp_test_post_stop_callback() 132 static void cs_dsp_test_watchdog_expired_callback(struct cs_dsp *dsp) in cs_dsp_test_watchdog_expired_callback() 434 static int cs_dsp_callbacks_test_common_init(struct kunit *test, struct cs_dsp *dsp, in cs_dsp_callbacks_test_common_init() 521 struct cs_dsp *dsp; in cs_dsp_callbacks_test_halo_init() 540 struct cs_dsp *dsp; in cs_dsp_callbacks_test_adsp2_32bit_init() [all …]
|
| H A D | cs_dsp_test_control_rw.c | 20 KUNIT_DEFINE_ACTION_WRAPPER(_cs_dsp_stop_wrapper, cs_dsp_stop, struct cs_dsp *); 21 KUNIT_DEFINE_ACTION_WRAPPER(_cs_dsp_remove_wrapper, cs_dsp_remove, struct cs_dsp *); 145 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_running() 216 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_running() 287 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_not_started() 337 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_stopped() 391 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_stopped_powered_down() 447 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_not_current_loaded_fw() 505 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_not_current_running_fw() 566 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_volatile_not_started() [all …]
|
| H A D | cs_dsp_test_control_cache.c | 20 KUNIT_DEFINE_ACTION_WRAPPER(_cs_dsp_stop_wrapper, cs_dsp_stop, struct cs_dsp *); 21 KUNIT_DEFINE_ACTION_WRAPPER(_cs_dsp_remove_wrapper, cs_dsp_remove, struct cs_dsp *); 149 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_v2_cache_alloc() 203 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init() 262 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_write_only() 314 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_fw_same_controls() 423 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls() 531 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_mems() 652 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_algs() 753 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_offsets() [all …]
|
| H A D | cs_dsp_test_bin_error.c | 24 KUNIT_DEFINE_ACTION_WRAPPER(_cs_dsp_remove_wrapper, cs_dsp_remove, struct cs_dsp *); 390 static int cs_dsp_bin_err_test_common_init(struct kunit *test, struct cs_dsp *dsp, in cs_dsp_bin_err_test_common_init() 494 struct cs_dsp *dsp; in cs_dsp_bin_err_test_halo_init() 513 struct cs_dsp *dsp; in cs_dsp_bin_err_test_adsp2_32bit_init() 532 struct cs_dsp *dsp; in cs_dsp_bin_err_test_adsp2_16bit_init()
|