cs_dsp_read_raw_data_block(9)
π
cs_dsp_read_raw_data_block β Kernel API Manual energy β¨
okay bestie, so this is a Kernel API Manual page, and it's all about cs_dsp_read_raw_data_block β the little function that literally grabs a whole block of data out of DSP memory for you. no cap, it's giving "fetch" in the most technical way possible π
πΈ NAME πΈ
cs_dsp_read_raw_data_block β reads a block of data from DSP memory</p> π
β¨ SYNOPSIS β¨
int cs_dsp_read_raw_data_block (struct cs_dsp *dsp , int mem_type ,
unsigned int mem_addr , unsigned int num_words , __be32 *data );
π«Ά ARGUMENTS π«Ά
dspβ pointer to DSP structure. yeah she's the main character, everything runs through her πmem_typeβ the type of DSP memory containing the data to be read. like, which memory vibe are we in π¦mem_addrβ the address of the data within the memory region. the lil map pin for where your data lives πnum_wordsβ the length of the data to read. how many words we're snatching πdataβ a buffer to store the fetched data. the basket you're carrying it all home in π§Ί
π DESCRIPTION π
so here's the tea π β if you use this to read unpacked 24-bit memory, each 24-bit DSP word will occupy 32-bits in data, and the MSbyte will be 0. that's the padding, bestie, it's just chillin' there π
if you don't want that extra padding hanging around, you can remove it with cs_dsp_remove_padding β¨
π₯ RETURN π₯
Zero for success π β¦ or a negative number on error π (we don't love that for us, but ok).
π SEE ALSO π
Kernel file ./drivers/firmware/cirrus/cs_dsp.c
and the whole friend group, fr fr:
cs_dsp_mem_region_name(9)cs_dsp_init_debugfs(9)cs_dsp_cleanup_debugfs(9)cs_dsp_coeff_write_acked_control(9)cs_dsp_coeff_write_ctrl(9)cs_dsp_coeff_lock_and_write_ctrl(9)cs_dsp_coeff_read_ctrl(9)cs_dsp_coeff_lock_and_read_ctrl(9)cs_dsp_hibernate(9)cs_dsp_get_ctl(9)cs_dsp_find_alg_region(9)cs_dsp_adsp1_init(9)cs_dsp_adsp1_power_up(9)cs_dsp_adsp1_power_down(9)cs_dsp_set_dspclk(9)cs_dsp_power_up(9)cs_dsp_power_down(9)cs_dsp_run(9)cs_dsp_stop(9)cs_dsp_adsp2_init(9)cs_dsp_halo_init(9)cs_dsp_remove(9)cs_dsp_read_data_word(9)cs_dsp_write_data_word(9)cs_dsp_remove_padding(9)cs_dsp_adsp2_bus_error(9)cs_dsp_halo_bus_error(9)cs_dsp_halo_wdt_expire(9)cs_dsp_chunk_write(9)cs_dsp_chunk_flush(9)cs_dsp_chunk_read(9)cs_dsp_wseq_init(9)cs_dsp_wseq_write(9)cs_dsp_wseq_multi_write(9)
π reminder that this page is from source ./drivers/firmware/cirrus and it's dated October 2026 β yes, the future, we're iconic like that β
anyway, that's the whole page, mwah π go read your DSP memory responsibly, bestie π§ββοΈπ
π¦ 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