Lines Matching refs:dsp

149 	struct cs_dsp *dsp = priv->dsp;  in cs_dsp_ctl_v2_cache_alloc()  local
166 regmap_raw_write(dsp->regmap, reg, reg_vals, alg_size_bytes); in cs_dsp_ctl_v2_cache_alloc()
185 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_v2_cache_alloc()
187 KUNIT_EXPECT_EQ(test, list_count_nodes(&dsp->ctl_list), num_ctls); in cs_dsp_ctl_v2_cache_alloc()
190 list_for_each_entry(ctl, &dsp->ctl_list, list) in cs_dsp_ctl_v2_cache_alloc()
203 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init() local
223 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_init()
238 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_init()
240 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_init()
262 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_write_only() local
288 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_init_write_only()
290 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); 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() local
358 regmap_raw_write(dsp->regmap, reg, reg_vals[i], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_fw_same_controls()
361 cs_dsp_power_up(dsp, wmfw, in cs_dsp_ctl_cache_init_multiple_fw_same_controls()
366 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_init_multiple_fw_same_controls()
367 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_init_multiple_fw_same_controls()
368 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_init_multiple_fw_same_controls()
372 KUNIT_ASSERT_EQ(test, list_count_nodes(&dsp->ctl_list), 3); in cs_dsp_ctl_cache_init_multiple_fw_same_controls()
381 list_for_each_entry(walkctl, &dsp->ctl_list, list) { 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() local
467 regmap_raw_write(dsp->regmap, reg, reg_vals[i], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls()
470 cs_dsp_power_up(dsp, wmfw, in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls()
475 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls()
476 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls()
477 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls()
481 KUNIT_ASSERT_EQ(test, list_count_nodes(&dsp->ctl_list), 3); in cs_dsp_ctl_cache_init_multiple_fwalgid_same_controls()
490 list_for_each_entry(walkctl, &dsp->ctl_list, list) { 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() local
574 regmap_raw_write(dsp->regmap, reg, reg_vals[0], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_mems()
580 regmap_raw_write(dsp->regmap, reg, reg_vals[1], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_mems()
587 regmap_raw_write(dsp->regmap, reg, reg_vals[2], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_mems()
592 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_init_multiple_mems()
593 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_init_multiple_mems()
594 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_init_multiple_mems()
595 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_init_multiple_mems()
598 KUNIT_ASSERT_EQ(test, list_count_nodes(&dsp->ctl_list), in cs_dsp_ctl_cache_init_multiple_mems()
608 list_for_each_entry(walkctl, &dsp->ctl_list, list) { in cs_dsp_ctl_cache_init_multiple_mems()
652 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_algs() local
688 regmap_raw_write(dsp->regmap, reg, reg_vals[i], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_algs()
693 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_init_multiple_algs()
694 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_init_multiple_algs()
695 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_init_multiple_algs()
696 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_init_multiple_algs()
699 KUNIT_ASSERT_EQ(test, list_count_nodes(&dsp->ctl_list), 3); in cs_dsp_ctl_cache_init_multiple_algs()
708 list_for_each_entry(walkctl, &dsp->ctl_list, list) { in cs_dsp_ctl_cache_init_multiple_algs()
753 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_init_multiple_offsets() local
799 regmap_raw_write(dsp->regmap, reg, reg_vals[0], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_offsets()
801 regmap_raw_write(dsp->regmap, reg, reg_vals[1], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_offsets()
803 regmap_raw_write(dsp->regmap, reg, reg_vals[2], def.length_bytes); in cs_dsp_ctl_cache_init_multiple_offsets()
807 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_init_multiple_offsets()
808 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_init_multiple_offsets()
809 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_init_multiple_offsets()
810 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_init_multiple_offsets()
813 KUNIT_ASSERT_EQ(test, list_count_nodes(&dsp->ctl_list), 3); in cs_dsp_ctl_cache_init_multiple_offsets()
822 list_for_each_entry(walkctl, &dsp->ctl_list, list) { in cs_dsp_ctl_cache_init_multiple_offsets()
865 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_not_started() local
885 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_not_started()
901 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_not_started()
909 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_not_started()
926 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_stopped() local
946 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_stopped()
962 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_stopped()
965 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_read_stopped()
966 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_read_stopped()
974 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_stopped()
992 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_powered_down() local
1012 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_powered_down()
1028 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_powered_down()
1029 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_read_powered_down()
1037 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_powered_down()
1055 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_stopped_powered_down() local
1075 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_stopped_powered_down()
1091 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_stopped_powered_down()
1094 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_read_stopped_powered_down()
1095 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_read_stopped_powered_down()
1096 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_read_stopped_powered_down()
1104 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_stopped_powered_down()
1122 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_not_current_loaded_fw() local
1143 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_not_current_loaded_fw()
1159 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_not_current_loaded_fw()
1162 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_read_not_current_loaded_fw()
1164 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_cache_read_not_current_loaded_fw()
1172 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_not_current_loaded_fw()
1190 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_not_current_running_fw() local
1211 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_not_current_running_fw()
1227 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_not_current_running_fw()
1228 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_read_not_current_running_fw()
1232 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_cache_read_not_current_running_fw()
1233 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_read_not_current_running_fw()
1234 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_read_not_current_running_fw()
1242 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_not_current_running_fw()
1260 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_running() local
1283 regmap_raw_write(dsp->regmap, reg, init_reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_running()
1299 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_running()
1302 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_read_running()
1303 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_read_running()
1312 regmap_raw_write(dsp->regmap, reg, new_reg_vals, param->len_bytes), in cs_dsp_ctl_cache_read_running()
1317 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_running()
1325 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_cache_read_running()
1326 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_read_running()
1346 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_read_running_zero_flags() local
1368 regmap_raw_write(dsp->regmap, reg, init_reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_running_zero_flags()
1384 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_read_running_zero_flags()
1387 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_read_running_zero_flags()
1388 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_read_running_zero_flags()
1392 regmap_raw_write(dsp->regmap, reg, new_reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_running_zero_flags()
1395 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_read_running_zero_flags()
1403 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_cache_read_running_zero_flags()
1404 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_read_running_zero_flags()
1407 regmap_raw_write(dsp->regmap, reg, init_reg_vals, param->len_bytes); in cs_dsp_ctl_cache_read_running_zero_flags()
1426 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_writethrough() local
1446 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_writethrough()
1461 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_writethrough()
1463 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_writethrough()
1467 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_writethrough()
1468 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_writethrough()
1475 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_writethrough()
1489 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_writethrough_unchanged() local
1509 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_writethrough_unchanged()
1524 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_writethrough_unchanged()
1526 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_writethrough_unchanged()
1530 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_writethrough_unchanged()
1531 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_writethrough_unchanged()
1551 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_writethrough_unchanged()
1565 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_unchanged_not_started() local
1585 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_unchanged_not_started()
1600 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_unchanged_not_started()
1602 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_unchanged_not_started()
1623 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_write_unchanged_not_started()
1637 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_not_started() local
1656 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_not_started()
1672 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_not_started()
1680 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_not_started()
1708 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_stopped() local
1727 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_stopped()
1743 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_stopped()
1746 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_write_stopped()
1747 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_write_stopped()
1755 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_stopped()
1783 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_powered_down() local
1802 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_powered_down()
1818 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_powered_down()
1819 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_write_powered_down()
1827 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_powered_down()
1855 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_stopped_powered_down() local
1874 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_stopped_powered_down()
1890 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_stopped_powered_down()
1893 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_write_stopped_powered_down()
1894 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_write_stopped_powered_down()
1895 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_write_stopped_powered_down()
1903 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_stopped_powered_down()
1930 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_not_current_loaded_fw() local
1950 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_not_current_loaded_fw()
1966 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_not_current_loaded_fw()
1969 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_not_current_loaded_fw()
1973 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_write_not_current_loaded_fw()
1975 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_cache_write_not_current_loaded_fw()
2014 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_write_not_current_running_fw() local
2034 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_write_not_current_running_fw()
2050 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_write_not_current_running_fw()
2051 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_write_not_current_running_fw()
2054 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_write_not_current_running_fw()
2059 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_cache_write_not_current_running_fw()
2060 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_write_not_current_running_fw()
2061 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_write_not_current_running_fw()
2101 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_write_before_run() local
2120 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_write_before_run()
2136 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_write_before_run()
2139 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_write_before_run()
2147 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_before_run()
2151 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_write_before_run()
2152 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_write_before_run()
2154 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_before_run()
2174 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_write_while_running() local
2196 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_write_while_running()
2212 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2213 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2214 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2217 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_write_while_running()
2226 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_cache_sync_write_while_running()
2227 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_write_while_running()
2228 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2232 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2233 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2235 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_while_running()
2255 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_write_after_stop() local
2274 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_write_after_stop()
2290 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_write_after_stop()
2293 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_write_after_stop()
2294 cs_dsp_stop(dsp); in cs_dsp_ctl_cache_sync_write_after_stop()
2297 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_write_after_stop()
2305 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_after_stop()
2309 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_write_after_stop()
2310 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_write_after_stop()
2312 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_after_stop()
2333 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_write_not_current_fw() local
2353 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2369 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2372 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2376 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2378 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2386 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2390 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2392 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2395 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2396 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2398 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_write_not_current_fw()
2418 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_reapply_every_run() local
2440 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_every_run()
2456 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2459 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_reapply_every_run()
2468 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2469 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2470 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2474 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_cache_sync_reapply_every_run()
2475 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_every_run()
2478 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2479 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2480 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_reapply_every_run()
2501 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_reapply_after_fw_reload() local
2523 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2539 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2542 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2551 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2552 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2553 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2557 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2558 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2561 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2564 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2567 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2568 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2569 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_reload()
2591 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_cache_sync_reapply_after_fw_swap() local
2614 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2630 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2633 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2642 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2643 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2644 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2648 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2649 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2652 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2656 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2657 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2658 cs_dsp_power_down(dsp); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2661 regmap_raw_write(dsp->regmap, reg, init_vals, param->len_bytes); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2665 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2669 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2670 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2671 KUNIT_EXPECT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_cache_sync_reapply_after_fw_swap()
2681 static int cs_dsp_ctl_cache_test_common_init(struct kunit *test, struct cs_dsp *dsp, in cs_dsp_ctl_cache_test_common_init() argument
2698 priv->dsp = dsp; in cs_dsp_ctl_cache_test_common_init()
2708 dsp->dev = get_device(test_dev); in cs_dsp_ctl_cache_test_common_init()
2709 if (!dsp->dev) in cs_dsp_ctl_cache_test_common_init()
2712 ret = kunit_add_action_or_reset(test, _put_device_wrapper, dsp->dev); in cs_dsp_ctl_cache_test_common_init()
2716 dev_set_drvdata(dsp->dev, priv); in cs_dsp_ctl_cache_test_common_init()
2736 dsp->client_ops = kunit_kzalloc(test, sizeof(*dsp->client_ops), GFP_KERNEL); in cs_dsp_ctl_cache_test_common_init()
2737 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dsp->client_ops); in cs_dsp_ctl_cache_test_common_init()
2739 switch (dsp->type) { in cs_dsp_ctl_cache_test_common_init()
2741 ret = cs_dsp_adsp2_init(dsp); in cs_dsp_ctl_cache_test_common_init()
2744 ret = cs_dsp_halo_init(dsp); in cs_dsp_ctl_cache_test_common_init()
2747 KUNIT_FAIL(test, "Untested DSP type %d\n", dsp->type); in cs_dsp_ctl_cache_test_common_init()
2755 return kunit_add_action_or_reset(priv->test, _cs_dsp_remove_wrapper, dsp); in cs_dsp_ctl_cache_test_common_init()
2760 struct cs_dsp *dsp; in cs_dsp_ctl_cache_test_halo_init() local
2763 dsp = kunit_kzalloc(test, sizeof(*dsp), GFP_KERNEL); in cs_dsp_ctl_cache_test_halo_init()
2764 if (!dsp) in cs_dsp_ctl_cache_test_halo_init()
2767 dsp->num = 1; in cs_dsp_ctl_cache_test_halo_init()
2768 dsp->type = WMFW_HALO; in cs_dsp_ctl_cache_test_halo_init()
2769 dsp->mem = cs_dsp_mock_halo_dsp1_regions; in cs_dsp_ctl_cache_test_halo_init()
2770 dsp->num_mems = cs_dsp_mock_count_regions(cs_dsp_mock_halo_dsp1_region_sizes); in cs_dsp_ctl_cache_test_halo_init()
2771 dsp->base = cs_dsp_mock_halo_core_base; in cs_dsp_ctl_cache_test_halo_init()
2772 dsp->base_sysinfo = cs_dsp_mock_halo_sysinfo_base; in cs_dsp_ctl_cache_test_halo_init()
2774 return cs_dsp_ctl_cache_test_common_init(test, dsp, 3); in cs_dsp_ctl_cache_test_halo_init()
2779 struct cs_dsp *dsp; in cs_dsp_ctl_cache_test_adsp2_32bit_init() local
2782 dsp = kunit_kzalloc(test, sizeof(*dsp), GFP_KERNEL); in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2783 if (!dsp) in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2786 dsp->num = 1; in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2787 dsp->type = WMFW_ADSP2; in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2788 dsp->rev = 1; in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2789 dsp->mem = cs_dsp_mock_adsp2_32bit_dsp1_regions; in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2790 dsp->num_mems = cs_dsp_mock_count_regions(cs_dsp_mock_adsp2_32bit_dsp1_region_sizes); in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2791 dsp->base = cs_dsp_mock_adsp2_32bit_sysbase; in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2793 return cs_dsp_ctl_cache_test_common_init(test, dsp, wmfw_ver); in cs_dsp_ctl_cache_test_adsp2_32bit_init()
2808 struct cs_dsp *dsp; in cs_dsp_ctl_cache_test_adsp2_16bit_init() local
2811 dsp = kunit_kzalloc(test, sizeof(*dsp), GFP_KERNEL); in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2812 if (!dsp) in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2815 dsp->num = 1; in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2816 dsp->type = WMFW_ADSP2; in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2817 dsp->rev = 0; in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2818 dsp->mem = cs_dsp_mock_adsp2_16bit_dsp1_regions; in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2819 dsp->num_mems = cs_dsp_mock_count_regions(cs_dsp_mock_adsp2_16bit_dsp1_region_sizes); in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2820 dsp->base = cs_dsp_mock_adsp2_16bit_sysbase; in cs_dsp_ctl_cache_test_adsp2_16bit_init()
2822 return cs_dsp_ctl_cache_test_common_init(test, dsp, wmfw_ver); in cs_dsp_ctl_cache_test_adsp2_16bit_init()