cs_dsp_run(9)
π cs_dsp_run(9) β the Kernel API Manual glow-up π
okay bestie, welcome to the Kernel API Manual entry for cs_dsp_run(9) β yes that (9) means it's a kernel-internals girlie, we're in the firmware section now, and honestly? it's giving backend magic and i'm obsessed β¨
β¨ NAME β¨
cs_dsp_run β starts the firmware running πββοΈπ¨
like literally, this is the "press play" of the DSP world and no cap it's kind of a big deal π₯
πΈ SYNOPSIS πΈ
int cs_dsp_run (struct cs_dsp *dsp );
one function, one pointer, zero drama π
π¦ ARGUMENTS π¦
dspβ pointer to the DSP structure π that's your DSP handler bestie, the whole lil struct you're about to send off into the world
π DESCRIPTION π
so here's the tea: cs_dsp_power_up must have previously been called successfully. like, that's not a suggestion, that's a prerequisite. power it up first, then come run the firmware. the way that ordering mattersβ¦ iykyk π«Ά
bestie do NOT skip the power-up step, ok? this one does not do it for you π
β RETURN β
0β zero for success π slay, it worked- a negative number β on error π something went wrong and the kernel is telling you with a sad little negative value
π SEE ALSO π
the whole friend group, fr fr β these are all the (9) besties you should go meet:
cs_dsp_mem_region_name,cs_dsp_init_debugfs,cs_dsp_cleanup_debugfs,cs_dsp_coeff_write_acked_control,cs_dsp_coeff_write_ctrl,cs_dsp_coeff_lock_and_write_ctrl,cs_dsp_coeff_read_ctrl,cs_dsp_coeff_lock_and_read_ctrlβ the coefficient girlies, write and read and lock every which way πcs_dsp_hibernate,cs_dsp_get_ctl,cs_dsp_find_alg_regionβ napping, getting, and finding things π¦cs_dsp_adsp1_init,cs_dsp_adsp1_power_up,cs_dsp_adsp1_power_down,cs_dsp_set_dspclk,cs_dsp_power_up,cs_dsp_power_down,cs_dsp_stopβ the ADSP1 crew plus your power and clock and stop essentials, highkey the core squad πcs_dsp_adsp2_init,cs_dsp_halo_init,cs_dsp_remove,cs_dsp_read_raw_data_block,cs_dsp_read_data_word,cs_dsp_write_data_word,cs_dsp_remove_paddingβ ADSP2 and Halo init, removal, and all the raw data reading/writing/padding-removing realness πcs_dsp_adsp2_bus_error,cs_dsp_halo_bus_error,cs_dsp_halo_wdt_expireβ the oops-handlers, bus errors and the watchdog expiring, we don't gatekeep the sad paths πcs_dsp_chunk_write,cs_dsp_chunk_flush,cs_dsp_chunk_read,cs_dsp_wseq_init,cs_dsp_wseq_write,cs_dsp_wseq_multi_writeβ chunk stuff and wseq stuff, write/flush/read and init/write/multi-write, all here, all accounted for β¨
oh and also β the kernel file itself lives at ./drivers/firmware/cirrus/cs_dsp.c, so go peek if you're nosy (respectfully) π
π§ sign-off π§
this page came to you straight out of ./drivers/firmware/cirrus, dated October 2026, and it's filed under cs_dsp_run(9) β that's the whole footer, bestie, no crumbs left behind π
now go call cs_dsp_power_up first and then run that firmware, periodt π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms