Lines Matching full:dsp
3 * cs_dsp.h -- Cirrus Logic DSP firmware support
56 * struct cs_dsp_region - Describes a logical memory region in DSP address space
66 * struct cs_dsp_alg_region - Describes a logical algorithm region in DSP address space
84 * @dsp: DSP instance associated with this control
100 struct cs_dsp *dsp; member
121 * struct cs_dsp - Configuration and state of a Cirrus Logic DSP
122 * @name: The name of the DSP instance
123 * @rev: Revision of the DSP
124 * @num: DSP instance number
125 * @type: Type of DSP
130 * @base: Address of the DSP registers
140 * @mem: DSP memory region descriptions
141 * @num_mems: Number of memory regions in this DSP
143 * @booted: Flag indicating DSP has been configured
144 * @running: Flag indicating DSP is executing firmware
145 * @ctl_list: Controls defined within the loaded DSP firmware
148 * @debugfs_root: Debugfs directory for this DSP instance
214 int (*pre_run)(struct cs_dsp *dsp);
215 int (*post_run)(struct cs_dsp *dsp);
216 void (*pre_stop)(struct cs_dsp *dsp);
217 void (*post_stop)(struct cs_dsp *dsp);
218 void (*watchdog_expired)(struct cs_dsp *dsp);
221 int cs_dsp_adsp1_init(struct cs_dsp *dsp);
222 int cs_dsp_adsp2_init(struct cs_dsp *dsp);
223 int cs_dsp_halo_init(struct cs_dsp *dsp);
225 int cs_dsp_adsp1_power_up(struct cs_dsp *dsp,
229 void cs_dsp_adsp1_power_down(struct cs_dsp *dsp);
230 int cs_dsp_power_up(struct cs_dsp *dsp,
234 void cs_dsp_power_down(struct cs_dsp *dsp);
235 int cs_dsp_run(struct cs_dsp *dsp);
236 void cs_dsp_stop(struct cs_dsp *dsp);
238 void cs_dsp_remove(struct cs_dsp *dsp);
240 int cs_dsp_set_dspclk(struct cs_dsp *dsp, unsigned int freq);
241 void cs_dsp_adsp2_bus_error(struct cs_dsp *dsp);
242 void cs_dsp_halo_bus_error(struct cs_dsp *dsp);
243 void cs_dsp_halo_wdt_expire(struct cs_dsp *dsp);
245 void cs_dsp_init_debugfs(struct cs_dsp *dsp, struct dentry *debugfs_root);
246 void cs_dsp_cleanup_debugfs(struct cs_dsp *dsp);
257 struct cs_dsp_coeff_ctl *cs_dsp_get_ctl(struct cs_dsp *dsp, const char *name, int type,
260 int cs_dsp_read_raw_data_block(struct cs_dsp *dsp, int mem_type, unsigned int mem_addr,
262 int cs_dsp_read_data_word(struct cs_dsp *dsp, int mem_type, unsigned int mem_addr, u32 *data);
263 int cs_dsp_write_data_word(struct cs_dsp *dsp, int mem_type, unsigned int mem_addr, u32 data);
266 struct cs_dsp_alg_region *cs_dsp_find_alg_region(struct cs_dsp *dsp,
281 int cs_dsp_wseq_init(struct cs_dsp *dsp, struct cs_dsp_wseq *wseqs, unsigned int num_wseqs);
282 int cs_dsp_wseq_write(struct cs_dsp *dsp, struct cs_dsp_wseq *wseq, u32 addr, u32 data,
284 int cs_dsp_wseq_multi_write(struct cs_dsp *dsp, struct cs_dsp_wseq *wseq,
289 * struct cs_dsp_chunk - Describes a buffer holding data formatted for the DSP
306 * cs_dsp_chunk() - Create a DSP memory chunk
323 * cs_dsp_chunk_end() - Check if a DSP memory chunk is full
334 * cs_dsp_chunk_bytes() - Number of bytes written/read from a DSP memory chunk
345 * cs_dsp_chunk_valid_addr() - Check if an address is in a DSP memory chunk