Lines Matching defs:snd_sof_dsp_ops

165 struct snd_sof_dsp_ops {  struct
168 int (*probe)(struct snd_sof_dev *sof_dev); /* mandatory */
169 int (*remove)(struct snd_sof_dev *sof_dev); /* optional */
170 int (*shutdown)(struct snd_sof_dev *sof_dev); /* optional */
173 int (*run)(struct snd_sof_dev *sof_dev); /* mandatory */
174 int (*stall)(struct snd_sof_dev *sof_dev, unsigned int core_mask); /* optional */
175 int (*reset)(struct snd_sof_dev *sof_dev); /* optional */
176 int (*core_get)(struct snd_sof_dev *sof_dev, int core); /* optional */
177 int (*core_put)(struct snd_sof_dev *sof_dev, int core); /* optional */
184 void (*write8)(struct snd_sof_dev *sof_dev, void __iomem *addr,
186 u8 (*read8)(struct snd_sof_dev *sof_dev,
188 void (*write)(struct snd_sof_dev *sof_dev, void __iomem *addr,
190 u32 (*read)(struct snd_sof_dev *sof_dev,
192 void (*write64)(struct snd_sof_dev *sof_dev, void __iomem *addr,
194 u64 (*read64)(struct snd_sof_dev *sof_dev,
198 int (*block_read)(struct snd_sof_dev *sof_dev,
201 int (*block_write)(struct snd_sof_dev *sof_dev,
206 void (*mailbox_read)(struct snd_sof_dev *sof_dev,
209 void (*mailbox_write)(struct snd_sof_dev *sof_dev,
214 irqreturn_t (*irq_handler)(int irq, void *context); /* optional */
215 irqreturn_t (*irq_thread)(int irq, void *context); /* optional */
218 int (*send_msg)(struct snd_sof_dev *sof_dev,
222 int (*load_firmware)(struct snd_sof_dev *sof_dev); /* mandatory */
223 int (*load_module)(struct snd_sof_dev *sof_dev,
227 int (*pcm_open)(struct snd_sof_dev *sdev,
230 int (*pcm_close)(struct snd_sof_dev *sdev,
234 int (*pcm_hw_params)(struct snd_sof_dev *sdev,
240 int (*pcm_hw_free)(struct snd_sof_dev *sdev,
244 int (*pcm_trigger)(struct snd_sof_dev *sdev,
249 snd_pcm_uframes_t (*pcm_pointer)(struct snd_sof_dev *sdev,
253 int (*pcm_ack)(struct snd_sof_dev *sdev, struct snd_pcm_substream *substream); /* optional */
260 u64 (*get_stream_position)(struct snd_sof_dev *sdev,
265 int (*ipc_msg_data)(struct snd_sof_dev *sdev,
270 int (*set_stream_data_offset)(struct snd_sof_dev *sdev,
275 int (*pre_fw_run)(struct snd_sof_dev *sof_dev); /* optional */
276 int (*post_fw_run)(struct snd_sof_dev *sof_dev); /* optional */
279 int (*parse_platform_ext_manifest)(struct snd_sof_dev *sof_dev,
283 int (*suspend)(struct snd_sof_dev *sof_dev,
285 int (*resume)(struct snd_sof_dev *sof_dev); /* optional */
286 int (*runtime_suspend)(struct snd_sof_dev *sof_dev); /* optional */
287 int (*runtime_resume)(struct snd_sof_dev *sof_dev); /* optional */
288 int (*runtime_idle)(struct snd_sof_dev *sof_dev); /* optional */
289 int (*set_hw_params_upon_resume)(struct snd_sof_dev *sdev); /* optional */
290 int (*set_power_state)(struct snd_sof_dev *sdev,
294 int (*set_clk)(struct snd_sof_dev *sof_dev, u32 freq); /* optional */
297 const struct snd_sof_debugfs_map *debug_map; /* optional */
298 int debug_map_count; /* optional */
299 void (*dbg_dump)(struct snd_sof_dev *sof_dev,
301 void (*ipc_dump)(struct snd_sof_dev *sof_dev); /* optional */
302 int (*debugfs_add_region_item)(struct snd_sof_dev *sdev,
308 int (*trace_init)(struct snd_sof_dev *sdev,
311 int (*trace_release)(struct snd_sof_dev *sdev); /* optional */
312 int (*trace_trigger)(struct snd_sof_dev *sdev,
316 int (*get_bar_index)(struct snd_sof_dev *sdev,
318 int (*get_mailbox_offset)(struct snd_sof_dev *sdev);/* mandatory for common loader code */
319 int (*get_window_offset)(struct snd_sof_dev *sdev,
323 int (*machine_register)(struct snd_sof_dev *sdev,
325 void (*machine_unregister)(struct snd_sof_dev *sdev,
327 struct snd_soc_acpi_mach * (*machine_select)(struct snd_sof_dev *sdev); /* optional */
328 void (*set_mach_params)(struct snd_soc_acpi_mach *mach,
332 int (*register_ipc_clients)(struct snd_sof_dev *sdev); /* optional */
333 void (*unregister_ipc_clients)(struct snd_sof_dev *sdev); /* optional */
336 struct snd_soc_dai_driver *drv;
337 int num_drv;
340 u32 hw_info;
342 const struct dsp_arch_ops *dsp_arch_ops;