Lines Matching full:dsp

145 	struct cs_dsp *dsp = priv->dsp;  in cs_dsp_ctl_write_running()  local
165 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_write_running()
180 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_running()
182 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_running()
186 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_running()
187 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_running()
198 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, param->len_bytes), 0); in cs_dsp_ctl_write_running()
216 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_running() local
236 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_read_volatile_running()
251 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_volatile_running()
253 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_volatile_running()
257 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_volatile_running()
258 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_volatile_running()
271 KUNIT_ASSERT_EQ(test, regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes), 0); in cs_dsp_ctl_read_volatile_running()
287 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_not_started() local
303 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_read_volatile_not_started()
318 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_volatile_not_started()
321 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_volatile_not_started()
337 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_stopped() local
353 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_read_volatile_stopped()
368 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_volatile_stopped()
371 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_volatile_stopped()
372 cs_dsp_stop(dsp); in cs_dsp_ctl_read_volatile_stopped()
375 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_volatile_stopped()
383 * Read from a volatile control after the DSP has been powered down.
391 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_stopped_powered_down() local
407 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_read_volatile_stopped_powered_down()
422 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_volatile_stopped_powered_down()
425 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_volatile_stopped_powered_down()
426 cs_dsp_stop(dsp); in cs_dsp_ctl_read_volatile_stopped_powered_down()
427 cs_dsp_power_down(dsp); in cs_dsp_ctl_read_volatile_stopped_powered_down()
430 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_volatile_stopped_powered_down()
439 * loaded into the DSP.
447 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_volatile_not_current_loaded_fw() local
459 /* Create some DSP data to be read into the control cache */ in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
464 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
478 /* Power-up DSP */ in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
480 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
482 /* Power-down DSP then power-up with a different firmware */ in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
483 cs_dsp_power_down(dsp); in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
485 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_read_volatile_not_current_loaded_fw()
488 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); 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() local
517 /* Create some DSP data to be read into the control cache */ in cs_dsp_ctl_read_volatile_not_current_running_fw()
522 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_read_volatile_not_current_running_fw()
536 /* Power-up DSP */ in cs_dsp_ctl_read_volatile_not_current_running_fw()
538 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_volatile_not_current_running_fw()
540 /* Power-down DSP then power-up with a different firmware */ in cs_dsp_ctl_read_volatile_not_current_running_fw()
541 cs_dsp_power_down(dsp); in cs_dsp_ctl_read_volatile_not_current_running_fw()
543 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_read_volatile_not_current_running_fw()
546 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_volatile_not_current_running_fw()
547 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_volatile_not_current_running_fw()
550 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); 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() local
582 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_write_volatile_not_started()
597 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_volatile_not_started()
604 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_volatile_not_started()
623 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_volatile_stopped() local
639 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_write_volatile_stopped()
654 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_volatile_stopped()
657 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_volatile_stopped()
658 cs_dsp_stop(dsp); in cs_dsp_ctl_write_volatile_stopped()
665 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_volatile_stopped()
676 * Write to a volatile control after the DSP has been powered down.
684 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_volatile_stopped_powered_down() local
700 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_write_volatile_stopped_powered_down()
715 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_volatile_stopped_powered_down()
718 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_volatile_stopped_powered_down()
719 cs_dsp_stop(dsp); in cs_dsp_ctl_write_volatile_stopped_powered_down()
720 cs_dsp_power_down(dsp); in cs_dsp_ctl_write_volatile_stopped_powered_down()
727 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_volatile_stopped_powered_down()
739 * loaded into the DSP.
747 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_volatile_not_current_loaded_fw() local
759 /* Create some DSP data to be read into the control cache */ in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
764 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
778 /* Power-up DSP */ in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
780 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
782 /* Power-down DSP then power-up with a different firmware */ in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
783 cs_dsp_power_down(dsp); in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
785 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
792 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_volatile_not_current_loaded_fw()
812 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_volatile_not_current_running_fw() local
824 /* Create some DSP data to be read into the control cache */ in cs_dsp_ctl_write_volatile_not_current_running_fw()
829 regmap_raw_write(dsp->regmap, reg, reg_vals, param->len_bytes); in cs_dsp_ctl_write_volatile_not_current_running_fw()
843 /* Power-up DSP */ in cs_dsp_ctl_write_volatile_not_current_running_fw()
845 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_volatile_not_current_running_fw()
847 /* Power-down DSP then power-up with a different firmware */ in cs_dsp_ctl_write_volatile_not_current_running_fw()
848 cs_dsp_power_down(dsp); in cs_dsp_ctl_write_volatile_not_current_running_fw()
850 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw2", NULL, NULL, "mbc.vss"), 0); in cs_dsp_ctl_write_volatile_not_current_running_fw()
853 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_volatile_not_current_running_fw()
854 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_volatile_not_current_running_fw()
861 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_volatile_not_current_running_fw()
880 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_with_seek() local
906 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_with_seek()
916 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_with_seek()
918 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_with_seek()
922 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_with_seek()
923 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_with_seek()
947 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_cache_with_seek() local
973 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_cache_with_seek()
983 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_cache_with_seek()
985 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_cache_with_seek()
989 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_cache_with_seek()
990 cs_dsp_stop(dsp); in cs_dsp_ctl_read_cache_with_seek()
1012 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_truncated() local
1038 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_truncated()
1048 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_truncated()
1050 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_truncated()
1054 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_truncated()
1055 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_truncated()
1057 /* Reads are only allowed to be a multiple of the DSP word length */ in cs_dsp_ctl_read_truncated()
1082 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_cache_truncated() local
1108 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_cache_truncated()
1118 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_cache_truncated()
1120 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_cache_truncated()
1124 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_cache_truncated()
1125 cs_dsp_stop(dsp); in cs_dsp_ctl_read_cache_truncated()
1127 /* Reads are only allowed to be a multiple of the DSP word length */ in cs_dsp_ctl_read_cache_truncated()
1150 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_with_seek() local
1179 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_with_seek()
1189 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_with_seek()
1191 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_with_seek()
1195 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_with_seek()
1196 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_with_seek()
1202 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_with_seek()
1209 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, def.length_bytes), in cs_dsp_ctl_write_with_seek()
1228 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_cache_with_seek() local
1257 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_cache_with_seek()
1267 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_cache_with_seek()
1269 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_cache_with_seek()
1273 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_cache_with_seek()
1274 cs_dsp_stop(dsp); in cs_dsp_ctl_write_cache_with_seek()
1311 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_truncated() local
1340 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_truncated()
1350 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_truncated()
1352 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_truncated()
1356 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_truncated()
1357 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_truncated()
1359 /* Writes are only allowed to be a multiple of the DSP word length */ in cs_dsp_ctl_write_truncated()
1362 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_truncated()
1370 KUNIT_ASSERT_EQ(test, regmap_raw_read(dsp->regmap, reg, readback, def.length_bytes), in cs_dsp_ctl_write_truncated()
1391 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_cache_truncated() local
1420 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_cache_truncated()
1430 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_cache_truncated()
1432 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_cache_truncated()
1436 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_cache_truncated()
1437 cs_dsp_stop(dsp); in cs_dsp_ctl_write_cache_truncated()
1439 /* Writes are only allowed to be a multiple of the DSP word length */ in cs_dsp_ctl_write_cache_truncated()
1474 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_with_seek_oob() local
1496 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_with_seek_oob()
1506 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_with_seek_oob()
1508 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_with_seek_oob()
1512 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_with_seek_oob()
1513 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_with_seek_oob()
1523 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_read_with_seek_oob()
1524 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_read_with_seek_oob()
1542 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_with_length_overflow() local
1563 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_with_length_overflow()
1573 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_with_length_overflow()
1575 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_with_length_overflow()
1579 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_with_length_overflow()
1580 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_with_length_overflow()
1588 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_read_with_length_overflow()
1589 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_read_with_length_overflow()
1607 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_with_seek_and_length_oob() local
1628 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_read_with_seek_and_length_oob()
1638 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_with_seek_and_length_oob()
1640 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_with_seek_and_length_oob()
1644 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_with_seek_and_length_oob()
1645 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_with_seek_and_length_oob()
1657 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_read_with_seek_and_length_oob()
1658 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_read_with_seek_and_length_oob()
1676 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_with_seek_oob() local
1698 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_with_seek_oob()
1708 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_with_seek_oob()
1710 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_with_seek_oob()
1714 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_with_seek_oob()
1715 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_with_seek_oob()
1730 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_write_with_seek_oob()
1731 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_write_with_seek_oob()
1753 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_with_length_overflow() local
1774 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_with_length_overflow()
1784 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_with_length_overflow()
1786 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_with_length_overflow()
1790 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_with_length_overflow()
1791 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_with_length_overflow()
1804 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_write_with_length_overflow()
1805 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_write_with_length_overflow()
1827 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_with_seek_and_length_oob() local
1848 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_with_seek_and_length_oob()
1858 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_with_seek_and_length_oob()
1860 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_with_seek_and_length_oob()
1864 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_with_seek_and_length_oob()
1865 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_with_seek_and_length_oob()
1882 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_write_with_seek_and_length_oob()
1883 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_write_with_seek_and_length_oob()
1899 * populate the cache from the DSP memory.
1906 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_read_from_writeonly() local
1936 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_read_from_writeonly()
1938 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_read_from_writeonly()
1942 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_read_from_writeonly()
1943 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_read_from_writeonly()
1959 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_read_from_writeonly()
1960 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_read_from_writeonly()
1980 struct cs_dsp *dsp = priv->dsp; in cs_dsp_ctl_write_to_readonly() local
2005 regmap_raw_write(dsp->regmap, reg, reg_vals, def.length_bytes); in cs_dsp_ctl_write_to_readonly()
2015 KUNIT_ASSERT_EQ(test, cs_dsp_power_up(dsp, wmfw, "mock_fw", NULL, NULL, "misc"), 0); in cs_dsp_ctl_write_to_readonly()
2017 ctl = list_first_entry_or_null(&dsp->ctl_list, struct cs_dsp_coeff_ctl, list); in cs_dsp_ctl_write_to_readonly()
2021 KUNIT_ASSERT_EQ(test, cs_dsp_run(dsp), 0); in cs_dsp_ctl_write_to_readonly()
2022 KUNIT_ASSERT_EQ(test, kunit_add_action_or_reset(test, _cs_dsp_stop_wrapper, dsp), 0); in cs_dsp_ctl_write_to_readonly()
2035 kunit_release_action(test, _cs_dsp_stop_wrapper, dsp); in cs_dsp_ctl_write_to_readonly()
2036 KUNIT_ASSERT_FALSE(test, dsp->running); in cs_dsp_ctl_write_to_readonly()
2049 static int cs_dsp_ctl_rw_test_common_init(struct kunit *test, struct cs_dsp *dsp, in cs_dsp_ctl_rw_test_common_init() argument
2066 priv->dsp = dsp; in cs_dsp_ctl_rw_test_common_init()
2076 dsp->dev = get_device(test_dev); in cs_dsp_ctl_rw_test_common_init()
2077 if (!dsp->dev) in cs_dsp_ctl_rw_test_common_init()
2080 ret = kunit_add_action_or_reset(test, _put_device_wrapper, dsp->dev); in cs_dsp_ctl_rw_test_common_init()
2084 dev_set_drvdata(dsp->dev, priv); in cs_dsp_ctl_rw_test_common_init()
2104 dsp->client_ops = kunit_kzalloc(test, sizeof(*dsp->client_ops), GFP_KERNEL); in cs_dsp_ctl_rw_test_common_init()
2105 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dsp->client_ops); in cs_dsp_ctl_rw_test_common_init()
2107 switch (dsp->type) { in cs_dsp_ctl_rw_test_common_init()
2109 ret = cs_dsp_adsp2_init(dsp); in cs_dsp_ctl_rw_test_common_init()
2112 ret = cs_dsp_halo_init(dsp); in cs_dsp_ctl_rw_test_common_init()
2115 KUNIT_FAIL(test, "Untested DSP type %d\n", dsp->type); in cs_dsp_ctl_rw_test_common_init()
2123 return kunit_add_action_or_reset(priv->test, _cs_dsp_remove_wrapper, dsp); in cs_dsp_ctl_rw_test_common_init()
2128 struct cs_dsp *dsp; in cs_dsp_ctl_rw_test_halo_init() local
2131 dsp = kunit_kzalloc(test, sizeof(*dsp), GFP_KERNEL); in cs_dsp_ctl_rw_test_halo_init()
2132 if (!dsp) in cs_dsp_ctl_rw_test_halo_init()
2135 dsp->num = 1; in cs_dsp_ctl_rw_test_halo_init()
2136 dsp->type = WMFW_HALO; in cs_dsp_ctl_rw_test_halo_init()
2137 dsp->mem = cs_dsp_mock_halo_dsp1_regions; in cs_dsp_ctl_rw_test_halo_init()
2138 dsp->num_mems = cs_dsp_mock_count_regions(cs_dsp_mock_halo_dsp1_region_sizes); in cs_dsp_ctl_rw_test_halo_init()
2139 dsp->base = cs_dsp_mock_halo_core_base; in cs_dsp_ctl_rw_test_halo_init()
2140 dsp->base_sysinfo = cs_dsp_mock_halo_sysinfo_base; in cs_dsp_ctl_rw_test_halo_init()
2142 return cs_dsp_ctl_rw_test_common_init(test, dsp, 3); in cs_dsp_ctl_rw_test_halo_init()
2147 struct cs_dsp *dsp; in cs_dsp_ctl_rw_test_adsp2_32bit_init() local
2150 dsp = kunit_kzalloc(test, sizeof(*dsp), GFP_KERNEL); in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2151 if (!dsp) in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2154 dsp->num = 1; in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2155 dsp->type = WMFW_ADSP2; in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2156 dsp->rev = 1; in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2157 dsp->mem = cs_dsp_mock_adsp2_32bit_dsp1_regions; in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2158 dsp->num_mems = cs_dsp_mock_count_regions(cs_dsp_mock_adsp2_32bit_dsp1_region_sizes); in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2159 dsp->base = cs_dsp_mock_adsp2_32bit_sysbase; in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2161 return cs_dsp_ctl_rw_test_common_init(test, dsp, wmfw_ver); in cs_dsp_ctl_rw_test_adsp2_32bit_init()
2176 struct cs_dsp *dsp; in cs_dsp_ctl_rw_test_adsp2_16bit_init() local
2179 dsp = kunit_kzalloc(test, sizeof(*dsp), GFP_KERNEL); in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2180 if (!dsp) in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2183 dsp->num = 1; in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2184 dsp->type = WMFW_ADSP2; in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2185 dsp->rev = 0; in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2186 dsp->mem = cs_dsp_mock_adsp2_16bit_dsp1_regions; in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2187 dsp->num_mems = cs_dsp_mock_count_regions(cs_dsp_mock_adsp2_16bit_dsp1_region_sizes); in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2188 dsp->base = cs_dsp_mock_adsp2_16bit_sysbase; in cs_dsp_ctl_rw_test_adsp2_16bit_init()
2190 return cs_dsp_ctl_rw_test_common_init(test, dsp, wmfw_ver); in cs_dsp_ctl_rw_test_adsp2_16bit_init()