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_TYPE_3) { 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_IPC_TYPE_4) { 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
309 cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) { in sof_client_ipc_rx_message()
313 dev_err(cdev->sdev->dev, "The received message size is invalid\n"); in sof_client_ipc_rx_message()
317 sof_ipc3_do_rx_work(cdev->sdev, ipc_msg, msg_buf); in sof_client_ipc_rx_message()
325 int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg, in sof_client_ipc_set_get_data() argument
328 if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) { in sof_client_ipc_set_get_data()
331 return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, hdr->size, in sof_client_ipc_set_get_data()
333 } else if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_4) { in sof_client_ipc_set_get_data()
336 return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, in sof_client_ipc_set_get_data()
361 struct sof_client_dev *cdev; in sof_suspend_clients() local
365 list_for_each_entry(cdev, &sdev->ipc_client_list, list) { in sof_suspend_clients()
367 if (!cdev->auxdev.dev.driver) in sof_suspend_clients()
370 adrv = to_auxiliary_drv(cdev->auxdev.dev.driver); in sof_suspend_clients()
372 adrv->suspend(&cdev->auxdev, state); in sof_suspend_clients()
384 struct sof_client_dev *cdev; in sof_resume_clients() local
388 list_for_each_entry(cdev, &sdev->ipc_client_list, list) { in sof_resume_clients()
390 if (!cdev->auxdev.dev.driver) in sof_resume_clients()
393 adrv = to_auxiliary_drv(cdev->auxdev.dev.driver); in sof_resume_clients()
395 adrv->resume(&cdev->auxdev); in sof_resume_clients()
404 struct dentry *sof_client_get_debugfs_root(struct sof_client_dev *cdev) in sof_client_get_debugfs_root() argument
406 return cdev->sdev->debugfs_root; in sof_client_get_debugfs_root()
411 struct device *sof_client_get_dma_dev(struct sof_client_dev *cdev) in sof_client_get_dma_dev() argument
413 return cdev->sdev->dev; in sof_client_get_dma_dev()
417 const struct sof_ipc_fw_version *sof_client_get_fw_version(struct sof_client_dev *cdev) in sof_client_get_fw_version() argument
419 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_fw_version()
425 size_t sof_client_get_ipc_max_payload_size(struct sof_client_dev *cdev) in sof_client_get_ipc_max_payload_size() argument
427 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_ipc_max_payload_size()
433 enum sof_ipc_type sof_client_get_ipc_type(struct sof_client_dev *cdev) in sof_client_get_ipc_type() argument
435 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_ipc_type()
442 int sof_client_core_module_get(struct sof_client_dev *cdev) in sof_client_core_module_get() argument
444 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_core_module_get()
453 void sof_client_core_module_put(struct sof_client_dev *cdev) in sof_client_core_module_put() argument
455 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_core_module_put()
485 event->callback(event->cdev, msg_buf); in sof_client_ipc_rx_dispatcher()
491 int sof_client_register_ipc_rx_handler(struct sof_client_dev *cdev, in sof_client_register_ipc_rx_handler() argument
495 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_register_ipc_rx_handler()
501 if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) { in sof_client_register_ipc_rx_handler()
504 } else if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_4) { in sof_client_register_ipc_rx_handler()
518 event->cdev = cdev; in sof_client_register_ipc_rx_handler()
530 void sof_client_unregister_ipc_rx_handler(struct sof_client_dev *cdev, in sof_client_unregister_ipc_rx_handler() argument
533 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_unregister_ipc_rx_handler()
539 if (event->cdev == cdev && event->ipc_msg_type == ipc_msg_type) { in sof_client_unregister_ipc_rx_handler()
558 event->callback(event->cdev, sdev->fw_state); in sof_client_fw_state_dispatcher()
563 int sof_client_register_fw_state_handler(struct sof_client_dev *cdev, in sof_client_register_fw_state_handler() argument
566 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_register_fw_state_handler()
576 event->cdev = cdev; in sof_client_register_fw_state_handler()
588 void sof_client_unregister_fw_state_handler(struct sof_client_dev *cdev) in sof_client_unregister_fw_state_handler() argument
590 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_unregister_fw_state_handler()
596 if (event->cdev == cdev) { in sof_client_unregister_fw_state_handler()
607 enum sof_fw_state sof_client_get_fw_state(struct sof_client_dev *cdev) in sof_client_get_fw_state() argument
609 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev); in sof_client_get_fw_state()