Lines Matching refs:sdev

28 static void atom_host_done(struct snd_sof_dev *sdev);
29 static void atom_dsp_done(struct snd_sof_dev *sdev);
35 static void atom_get_registers(struct snd_sof_dev *sdev, in atom_get_registers() argument
40 u32 offset = sdev->dsp_oops_offset; in atom_get_registers()
43 sof_mailbox_read(sdev, offset, xoops, sizeof(*xoops)); in atom_get_registers()
49 dev_err(sdev->dev, "invalid header size 0x%x. FW oops is bogus\n", in atom_get_registers()
54 sof_mailbox_read(sdev, offset, panic_info, sizeof(*panic_info)); in atom_get_registers()
58 sof_mailbox_read(sdev, offset, stack, stack_words * sizeof(u32)); in atom_get_registers()
61 void atom_dump(struct snd_sof_dev *sdev, u32 flags) in atom_dump() argument
69 status = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IPCD); in atom_dump()
70 panic = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IPCX); in atom_dump()
71 atom_get_registers(sdev, &xoops, &panic_info, stack, in atom_dump()
73 sof_print_oops_and_stack(sdev, KERN_ERR, status, panic, &xoops, in atom_dump()
77 imrx = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IMRX); in atom_dump()
78 imrd = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IMRD); in atom_dump()
79 dev_err(sdev->dev, in atom_dump()
83 dev_err(sdev->dev, in atom_dump()
87 dev_err(sdev->dev, in atom_dump()
91 dev_err(sdev->dev, in atom_dump()
105 struct snd_sof_dev *sdev = context; in atom_irq_handler() local
109 ipcx = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IPCX); in atom_irq_handler()
110 ipcd = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IPCD); in atom_irq_handler()
115 snd_sof_dsp_update_bits64_unlocked(sdev, DSP_BAR, in atom_irq_handler()
125 snd_sof_dsp_update_bits64_unlocked(sdev, DSP_BAR, in atom_irq_handler()
138 struct snd_sof_dev *sdev = context; in atom_irq_thread() local
141 ipcx = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IPCX); in atom_irq_thread()
142 ipcd = snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_IPCD); in atom_irq_thread()
147 spin_lock_irq(&sdev->ipc_lock); in atom_irq_thread()
156 snd_sof_ipc_process_reply(sdev, ipcx); in atom_irq_thread()
158 atom_dsp_done(sdev); in atom_irq_thread()
160 spin_unlock_irq(&sdev->ipc_lock); in atom_irq_thread()
168 snd_sof_dsp_panic(sdev, PANIC_OFFSET(ipcd) + MBOX_OFFSET, in atom_irq_thread()
171 snd_sof_ipc_msgs_rx(sdev); in atom_irq_thread()
174 atom_host_done(sdev); in atom_irq_thread()
181 int atom_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg) in atom_send_msg() argument
184 snd_sof_dsp_update_bits64_unlocked(sdev, DSP_BAR, SHIM_IMRX, in atom_send_msg()
188 sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data, in atom_send_msg()
190 snd_sof_dsp_write64(sdev, DSP_BAR, SHIM_IPCX, SHIM_BYT_IPCX_BUSY); in atom_send_msg()
196 int atom_get_mailbox_offset(struct snd_sof_dev *sdev) in atom_get_mailbox_offset() argument
202 int atom_get_window_offset(struct snd_sof_dev *sdev, u32 id) in atom_get_window_offset() argument
208 static void atom_host_done(struct snd_sof_dev *sdev) in atom_host_done() argument
211 snd_sof_dsp_update_bits64_unlocked(sdev, DSP_BAR, SHIM_IPCD, in atom_host_done()
217 snd_sof_dsp_update_bits64_unlocked(sdev, DSP_BAR, SHIM_IMRX, in atom_host_done()
221 static void atom_dsp_done(struct snd_sof_dev *sdev) in atom_dsp_done() argument
224 snd_sof_dsp_update_bits64_unlocked(sdev, DSP_BAR, SHIM_IPCX, in atom_dsp_done()
232 int atom_run(struct snd_sof_dev *sdev) in atom_run() argument
237 snd_sof_dsp_update_bits64(sdev, DSP_BAR, SHIM_CSR, in atom_run()
240 if (!(snd_sof_dsp_read64(sdev, DSP_BAR, SHIM_CSR) & in atom_run()
253 int atom_reset(struct snd_sof_dev *sdev) in atom_reset() argument
256 snd_sof_dsp_update_bits64(sdev, DSP_BAR, SHIM_CSR, in atom_reset()
265 snd_sof_dsp_update_bits64(sdev, DSP_BAR, SHIM_CSR, in atom_reset()
272 static const char *fixup_tplg_name(struct snd_sof_dev *sdev, in fixup_tplg_name() argument
288 tplg_filename = devm_kasprintf(sdev->dev, GFP_KERNEL, in fixup_tplg_name()
296 struct snd_soc_acpi_mach *atom_machine_select(struct snd_sof_dev *sdev) in atom_machine_select() argument
298 struct snd_sof_pdata *sof_pdata = sdev->pdata; in atom_machine_select()
306 dev_warn(sdev->dev, "warning: No matching ASoC machine driver found\n"); in atom_machine_select()
310 pdev = to_platform_device(sdev->dev); in atom_machine_select()
312 dev_dbg(sdev->dev, in atom_machine_select()
315 tplg_filename = fixup_tplg_name(sdev, in atom_machine_select()
323 dev_dbg(sdev->dev, in atom_machine_select()
407 struct snd_sof_dev *sdev) in atom_set_mach_params() argument
409 struct snd_sof_pdata *pdata = sdev->pdata; in atom_set_mach_params()
414 mach_params->platform = dev_name(sdev->dev); in atom_set_mach_params()