/linux-6.3-rc2/sound/soc/intel/common/ |
A D | sst-ipc.c | 58 ipc->ops.shim_dbg(ipc, "message timeout"); in tx_wait_done() 125 ipc->msg[i].tx.data = kzalloc(ipc->tx_data_max_size, GFP_KERNEL); in msg_empty_list_init() 129 ipc->msg[i].rx.data = kzalloc(ipc->rx_data_max_size, GFP_KERNEL); in msg_empty_list_init() 136 list_add(&ipc->msg[i].list, &ipc->empty_list); in msg_empty_list_init() 147 kfree(ipc->msg); in msg_empty_list_init() 160 while (!list_empty(&ipc->tx_list) && !ipc->pending) { in ipc_tx_msgs() 165 if (ipc->ops.is_dsp_busy && ipc->ops.is_dsp_busy(ipc->dsp)) { in ipc_tx_msgs() 174 ipc->ops.tx_msg(ipc, msg); in ipc_tx_msgs() 191 if (ipc->ops.check_dsp_lp_on(ipc->dsp, true)) in sst_ipc_tx_message_wait() 197 if (ipc->ops.check_dsp_lp_on(ipc->dsp, false)) in sst_ipc_tx_message_wait() [all …]
|
A D | sst-ipc.h | 68 int sst_ipc_tx_message_wait(struct sst_generic_ipc *ipc, 71 int sst_ipc_tx_message_nowait(struct sst_generic_ipc *ipc, 74 int sst_ipc_tx_message_nopm(struct sst_generic_ipc *ipc, 77 struct ipc_message *sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc, 80 void sst_ipc_tx_msg_reply_complete(struct sst_generic_ipc *ipc, 83 int sst_ipc_init(struct sst_generic_ipc *ipc); 84 void sst_ipc_fini(struct sst_generic_ipc *ipc);
|
/linux-6.3-rc2/drivers/net/wireless/quantenna/qtnfmac/ |
A D | shm_ipc.c | 35 ipc->rx_packet_count++; in qtnf_shm_handle_new_data() 36 ipc->rx_callback.fn(ipc->rx_callback.arg, in qtnf_shm_handle_new_data() 43 ipc->interrupt.fn(ipc->interrupt.arg); in qtnf_shm_handle_new_data() 62 queue_work(ipc->workqueue, &ipc->irq_work); in qtnf_shm_ipc_irq_inbound_handler() 95 ipc->tx_packet_count = 0; in qtnf_shm_ipc_init() 96 ipc->rx_packet_count = 0; in qtnf_shm_ipc_init() 98 ipc->waiting_for_ack = 0; in qtnf_shm_ipc_init() 99 ipc->tx_timeout_count = 0; in qtnf_shm_ipc_init() 133 ipc->tx_packet_count++; in qtnf_shm_ipc_send() 149 ipc->interrupt.fn(ipc->interrupt.arg); in qtnf_shm_ipc_send() [all …]
|
A D | shm_ipc.h | 44 void (*irq_handler)(struct qtnf_shm_ipc *ipc); 51 int qtnf_shm_ipc_init(struct qtnf_shm_ipc *ipc, 57 void qtnf_shm_ipc_free(struct qtnf_shm_ipc *ipc); 58 int qtnf_shm_ipc_send(struct qtnf_shm_ipc *ipc, const u8 *buf, size_t size); 60 static inline void qtnf_shm_ipc_irq_handler(struct qtnf_shm_ipc *ipc) in qtnf_shm_ipc_irq_handler() argument 62 ipc->irq_handler(ipc); in qtnf_shm_ipc_irq_handler()
|
/linux-6.3-rc2/sound/soc/intel/avs/ |
A D | ipc.c | 23 struct avs_ipc *ipc = adev->ipc; in avs_dsp_set_d0ix() local 62 struct avs_ipc *ipc = adev->ipc; in avs_dsp_wake_d0i0() local 74 struct avs_ipc *ipc = adev->ipc; in avs_dsp_disable_d0ix() local 87 struct avs_ipc *ipc = adev->ipc; in avs_dsp_enable_d0ix() local 160 struct avs_ipc *ipc = adev->ipc; in avs_dsp_exception_caught() local 185 struct avs_ipc *ipc = adev->ipc; in avs_dsp_receive_rx() local 202 trace_avs_msg_payload(ipc->rx.data, ipc->rx.size); in avs_dsp_receive_rx() 285 struct avs_ipc *ipc = adev->ipc; in avs_dsp_process_response() local 307 struct avs_ipc *ipc = adev->ipc; in avs_dsp_irq_handler() local 460 struct avs_ipc *ipc = adev->ipc; in avs_dsp_do_send_msg() local [all …]
|
/linux-6.3-rc2/drivers/accel/ivpu/ |
A D | ivpu_ipc.c | 65 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_mem_fini() local 75 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_tx_prepare() local 130 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_tx_release() local 144 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_consumer_add() local 161 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_consumer_del() local 183 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_send() local 210 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_receive() local 339 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_dispatch() local 365 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_irq_handler() local 430 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_init() local [all …]
|
/linux-6.3-rc2/sound/soc/intel/catpt/ |
A D | ipc.c | 18 ipc->dev = dev; in catpt_ipc_init() 19 ipc->ready = false; in catpt_ipc_init() 35 if (!ipc->rx.data) in catpt_ipc_arm() 39 ipc->ready = true; in catpt_ipc_arm() 69 struct catpt_ipc *ipc = &cdev->ipc; in catpt_wait_msg_completion() local 89 struct catpt_ipc *ipc = &cdev->ipc; in catpt_dsp_do_send_msg() local 93 if (!ipc->ready) in catpt_dsp_do_send_msg() 128 struct catpt_ipc *ipc = &cdev->ipc; in catpt_dsp_send_msg_timeout() local 185 struct catpt_ipc *ipc = &cdev->ipc; in catpt_dsp_copy_rx() local 192 trace_catpt_ipc_payload(ipc->rx.data, ipc->rx.size); in catpt_dsp_copy_rx() [all …]
|
/linux-6.3-rc2/sound/soc/sof/ |
A D | ipc.c | 39 struct snd_sof_ipc *ipc = sdev->ipc; in sof_ipc_send_msg() local 53 msg = &ipc->msg; in sof_ipc_send_msg() 82 return ipc->ops->tx_msg(ipc->sdev, msg_data, msg_bytes, reply_data, in sof_ipc_tx_message() 91 return ipc->ops->set_get_data(ipc->sdev, msg_data, msg_bytes, set); in sof_ipc_set_get_data() 153 ipc = devm_kzalloc(sdev->dev, sizeof(*ipc), GFP_KERNEL); in snd_sof_ipc_init() 154 if (!ipc) in snd_sof_ipc_init() 159 msg = &ipc->msg; in snd_sof_ipc_init() 214 ipc->ops = ops; in snd_sof_ipc_init() 216 return ipc; in snd_sof_ipc_init() 222 struct snd_sof_ipc *ipc = sdev->ipc; in snd_sof_ipc_free() local [all …]
|
A D | trace.c | 26 if (sdev->ipc->ops->fw_tracing->free) in sof_fw_trace_free() 27 sdev->ipc->ops->fw_tracing->free(sdev); in sof_fw_trace_free() 35 if (sdev->ipc->ops->fw_tracing->fw_crashed) in sof_fw_trace_fw_crashed() 36 sdev->ipc->ops->fw_tracing->fw_crashed(sdev); in sof_fw_trace_fw_crashed() 44 sdev->ipc->ops->fw_tracing->suspend(sdev, pm_state); in sof_fw_trace_suspend() 52 return sdev->ipc->ops->fw_tracing->resume(sdev); in sof_fw_trace_resume()
|
A D | ipc4.c | 289 struct snd_sof_ipc_msg *msg = &ipc->msg; in ipc4_wait_tx_done() 291 struct snd_sof_dev *sdev = ipc->sdev; in ipc4_wait_tx_done() 341 struct snd_sof_dev *sdev = ipc->sdev; in ipc4_tx_msg_unlocked() 344 if (msg_bytes > ipc->max_payload_size || reply_bytes > ipc->max_payload_size) in ipc4_tx_msg_unlocked() 358 return ipc4_wait_tx_done(ipc, reply_data); in ipc4_tx_msg_unlocked() 364 struct snd_sof_ipc *ipc = sdev->ipc; in sof_ipc4_tx_msg() local 385 mutex_lock(&ipc->tx_mutex); in sof_ipc4_tx_msg() 389 mutex_unlock(&ipc->tx_mutex); in sof_ipc4_tx_msg() 439 mutex_lock(&sdev->ipc->tx_mutex); in sof_ipc4_set_get_data() 514 mutex_unlock(&sdev->ipc->tx_mutex); in sof_ipc4_set_get_data() [all …]
|
A D | Makefile | 3 snd-sof-objs := core.o ops.o loader.o ipc.o pcm.o pm.o debug.o topology.o\ 4 control.o trace.o iomem-utils.o sof-audio.o stream-ipc.o 27 snd-sof-ipc-flood-test-objs := sof-client-ipc-flood-test.o 28 snd-sof-ipc-msg-injector-objs := sof-client-ipc-msg-injector.o 50 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST) += snd-sof-ipc-flood-test.o 51 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_MSG_INJECTOR) += snd-sof-ipc-msg-injector.o
|
/linux-6.3-rc2/sound/soc/intel/skylake/ |
A D | skl-sst-ipc.c | 348 struct skl_dev *skl = container_of(ipc, struct skl_dev, ipc); in skl_ipc_process_notification() 417 ipc->dsp->fw_ops.get_fw_errcode(ipc->dsp)); in skl_ipc_set_reply_error_code() 424 ipc->dsp->fw_ops.get_fw_errcode(ipc->dsp)); in skl_ipc_set_reply_error_code() 428 ipc->dsp->fw_ops.get_fw_errcode(ipc->dsp)); in skl_ipc_set_reply_error_code() 439 struct skl_dev *skl = container_of(ipc, struct skl_dev, ipc); in skl_ipc_process_reply() 493 struct sst_generic_ipc *ipc = &skl->ipc; in skl_dsp_irq_thread_handler() local 604 ipc = &skl->ipc; in skl_ipc_init() 605 ipc->dsp = skl->dsp; in skl_ipc_init() 606 ipc->dev = dev; in skl_ipc_init() 632 sst_ipc_fini(ipc); in skl_ipc_free() [all …]
|
A D | skl-sst-ipc.h | 110 int skl_ipc_create_pipeline(struct sst_generic_ipc *ipc, 118 int skl_ipc_save_pipeline(struct sst_generic_ipc *ipc, 123 int skl_ipc_init_instance(struct sst_generic_ipc *ipc, 126 int skl_ipc_bind_unbind(struct sst_generic_ipc *ipc, 129 int skl_ipc_load_modules(struct sst_generic_ipc *ipc, 132 int skl_ipc_unload_modules(struct sst_generic_ipc *ipc, 135 int skl_ipc_set_dx(struct sst_generic_ipc *ipc, 138 int skl_ipc_set_large_config(struct sst_generic_ipc *ipc, 148 int skl_ipc_set_d0ix(struct sst_generic_ipc *ipc, 159 void skl_ipc_free(struct sst_generic_ipc *ipc); [all …]
|
A D | skl-ssp-clk.c | 77 union skl_clk_ctrl_ipc *ipc; in skl_fill_clk_ipc() local 83 ipc = &rcfg->dma_ctl_ipc; in skl_fill_clk_ipc() 93 ipc->sclk_fs.valid_bit_depth = in skl_fill_clk_ipc() 113 union skl_clk_ctrl_ipc *ipc; in skl_send_clk_dma_control() local 121 ipc = &rcfg->dma_ctl_ipc; in skl_send_clk_dma_control() 126 ipc->sclk_fs.hdr.type = in skl_send_clk_dma_control() 128 data = (u8 *)&ipc->sclk_fs; in skl_send_clk_dma_control() 133 ipc->mclk.mclk = 0; in skl_send_clk_dma_control() 135 ipc->mclk.mclk = 1; in skl_send_clk_dma_control() 137 ipc->mclk.keep_running = enable; in skl_send_clk_dma_control() [all …]
|
A D | cnl-sst.c | 316 struct sst_generic_ipc *ipc = &cnl->ipc; in cnl_dsp_irq_thread_handler() local 356 skl_ipc_process_reply(ipc, header); in cnl_dsp_irq_thread_handler() 377 schedule_work(&ipc->kwork); in cnl_dsp_irq_thread_handler() 410 struct sst_generic_ipc *ipc; in cnl_ipc_init() local 413 ipc = &cnl->ipc; in cnl_ipc_init() 414 ipc->dsp = cnl->dsp; in cnl_ipc_init() 415 ipc->dev = dev; in cnl_ipc_init() 417 ipc->tx_data_max_size = CNL_ADSP_W1_SZ; in cnl_ipc_init() 420 err = sst_ipc_init(ipc); in cnl_ipc_init() 428 ipc->ops.tx_msg = cnl_ipc_tx_msg; in cnl_ipc_init() [all …]
|
/linux-6.3-rc2/include/linux/firmware/imx/ |
A D | dsp.h | 18 struct imx_dsp_ipc *ipc; member 26 void (*handle_reply)(struct imx_dsp_ipc *ipc); 27 void (*handle_request)(struct imx_dsp_ipc *ipc); 40 if (!ipc) in imx_dsp_set_data() 43 ipc->private_data = data; in imx_dsp_set_data() 46 static inline void *imx_dsp_get_data(struct imx_dsp_ipc *ipc) in imx_dsp_get_data() argument 48 if (!ipc) in imx_dsp_get_data() 51 return ipc->private_data; in imx_dsp_get_data() 59 void imx_dsp_free_channel(struct imx_dsp_ipc *ipc, int idx); 63 static inline int imx_dsp_ring_doorbell(struct imx_dsp_ipc *ipc, in imx_dsp_ring_doorbell() argument [all …]
|
/linux-6.3-rc2/include/linux/firmware/mediatek/ |
A D | mtk-adsp-ipc.h | 28 void (*handle_reply)(struct mtk_adsp_ipc *ipc); 29 void (*handle_request)(struct mtk_adsp_ipc *ipc); 33 struct mtk_adsp_ipc *ipc; member 47 static inline void mtk_adsp_ipc_set_data(struct mtk_adsp_ipc *ipc, void *data) in mtk_adsp_ipc_set_data() argument 49 if (!ipc) in mtk_adsp_ipc_set_data() 52 ipc->private_data = data; in mtk_adsp_ipc_set_data() 55 static inline void *mtk_adsp_ipc_get_data(struct mtk_adsp_ipc *ipc) in mtk_adsp_ipc_get_data() argument 57 if (!ipc) in mtk_adsp_ipc_get_data() 60 return ipc->private_data; in mtk_adsp_ipc_get_data() 63 int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op);
|
/linux-6.3-rc2/net/qrtr/ |
A D | af_qrtr.c | 522 if (!ipc) in qrtr_endpoint_post() 667 if (ipc) in qrtr_port_lookup() 671 return ipc; in qrtr_port_lookup() 677 sock_put(&ipc->sk); in qrtr_port_put() 847 if (!ipc || &ipc->sk == skb->sk) { /* do not send to self */ in qrtr_local_enqueue() 848 if (ipc) in qrtr_local_enqueue() 1100 ipc->peer = *addr; in qrtr_connect() 1125 qaddr = ipc->us; in qrtr_getname() 1169 *sq = ipc->us; in qrtr_ioctl() 1206 ipc = qrtr_sk(sk); in qrtr_release() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/i915/selftests/ |
A D | i915_sw_fence.c | 514 struct task_ipc *ipc = container_of(work, typeof(*ipc), work); in task_ipc() local 516 complete(&ipc->started); in task_ipc() 525 struct task_ipc ipc; in test_ipc() local 529 ipc.in = alloc_fence(); in test_ipc() 530 if (!ipc.in) in test_ipc() 532 ipc.out = alloc_fence(); in test_ipc() 533 if (!ipc.out) { in test_ipc() 541 ipc.value = 0; in test_ipc() 561 flush_work(&ipc.work); in test_ipc() 563 free_fence(ipc.out); in test_ipc() [all …]
|
/linux-6.3-rc2/include/linux/firmware/imx/svc/ |
A D | misc.h | 50 int imx_sc_misc_set_control(struct imx_sc_ipc *ipc, u32 resource, 53 int imx_sc_misc_get_control(struct imx_sc_ipc *ipc, u32 resource, 56 int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource, 59 static inline int imx_sc_misc_set_control(struct imx_sc_ipc *ipc, in imx_sc_misc_set_control() argument 65 static inline int imx_sc_misc_get_control(struct imx_sc_ipc *ipc, in imx_sc_misc_get_control() argument 71 static inline int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource, in imx_sc_pm_cpu_start() argument
|
/linux-6.3-rc2/tools/perf/tests/shell/ |
A D | stat+shadow_stat.sh | 17 while read num evt hash ipc rest 37 if [ "$ipc" != "$res" ]; then 38 echo "IPC is different: $res != $ipc ($num / $cyc)" 48 while read cpu num evt hash ipc rest 71 if [ "$ipc" != "$res" ]; then 72 echo "IPC is different for $cpu: $res != $ipc ($num / $cyc)"
|
/linux-6.3-rc2/drivers/hid/intel-ish-hid/ |
A D | Makefile | 15 obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-ipc.o 16 intel-ish-ipc-objs := ipc/ipc.o 17 intel-ish-ipc-objs += ipc/pci-ish.o
|
/linux-6.3-rc2/drivers/firmware/ |
A D | mtk-adsp-ipc.c | 27 int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t msg) in mtk_adsp_ipc_send() argument 35 adsp_chan = &ipc->chans[idx]; in mtk_adsp_ipc_send() 60 chan->ipc->ops->handle_reply(chan->ipc); in mtk_adsp_ipc_recv() 63 chan->ipc->ops->handle_request(chan->ipc); in mtk_adsp_ipc_recv() 95 adsp_chan->ipc = adsp_ipc; in mtk_adsp_ipc_probe()
|
/linux-6.3-rc2/drivers/firmware/imx/ |
A D | imx-dsp.c | 25 int imx_dsp_ring_doorbell(struct imx_dsp_ipc *ipc, unsigned int idx) in imx_dsp_ring_doorbell() argument 33 dsp_chan = &ipc->chans[idx]; in imx_dsp_ring_doorbell() 56 chan->ipc->ops->handle_reply(chan->ipc); in imx_dsp_handle_rx() 58 chan->ipc->ops->handle_request(chan->ipc); in imx_dsp_handle_rx() 59 imx_dsp_ring_doorbell(chan->ipc, 1); in imx_dsp_handle_rx() 114 dsp_chan->ipc = dsp_ipc; in imx_dsp_setup_channels()
|
A D | misc.c | 51 int imx_sc_misc_set_control(struct imx_sc_ipc *ipc, u32 resource, in imx_sc_misc_set_control() argument 66 return imx_scu_call_rpc(ipc, &msg, true); in imx_sc_misc_set_control() 81 int imx_sc_misc_get_control(struct imx_sc_ipc *ipc, u32 resource, in imx_sc_misc_get_control() argument 97 ret = imx_scu_call_rpc(ipc, &msg, true); in imx_sc_misc_get_control() 119 int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource, in imx_sc_pm_cpu_start() argument 135 return imx_scu_call_rpc(ipc, &msg, true); in imx_sc_pm_cpu_start()
|