Lines Matching defs:sdev

44 	struct snd_sof_dev *sdev = dfse->sdev;
87 if (pm_runtime_active(sdev->dev) ||
91 dev_info(sdev->dev,
97 if (!pm_runtime_active(sdev->dev) &&
99 dev_err(sdev->dev,
133 static int snd_sof_debugfs_io_item(struct snd_sof_dev *sdev,
140 if (!sdev)
143 dfse = devm_kzalloc(sdev->dev, sizeof(*dfse), GFP_KERNEL);
150 dfse->sdev = sdev;
159 dfse->cache_buf = devm_kzalloc(sdev->dev, size, GFP_KERNEL);
165 debugfs_create_file(name, 0444, sdev->debugfs_root, dfse,
169 list_add(&dfse->list, &sdev->dfsentry_list);
174 int snd_sof_debugfs_add_region_item_iomem(struct snd_sof_dev *sdev,
179 int bar = snd_sof_dsp_get_bar_index(sdev, blk_type);
184 return snd_sof_debugfs_io_item(sdev, sdev->bar[bar] + offset, size, name,
190 int snd_sof_debugfs_buf_item(struct snd_sof_dev *sdev,
196 if (!sdev)
199 dfse = devm_kzalloc(sdev->dev, sizeof(*dfse), GFP_KERNEL);
206 dfse->sdev = sdev;
208 debugfs_create_file(name, mode, sdev->debugfs_root, dfse,
211 list_add(&dfse->list, &sdev->dfsentry_list);
217 static int memory_info_update(struct snd_sof_dev *sdev, char *buf, size_t buff_size)
232 ret = pm_runtime_resume_and_get(sdev->dev);
234 dev_err(sdev->dev, "error: enabling device failed: %d\n", ret);
238 ret = sof_ipc_tx_message(sdev->ipc, &msg, msg.size, reply, SOF_IPC_MSG_MAX_SIZE);
239 pm_runtime_mark_last_busy(sdev->dev);
240 pm_runtime_put_autosuspend(sdev->dev);
243 dev_err(sdev->dev, "error: reading memory info failed, %d\n", ret);
248 dev_err(sdev->dev, "error: invalid memory info ipc struct size, %d\n",
272 struct snd_sof_dev *sdev = dfse->sdev;
278 data_length = memory_info_update(sdev, dfse->buf, dfse->size);
290 struct snd_sof_dev *sdev = dfse->sdev;
296 dfse->buf = devm_kmalloc(sdev->dev, PAGE_SIZE, GFP_KERNEL);
311 int snd_sof_dbg_memory_info_init(struct snd_sof_dev *sdev)
315 dfse = devm_kzalloc(sdev->dev, sizeof(*dfse), GFP_KERNEL);
321 dfse->sdev = sdev;
323 debugfs_create_file("memory_info", 0444, sdev->debugfs_root, dfse, &memory_info_fops);
326 list_add(&dfse->list, &sdev->dfsentry_list);
331 int snd_sof_dbg_init(struct snd_sof_dev *sdev)
333 struct snd_sof_dsp_ops *ops = sof_ops(sdev);
339 sdev->debugfs_root = debugfs_create_dir("sof", NULL);
342 INIT_LIST_HEAD(&sdev->dfsentry_list);
348 err = snd_sof_debugfs_io_item(sdev, sdev->bar[map->bar] +
356 return snd_sof_debugfs_buf_item(sdev, &sdev->fw_state,
357 sizeof(sdev->fw_state),
362 void snd_sof_free_debug(struct snd_sof_dev *sdev)
364 debugfs_remove_recursive(sdev->debugfs_root);
383 static void snd_sof_dbg_print_fw_state(struct snd_sof_dev *sdev, const char *level)
388 if (sdev->fw_state == fw_state_dbg[i].state) {
389 dev_printk(level, sdev->dev, "fw_state: %s (%d)\n",
395 dev_printk(level, sdev->dev, "fw_state: UNKNOWN (%d)\n", sdev->fw_state);
398 void snd_sof_dsp_dbg_dump(struct snd_sof_dev *sdev, const char *msg, u32 flags)
406 if (sof_ops(sdev)->dbg_dump && !sdev->dbg_dump_printed) {
407 dev_printk(level, sdev->dev,
410 dev_printk(level, sdev->dev, "%s\n", msg);
411 snd_sof_dbg_print_fw_state(sdev, level);
412 sof_ops(sdev)->dbg_dump(sdev, flags);
413 dev_printk(level, sdev->dev,
416 sdev->dbg_dump_printed = true;
418 dev_printk(level, sdev->dev, "%s\n", msg);
423 static void snd_sof_ipc_dump(struct snd_sof_dev *sdev)
425 if (sof_ops(sdev)->ipc_dump && !sdev->ipc_dump_printed) {
426 dev_err(sdev->dev, "------------[ IPC dump start ]------------\n");
427 sof_ops(sdev)->ipc_dump(sdev);
428 dev_err(sdev->dev, "------------[ IPC dump end ]------------\n");
430 sdev->ipc_dump_printed = true;
434 void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev, const char *msg)
439 if (!sdev->ipc_dump_printed)
440 dev_info(sdev->dev,
442 pm_runtime_get_if_in_use(sdev->dev);
446 snd_sof_ipc_dump(sdev);
447 snd_sof_dsp_dbg_dump(sdev, msg, SOF_DBG_DUMP_REGS | SOF_DBG_DUMP_MBOX);
448 sof_fw_trace_fw_crashed(sdev);