Lines Matching refs:cdev

31 	struct sof_client_dev *cdev;  member
43 struct sof_client_dev *cdev; member
51 struct sof_client_dev *cdev = auxiliary_dev_to_sof_client_dev(auxdev); in sof_client_auxdev_release() local
53 kfree(cdev->auxdev.dev.platform_data); in sof_client_auxdev_release()
54 kfree(cdev); in sof_client_auxdev_release()
57 static int sof_client_dev_add_data(struct sof_client_dev *cdev, const void *data, in sof_client_dev_add_data() argument
68 cdev->auxdev.dev.platform_data = d; in sof_client_dev_add_data()
212 struct sof_client_dev *cdev; in sof_client_dev_register() local
215 cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); in sof_client_dev_register()
216 if (!cdev) in sof_client_dev_register()
219 cdev->sdev = sdev; in sof_client_dev_register()
220 auxdev = &cdev->auxdev; in sof_client_dev_register()
226 ret = sof_client_dev_add_data(cdev, data, size); in sof_client_dev_register()
236 ret = auxiliary_device_add(&cdev->auxdev); in sof_client_dev_register()
243 auxiliary_device_uninit(&cdev->auxdev); in sof_client_dev_register()
249 list_add(&cdev->list, &sdev->ipc_client_list); in sof_client_dev_register()
255 kfree(cdev->auxdev.dev.platform_data); in sof_client_dev_register()
258 kfree(cdev); in sof_client_dev_register()
266 struct sof_client_dev *cdev; in sof_client_dev_unregister() local
274 list_for_each_entry(cdev, &sdev->ipc_client_list, list) { in sof_client_dev_unregister()
275 if (!strcmp(cdev->auxdev.name, name) && cdev->auxdev.id == id) { in sof_client_dev_unregister()
276 list_del(&cdev->list); in sof_client_dev_unregister()
277 auxiliary_device_delete(&cdev->auxdev); in sof_client_dev_unregister()
278 auxiliary_device_uninit(&cdev->auxdev); in sof_client_dev_unregister()
287 int sof_client_ipc_tx_message(struct sof_client_dev *cdev, void *ipc_msg, in sof_client_ipc_tx_message() argument
290 if (cdev->sdev->pdata->ipc_type == SOF_IPC) { in sof_client_ipc_tx_message()
293 return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, hdr->size, in sof_client_ipc_tx_message()
295 } else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) { in sof_client_ipc_tx_message()
298 return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, msg->data_size, in sof_client_ipc_tx_message()
306 int sof_client_ipc_rx_message(struct sof_client_dev *cdev, void *ipc_msg, void *msg_buf) in sof_client_ipc_rx_message() argument
308 if (cdev->sdev->pdata->ipc_type == SOF_IPC) { in sof_client_ipc_rx_message()
312 dev_err(cdev->sdev->dev, "The received message size is invalid\n"); in sof_client_ipc_rx_message()
316 sof_ipc3_do_rx_work(cdev->sdev, ipc_msg, msg_buf); in sof_client_ipc_rx_message()
324 int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg, in sof_client_ipc_set_get_data() argument
327 if (cdev->sdev->pdata->ipc_type == SOF_IPC) { in sof_client_ipc_set_get_data()
330 return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, hdr->size, in sof_client_ipc_set_get_data()
332 } else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) { in sof_client_ipc_set_get_data()
335 return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, in sof_client_ipc_set_get_data()
360 struct sof_client_dev *cdev; in sof_suspend_clients() local
364 list_for_each_entry(cdev, &sdev->ipc_client_list, list) { in sof_suspend_clients()
366 if (!cdev->auxdev.dev.driver) in sof_suspend_clients()
369 adrv = to_auxiliary_drv(cdev->auxdev.dev.driver); in sof_suspend_clients()
371 adrv->suspend(&cdev->auxdev, state); in sof_suspend_clients()
383 struct sof_client_dev *cdev; in sof_resume_clients() local
387 list_for_each_entry(cdev, &sdev->ipc_client_list, list) { in sof_resume_clients()
389 if (!cdev->auxdev.dev.driver) in sof_resume_clients()
392 adrv = to_auxiliary_drv(cdev->auxdev.dev.driver); in sof_resume_clients()
394 adrv->resume(&cdev->auxdev); in sof_resume_clients()
403 struct dentry *sof_client_get_debugfs_root(struct sof_client_dev *cdev) in sof_client_get_debugfs_root() argument
405 return cdev->sdev->debugfs_root; in sof_client_get_debugfs_root()
410 struct device *sof_client_get_dma_dev(struct sof_client_dev *cdev) in sof_client_get_dma_dev() argument
412 return cdev->sdev->dev; in sof_client_get_dma_dev()
416 const struct sof_ipc_fw_version *sof_client_get_fw_version(struct sof_client_dev *cdev) in sof_client_get_fw_version() argument
418 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_fw_version()
424 size_t sof_client_get_ipc_max_payload_size(struct sof_client_dev *cdev) in sof_client_get_ipc_max_payload_size() argument
426 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_ipc_max_payload_size()
432 enum sof_ipc_type sof_client_get_ipc_type(struct sof_client_dev *cdev) in sof_client_get_ipc_type() argument
434 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_ipc_type()
441 int sof_client_core_module_get(struct sof_client_dev *cdev) in sof_client_core_module_get() argument
443 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_core_module_get()
452 void sof_client_core_module_put(struct sof_client_dev *cdev) in sof_client_core_module_put() argument
454 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_core_module_put()
484 event->callback(event->cdev, msg_buf); in sof_client_ipc_rx_dispatcher()
490 int sof_client_register_ipc_rx_handler(struct sof_client_dev *cdev, in sof_client_register_ipc_rx_handler() argument
494 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_register_ipc_rx_handler()
500 if (cdev->sdev->pdata->ipc_type == SOF_IPC) { in sof_client_register_ipc_rx_handler()
503 } else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) { in sof_client_register_ipc_rx_handler()
517 event->cdev = cdev; in sof_client_register_ipc_rx_handler()
529 void sof_client_unregister_ipc_rx_handler(struct sof_client_dev *cdev, in sof_client_unregister_ipc_rx_handler() argument
532 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_unregister_ipc_rx_handler()
538 if (event->cdev == cdev && event->ipc_msg_type == ipc_msg_type) { in sof_client_unregister_ipc_rx_handler()
557 event->callback(event->cdev, sdev->fw_state); in sof_client_fw_state_dispatcher()
562 int sof_client_register_fw_state_handler(struct sof_client_dev *cdev, in sof_client_register_fw_state_handler() argument
565 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_register_fw_state_handler()
575 event->cdev = cdev; in sof_client_register_fw_state_handler()
587 void sof_client_unregister_fw_state_handler(struct sof_client_dev *cdev) in sof_client_unregister_fw_state_handler() argument
589 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_unregister_fw_state_handler()
595 if (event->cdev == cdev) { in sof_client_unregister_fw_state_handler()
606 enum sof_fw_state sof_client_get_fw_state(struct sof_client_dev *cdev) in sof_client_get_fw_state() argument
608 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_fw_state()