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