/Linux-v5.4/sound/soc/intel/common/ |
D | sst-ipc.c | 32 static struct ipc_message *msg_get_empty(struct sst_generic_ipc *ipc) in msg_get_empty() argument 36 if (!list_empty(&ipc->empty_list)) { in msg_get_empty() 37 msg = list_first_entry(&ipc->empty_list, struct ipc_message, in msg_get_empty() 45 static int tx_wait_done(struct sst_generic_ipc *ipc, in tx_wait_done() argument 55 spin_lock_irqsave(&ipc->dsp->spinlock, flags); in tx_wait_done() 57 if (ipc->ops.shim_dbg != NULL) in tx_wait_done() 58 ipc->ops.shim_dbg(ipc, "message timeout"); in tx_wait_done() 73 list_add_tail(&msg->list, &ipc->empty_list); in tx_wait_done() 74 spin_unlock_irqrestore(&ipc->dsp->spinlock, flags); in tx_wait_done() 78 static int ipc_tx_message(struct sst_generic_ipc *ipc, in ipc_tx_message() argument [all …]
|
D | sst-ipc.h | 70 int sst_ipc_tx_message_wait(struct sst_generic_ipc *ipc, 73 int sst_ipc_tx_message_nowait(struct sst_generic_ipc *ipc, 76 int sst_ipc_tx_message_nopm(struct sst_generic_ipc *ipc, 79 struct ipc_message *sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc, 82 void sst_ipc_tx_msg_reply_complete(struct sst_generic_ipc *ipc, 85 void sst_ipc_drop_all(struct sst_generic_ipc *ipc); 86 int sst_ipc_init(struct sst_generic_ipc *ipc); 87 void sst_ipc_fini(struct sst_generic_ipc *ipc);
|
/Linux-v5.4/drivers/net/wireless/quantenna/qtnfmac/ |
D | shm_ipc.c | 12 static bool qtnf_shm_ipc_has_new_data(struct qtnf_shm_ipc *ipc) in qtnf_shm_ipc_has_new_data() argument 14 const u32 flags = readl(&ipc->shm_region->headroom.hdr.flags); in qtnf_shm_ipc_has_new_data() 19 static void qtnf_shm_handle_new_data(struct qtnf_shm_ipc *ipc) in qtnf_shm_handle_new_data() argument 25 shm_reg_hdr = &ipc->shm_region->headroom.hdr; in qtnf_shm_handle_new_data() 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() 37 ipc->shm_region->data, size); in qtnf_shm_handle_new_data() 43 ipc->interrupt.fn(ipc->interrupt.arg); in qtnf_shm_handle_new_data() 48 struct qtnf_shm_ipc *ipc = container_of(work, struct qtnf_shm_ipc, in qtnf_shm_ipc_irq_work() local 51 while (qtnf_shm_ipc_has_new_data(ipc)) in qtnf_shm_ipc_irq_work() [all …]
|
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-v5.4/sound/soc/intel/skylake/ |
D | skl-sst-ipc.c | 296 static void skl_ipc_tx_msg(struct sst_generic_ipc *ipc, struct ipc_message *msg) in skl_ipc_tx_msg() argument 301 sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); in skl_ipc_tx_msg() 302 sst_dsp_shim_write_unlocked(ipc->dsp, SKL_ADSP_REG_HIPCIE, in skl_ipc_tx_msg() 304 sst_dsp_shim_write_unlocked(ipc->dsp, SKL_ADSP_REG_HIPCI, in skl_ipc_tx_msg() 325 static struct ipc_message *skl_ipc_reply_get_msg(struct sst_generic_ipc *ipc, in skl_ipc_reply_get_msg() argument 331 if (list_empty(&ipc->rx_list)) { in skl_ipc_reply_get_msg() 332 dev_err(ipc->dev, "ipc: rx list is empty but received 0x%x\n", in skl_ipc_reply_get_msg() 337 msg = list_first_entry(&ipc->rx_list, struct ipc_message, list); in skl_ipc_reply_get_msg() 345 int skl_ipc_process_notification(struct sst_generic_ipc *ipc, in skl_ipc_process_notification() argument 348 struct skl_dev *skl = container_of(ipc, struct skl_dev, ipc); in skl_ipc_process_notification() [all …]
|
D | skl-sst-ipc.h | 118 int skl_ipc_save_pipeline(struct sst_generic_ipc *ipc, 121 int skl_ipc_restore_pipeline(struct sst_generic_ipc *ipc, u8 instance_id); 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, 141 int skl_ipc_get_large_config(struct sst_generic_ipc *ipc, 145 int skl_sst_ipc_load_library(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 …]
|
D | cnl-sst.c | 212 ret = skl_ipc_set_dx(&cnl->ipc, CNL_INSTANCE_ID, in cnl_set_dsp_D0() 239 ret = skl_ipc_set_dx(&cnl->ipc, CNL_INSTANCE_ID, in cnl_set_dsp_D3() 296 struct sst_generic_ipc *ipc = &cnl->ipc; in cnl_dsp_irq_thread_handler() local 336 skl_ipc_process_reply(ipc, header); in cnl_dsp_irq_thread_handler() 339 skl_ipc_process_notification(ipc, header); in cnl_dsp_irq_thread_handler() 357 schedule_work(&ipc->kwork); in cnl_dsp_irq_thread_handler() 367 static void cnl_ipc_tx_msg(struct sst_generic_ipc *ipc, struct ipc_message *msg) in cnl_ipc_tx_msg() argument 372 sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size); in cnl_ipc_tx_msg() 373 sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDD, in cnl_ipc_tx_msg() 375 sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDR, in cnl_ipc_tx_msg() [all …]
|
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() 89 ipc->sclk_fs.hdr.size = sizeof(struct skl_dmactrl_sclkfs_cfg) - in skl_fill_clk_ipc() 91 ipc->sclk_fs.sampling_frequency = wfmt->samples_per_sec; in skl_fill_clk_ipc() 92 ipc->sclk_fs.bit_depth = wfmt->bits_per_sample; in skl_fill_clk_ipc() 93 ipc->sclk_fs.valid_bit_depth = in skl_fill_clk_ipc() 95 ipc->sclk_fs.number_of_channels = wfmt->channels; in skl_fill_clk_ipc() 97 ipc->mclk.hdr.type = DMA_CLK_CONTROLS; in skl_fill_clk_ipc() 99 ipc->mclk.hdr.size = sizeof(struct skl_dmactrl_mclk_cfg) - in skl_fill_clk_ipc() 113 union skl_clk_ctrl_ipc *ipc; in skl_send_clk_dma_control() local [all …]
|
/Linux-v5.4/include/linux/firmware/imx/ |
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); 38 static inline void imx_dsp_set_data(struct imx_dsp_ipc *ipc, void *data) in imx_dsp_set_data() argument 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() 60 static inline int imx_dsp_ring_doorbell(struct imx_dsp_ipc *ipc, in imx_dsp_ring_doorbell() argument
|
/Linux-v5.4/net/qrtr/ |
D | qrtr.c | 356 static void qrtr_port_put(struct qrtr_sock *ipc); 371 struct qrtr_sock *ipc; in qrtr_node_rx_work() local 384 ipc = qrtr_port_lookup(cb->dst_port); in qrtr_node_rx_work() 385 if (!ipc) { in qrtr_node_rx_work() 388 if (sock_queue_rcv_skb(&ipc->sk, skb)) in qrtr_node_rx_work() 391 qrtr_port_put(ipc); in qrtr_node_rx_work() 481 struct qrtr_sock *ipc; in qrtr_port_lookup() local 487 ipc = idr_find(&qrtr_ports, port); in qrtr_port_lookup() 488 if (ipc) in qrtr_port_lookup() 489 sock_hold(&ipc->sk); in qrtr_port_lookup() [all …]
|
/Linux-v5.4/sound/soc/sof/ |
D | ipc.c | 199 static int tx_wait_done(struct snd_sof_ipc *ipc, struct snd_sof_ipc_msg *msg, in tx_wait_done() argument 202 struct snd_sof_dev *sdev = ipc->sdev; in tx_wait_done() 213 snd_sof_dsp_dbg_dump(ipc->sdev, SOF_DBG_REGS | SOF_DBG_MBOX); in tx_wait_done() 214 snd_sof_ipc_dump(ipc->sdev); in tx_wait_done() 215 snd_sof_trace_notify_for_error(ipc->sdev); in tx_wait_done() 233 static int sof_ipc_tx_message_unlocked(struct snd_sof_ipc *ipc, u32 header, in sof_ipc_tx_message_unlocked() argument 237 struct snd_sof_dev *sdev = ipc->sdev; in sof_ipc_tx_message_unlocked() 241 if (ipc->disable_ipc_tx) in sof_ipc_tx_message_unlocked() 251 msg = &ipc->msg; in sof_ipc_tx_message_unlocked() 283 ret = tx_wait_done(ipc, msg, reply_data); in sof_ipc_tx_message_unlocked() [all …]
|
D | pm.c | 32 ret = snd_sof_ipc_set_get_comp_data(sdev->ipc, scontrol, in sof_restore_kcontrols() 40 ret = snd_sof_ipc_set_get_comp_data(sdev->ipc, scontrol, in sof_restore_kcontrols() 85 ret = sof_ipc_tx_message(sdev->ipc, in sof_restore_pipelines() 103 ret = sof_ipc_tx_message(sdev->ipc, hdr->cmd, in sof_restore_pipelines() 129 ret = sof_ipc_tx_message(sdev->ipc, in sof_restore_pipelines() 165 ret = sof_ipc_tx_message(sdev->ipc, in sof_restore_pipelines() 212 return sof_ipc_tx_message(sdev->ipc, pm_ctx.hdr.cmd, &pm_ctx, in sof_send_pm_ipc()
|
/Linux-v5.4/sound/soc/intel/baytrail/ |
D | sst-baytrail-ipc.c | 173 struct sst_generic_ipc ipc; member 239 msg = sst_ipc_reply_find_msg(&byt->ipc, header); in sst_byt_process_reply() 254 sst_ipc_tx_msg_reply_complete(&byt->ipc, msg); in sst_byt_process_reply() 300 struct sst_generic_ipc *ipc = &byt->ipc; in sst_byt_irq_thread() local 332 schedule_work(&ipc->kwork); in sst_byt_irq_thread() 422 ret = sst_ipc_tx_message_wait(&byt->ipc, request, &reply); in sst_byt_stream_commit() 445 ret = sst_ipc_tx_message_wait(&byt->ipc, request, NULL); in sst_byt_stream_free() 469 return sst_ipc_tx_message_wait(&byt->ipc, request, NULL); in sst_byt_stream_operations() 471 return sst_ipc_tx_message_nowait(&byt->ipc, request); in sst_byt_stream_operations() 489 ret = sst_ipc_tx_message_nowait(&byt->ipc, request); in sst_byt_stream_start() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/selftests/ |
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() 518 i915_sw_fence_wait(ipc->in); in task_ipc() 519 smp_store_mb(ipc->value, 1); in task_ipc() 520 i915_sw_fence_commit(ipc->out); 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() [all …]
|
/Linux-v5.4/drivers/hid/intel-ish-hid/ |
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-v5.4/drivers/firmware/imx/ |
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() 95 dsp_chan->ipc = dsp_ipc; in imx_dsp_probe()
|
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()
|
/Linux-v5.4/drivers/mailbox/ |
D | hi6220-mailbox.c | 76 void __iomem *ipc; member 144 writel(BIT(mchan->dst_irq), DST_INT_RAW_REG(mbox->ipc)); in hi6220_mbox_send_data() 156 state = readl(ACK_INT_STAT_REG(mbox->ipc)); in hi6220_mbox_interrupt() 186 writel(BIT(mchan->ack_irq), ACK_INT_CLR_REG(mbox->ipc)); in hi6220_mbox_interrupt() 201 writel(BIT(mchan->ack_irq), ACK_INT_ENA_REG(mbox->ipc)); in hi6220_mbox_startup() 211 writel(BIT(mchan->ack_irq), ACK_INT_DIS_REG(mbox->ipc)); in hi6220_mbox_shutdown() 291 mbox->ipc = devm_ioremap_resource(dev, res); in hi6220_mbox_probe() 292 if (IS_ERR(mbox->ipc)) { in hi6220_mbox_probe() 294 return PTR_ERR(mbox->ipc); in hi6220_mbox_probe() 327 writel(0x0, ACK_INT_MSK_REG(mbox->ipc)); in hi6220_mbox_probe() [all …]
|
/Linux-v5.4/net/ipv4/ |
D | raw.c | 502 struct ipcm_cookie ipc; in raw_sendmsg() local 560 ipcm_init_sk(&ipc, inet); in raw_sendmsg() 563 err = ip_cmsg_send(sk, msg, &ipc, false); in raw_sendmsg() 565 kfree(ipc.opt); in raw_sendmsg() 568 if (ipc.opt) in raw_sendmsg() 572 saddr = ipc.addr; in raw_sendmsg() 573 ipc.addr = daddr; in raw_sendmsg() 575 if (!ipc.opt) { in raw_sendmsg() 583 ipc.opt = &opt_copy.opt; in raw_sendmsg() 588 if (ipc.opt) { in raw_sendmsg() [all …]
|
D | ping.c | 699 struct ipcm_cookie ipc; in ping_v4_sendmsg() local 735 ipcm_init_sk(&ipc, inet); in ping_v4_sendmsg() 738 err = ip_cmsg_send(sk, msg, &ipc, false); in ping_v4_sendmsg() 740 kfree(ipc.opt); in ping_v4_sendmsg() 743 if (ipc.opt) in ping_v4_sendmsg() 746 if (!ipc.opt) { in ping_v4_sendmsg() 754 ipc.opt = &opt_copy.opt; in ping_v4_sendmsg() 759 saddr = ipc.addr; in ping_v4_sendmsg() 760 ipc.addr = faddr = daddr; in ping_v4_sendmsg() 762 if (ipc.opt && ipc.opt->opt.srr) { in ping_v4_sendmsg() [all …]
|
/Linux-v5.4/sound/soc/sof/intel/ |
D | Makefile | 6 snd-sof-intel-ipc-objs := intel-ipc.o 9 hda-dsp.o hda-ipc.o hda-ctrl.o hda-pcm.o \ 17 obj-$(CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC) += snd-sof-intel-ipc.o
|
/Linux-v5.4/ipc/ |
D | util.c | 757 struct kern_ipc_perm *ipc; in sysvipc_find_ipc() local 762 ipc = idr_find(&ids->ipcs_idr, id); in sysvipc_find_ipc() 763 if (ipc != NULL) in sysvipc_find_ipc() 771 ipc = idr_find(&ids->ipcs_idr, pos); in sysvipc_find_ipc() 772 if (ipc != NULL) { in sysvipc_find_ipc() 775 ipc_lock_object(ipc); in sysvipc_find_ipc() 776 return ipc; in sysvipc_find_ipc() 788 struct kern_ipc_perm *ipc = it; in sysvipc_proc_next() local 791 if (ipc && ipc != SEQ_START_TOKEN) in sysvipc_proc_next() 792 ipc_unlock(ipc); in sysvipc_proc_next() [all …]
|
/Linux-v5.4/sound/soc/intel/haswell/ |
D | sst-haswell-ipc.c | 306 struct sst_generic_ipc ipc; member 549 msg = sst_ipc_reply_find_msg(&hsw->ipc, header); in hsw_process_reply() 561 hsw->ipc.pending = true; in hsw_process_reply() 568 hsw->ipc.pending = false; in hsw_process_reply() 624 sst_ipc_tx_msg_reply_complete(&hsw->ipc, msg); in hsw_process_reply() 764 struct sst_generic_ipc *ipc = &hsw->ipc; in hsw_irq_thread() local 806 schedule_work(&ipc->kwork); in hsw_irq_thread() 820 ret = sst_ipc_tx_message_wait(&hsw->ipc, request, &reply); in sst_hsw_fw_get_version() 885 ret = sst_ipc_tx_message_wait(&hsw->ipc, request, NULL); in sst_hsw_stream_set_volume() 952 ret = sst_ipc_tx_message_wait(&hsw->ipc, request, NULL); in sst_hsw_mixer_set_volume() [all …]
|
/Linux-v5.4/arch/s390/kernel/ |
D | jump_label.c | 35 unsigned char *ipc = (unsigned char *)jump_entry_code(entry); in jump_label_bug() local 39 pr_emerg("Jump label code mismatch at %pS [%p]\n", ipc, ipc); in jump_label_bug() 40 pr_emerg("Found: %6ph\n", ipc); in jump_label_bug()
|
/Linux-v5.4/include/linux/firmware/imx/svc/ |
D | misc.h | 49 int imx_sc_misc_set_control(struct imx_sc_ipc *ipc, u32 resource, 52 int imx_sc_misc_get_control(struct imx_sc_ipc *ipc, u32 resource, 55 int imx_sc_pm_cpu_start(struct imx_sc_ipc *ipc, u32 resource,
|