STRUCT CS_DSP(9)
๐ struct cs_dsp(9) ๐
okay so this page is from the Kernel API Manual, and itโs literally the configuration and state of a Cirrus Logic DSP. bestie, this struct is the main character energy for a whole DSP instance โ every field is right here, no cap. ๐
โจ NAME โจ
struct cs_dsp โ Configuration and state of a Cirrus Logic DSP.
๐ธ SYNOPSIS ๐ธ
struct cs_dsp {
const char *name;
int rev;
int num;
int type;
struct device *dev;
struct regmap *regmap;
const struct cs_dsp_ops *ops;
const struct cs_dsp_client_ops *client_ops;
unsigned int base;
unsigned int base_sysinfo;
unsigned int sysclk_reg;
unsigned int sysclk_mask;
unsigned int sysclk_shift;
bool no_core_startstop;
struct list_head alg_regions;
const char *fw_name;
unsigned int fw_id;
unsigned int fw_id_version;
unsigned int fw_vendor_id;
const struct cs_dsp_region *mem;
int num_mems;
int wmfw_ver;
bool booted;
bool running;
bool hibernating;
struct list_head ctl_list;
struct mutex pwr_lock;
unsigned int lock_regions;
#ifdef CONFIG_DEBUG_FS;
struct dentry *debugfs_root;
const char *wmfw_file_name;
const char *bin_file_name;
#endif;
};
๐ Members ๐
okay bestie, field-by-field tea time. โ
nameโ the name of the DSP instance. literally its little nametag. ๐ท๏ธrevโ revision of the DSP. โจnumโ DSP instance number. which one is this? this number. ๐ขtypeโ type of DSP. ๐ซdevโ driver model representation of the device. the deviceโs driver-model rep, slay. ๐ซถregmapโ register map of the device. ๐บ๏ธopsโ function pointers for internal callbacks. ๐งclient_opsโ function pointers for client callbacks. ๐ซฑbaseโ address of the DSP registers. ๐base_sysinfoโ address of the sysinfo register (Halo only). halo only, bestie, donโt forget. ๐ชsysclk_regโ address of the sysclk register (ADSP1 only). ADSP1 only! โฐsysclk_maskโ mask of frequency bits within sysclk register (ADSP1 only). ADSP1 only again. ๐๏ธsysclk_shiftโ shift of frequency bits within sysclk register (ADSP1 only). ADSP1 only, periodt. ๐alg_regionsโ list of currently loaded algorithm regions. ๐งfw_nameโ name of the current firmware. ๐ท๏ธfw_idโ ID of the current firmware, obtained from the wmfw. ๐fw_id_versionโ version of the firmware, obtained from the wmfw. ๐ขfw_vendor_idโ vendor of the firmware, obtained from the wmfw. ๐ขmemโ DSP memory region descriptions. ๐พnum_memsโ number of memory regions in this DSP. ๐งฎbootedโ flag indicating DSP has been configured. โrunningโ flag indicating DSP is executing firmware. ๐ctl_listโ controls defined within the loaded DSP firmware. ๐๏ธpwr_lockโ lock used to serialize accesses. ๐lock_regionsโ enable MPU traps on specified memory regions. ๐จdebugfs_rootโ debugfs directory for this DSP instance. ๐ชฒwmfw_file_nameโ filename of the currently loaded firmware. ๐bin_file_nameโ filename of the currently loaded coefficients. ๐ฆ
๐ฆ SEE ALSO ๐ฆ
Kernel file ./include/linux/firmware/cirrus/cs_dsp.h โ plus these linked icons, bestie: struct cs_dsp_region(9), struct cs_dsp_alg_region(9), struct cs_dsp_coeff_ctl(9), struct cs_dsp_client_ops(9), struct cs_dsp_wseq(9), struct cs_dsp_chunk(9), cs_dsp_chunk(9), cs_dsp_chunk_end(9), cs_dsp_chunk_bytes(9), cs_dsp_chunk_valid_addr(9). no cap, read the whole squad. ๐
okay thatโs the whole page, bestie. source/version is ./include/linux/firmware/cirrus, date is October 2026, and yes this is the struct cs_dsp(9) page from the Kernel API Manual. go off, DSP icon. ๐
โจ
๐ฆ 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