• Home
  • Raw
  • Download

Lines Matching refs:ipc

206 static int tx_wait_done(struct snd_sof_ipc *ipc, struct snd_sof_ipc_msg *msg,  in tx_wait_done()  argument
209 struct snd_sof_dev *sdev = ipc->sdev; in tx_wait_done()
220 snd_sof_handle_fw_exception(ipc->sdev); in tx_wait_done()
240 static int sof_ipc_tx_message_unlocked(struct snd_sof_ipc *ipc, u32 header, in sof_ipc_tx_message_unlocked() argument
244 struct snd_sof_dev *sdev = ipc->sdev; in sof_ipc_tx_message_unlocked()
248 if (ipc->disable_ipc_tx) in sof_ipc_tx_message_unlocked()
258 msg = &ipc->msg; in sof_ipc_tx_message_unlocked()
289 ret = tx_wait_done(ipc, msg, reply_data); in sof_ipc_tx_message_unlocked()
295 int sof_ipc_tx_message(struct snd_sof_ipc *ipc, u32 header, in sof_ipc_tx_message() argument
305 ret = snd_sof_dsp_set_power_state(ipc->sdev, &target_state); in sof_ipc_tx_message()
307 dev_err(ipc->sdev->dev, "error: resuming DSP %d\n", ret); in sof_ipc_tx_message()
311 return sof_ipc_tx_message_no_pm(ipc, header, msg_data, msg_bytes, in sof_ipc_tx_message()
321 int sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, u32 header, in sof_ipc_tx_message_no_pm() argument
332 mutex_lock(&ipc->tx_mutex); in sof_ipc_tx_message_no_pm()
334 ret = sof_ipc_tx_message_unlocked(ipc, header, msg_data, msg_bytes, in sof_ipc_tx_message_no_pm()
337 mutex_unlock(&ipc->tx_mutex); in sof_ipc_tx_message_no_pm()
346 struct snd_sof_ipc_msg *msg = &sdev->ipc->msg; in snd_sof_ipc_reply()
533 err = sof_ipc_tx_message(sdev->ipc, in snd_sof_ipc_stream_posn()
614 mutex_lock(&sdev->ipc->tx_mutex); in sof_set_get_large_ctrl_data()
628 err = sof_ipc_tx_message_unlocked(sdev->ipc, in sof_set_get_large_ctrl_data()
643 mutex_unlock(&sdev->ipc->tx_mutex); in sof_set_get_large_ctrl_data()
723 err = sof_ipc_tx_message(sdev->ipc, cdata->rhdr.hdr.cmd, cdata, in snd_sof_ipc_set_get_comp_data()
823 struct snd_sof_ipc *ipc; in snd_sof_ipc_init() local
826 ipc = devm_kzalloc(sdev->dev, sizeof(*ipc), GFP_KERNEL); in snd_sof_ipc_init()
827 if (!ipc) in snd_sof_ipc_init()
830 mutex_init(&ipc->tx_mutex); in snd_sof_ipc_init()
831 ipc->sdev = sdev; in snd_sof_ipc_init()
832 msg = &ipc->msg; in snd_sof_ipc_init()
850 return ipc; in snd_sof_ipc_init()
856 struct snd_sof_ipc *ipc = sdev->ipc; in snd_sof_ipc_free() local
858 if (!ipc) in snd_sof_ipc_free()
862 mutex_lock(&ipc->tx_mutex); in snd_sof_ipc_free()
863 ipc->disable_ipc_tx = true; in snd_sof_ipc_free()
864 mutex_unlock(&ipc->tx_mutex); in snd_sof_ipc_free()