/linux-6.12.1/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 | 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.12.1/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-6.12.1/sound/soc/intel/avs/ |
D | ipc.c | 23 struct avs_ipc *ipc = adev->ipc; in avs_dsp_set_d0ix() local 27 if (ipc->in_d0ix == enable) in avs_dsp_set_d0ix() 34 atomic_inc(&ipc->d0ix_disable_depth); in avs_dsp_set_d0ix() 36 ipc->in_d0ix = false; in avs_dsp_set_d0ix() 40 ipc->in_d0ix = enable; in avs_dsp_set_d0ix() 46 if (atomic_read(&adev->ipc->d0ix_disable_depth)) in avs_dsp_schedule_d0ix() 49 mod_delayed_work(system_power_efficient_wq, &adev->ipc->d0ix_work, in avs_dsp_schedule_d0ix() 55 struct avs_ipc *ipc = container_of(work, struct avs_ipc, d0ix_work.work); in avs_dsp_d0ix_work() local 57 avs_dsp_set_d0ix(to_avs_dev(ipc->dev), true); in avs_dsp_d0ix_work() 62 struct avs_ipc *ipc = adev->ipc; in avs_dsp_wake_d0i0() local [all …]
|
/linux-6.12.1/drivers/accel/ivpu/ |
D | ivpu_ipc.c | 22 struct ivpu_ipc_hdr ipc; member 59 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_mem_fini() local 61 ivpu_bo_free(ipc->mem_rx); in ivpu_ipc_mem_fini() 62 ivpu_bo_free(ipc->mem_tx); in ivpu_ipc_mem_fini() 69 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_tx_prepare() local 74 tx_buf_vpu_addr = gen_pool_alloc(ipc->mm_tx, sizeof(*tx_buf)); in ivpu_ipc_tx_prepare() 81 tx_buf = ivpu_to_cpu_addr(ipc->mem_tx, tx_buf_vpu_addr); in ivpu_ipc_tx_prepare() 83 gen_pool_free(ipc->mm_tx, tx_buf_vpu_addr, sizeof(*tx_buf)); in ivpu_ipc_tx_prepare() 89 if (tx_buf->ipc.status != IVPU_IPC_HDR_FREE) in ivpu_ipc_tx_prepare() 98 tx_buf->ipc.data_addr = jsm_vpu_addr; in ivpu_ipc_tx_prepare() [all …]
|
/linux-6.12.1/sound/soc/intel/catpt/ |
D | ipc.c | 16 void catpt_ipc_init(struct catpt_ipc *ipc, struct device *dev) in catpt_ipc_init() argument 18 ipc->dev = dev; in catpt_ipc_init() 19 ipc->ready = false; in catpt_ipc_init() 20 ipc->default_timeout = CATPT_IPC_TIMEOUT_MS; in catpt_ipc_init() 21 init_completion(&ipc->done_completion); in catpt_ipc_init() 22 init_completion(&ipc->busy_completion); in catpt_ipc_init() 23 spin_lock_init(&ipc->lock); in catpt_ipc_init() 24 mutex_init(&ipc->mutex); in catpt_ipc_init() 27 static int catpt_ipc_arm(struct catpt_ipc *ipc, struct catpt_fw_ready *config) in catpt_ipc_arm() argument 34 ipc->rx.data = devm_kzalloc(ipc->dev, config->outbox_size, GFP_KERNEL); in catpt_ipc_arm() [all …]
|
/linux-6.12.1/sound/soc/sof/ |
D | ipc.c | 39 struct snd_sof_ipc *ipc = sdev->ipc; in sof_ipc_send_msg() local 43 if (ipc->disable_ipc_tx || sdev->fw_state != SOF_FW_BOOT_COMPLETE) in sof_ipc_send_msg() 53 msg = &ipc->msg; in sof_ipc_send_msg() 75 int sof_ipc_tx_message(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes, in sof_ipc_tx_message() argument 78 if (msg_bytes > ipc->max_payload_size || in sof_ipc_tx_message() 79 reply_bytes > ipc->max_payload_size) in sof_ipc_tx_message() 82 return ipc->ops->tx_msg(ipc->sdev, msg_data, msg_bytes, reply_data, in sof_ipc_tx_message() 88 int sof_ipc_set_get_data(struct snd_sof_ipc *ipc, void *msg_data, in sof_ipc_set_get_data() argument 91 return ipc->ops->set_get_data(ipc->sdev, msg_data, msg_bytes, set); in sof_ipc_set_get_data() 100 int sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes, in sof_ipc_tx_message_no_pm() argument [all …]
|
D | Makefile | 3 snd-sof-y := 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\ 28 snd-sof-ipc-flood-test-y := sof-client-ipc-flood-test.o 29 snd-sof-ipc-msg-injector-y := sof-client-ipc-msg-injector.o 30 snd-sof-ipc-kernel-injector-y := sof-client-ipc-kernel-injector.o 52 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST) += snd-sof-ipc-flood-test.o 53 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_MSG_INJECTOR) += snd-sof-ipc-msg-injector.o 54 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_KERNEL_INJECTOR) += snd-sof-ipc-kernel-injector.o
|
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()
|
D | ipc4.c | 294 static int ipc4_wait_tx_done(struct snd_sof_ipc *ipc, void *reply_data) in ipc4_wait_tx_done() argument 296 struct snd_sof_ipc_msg *msg = &ipc->msg; in ipc4_wait_tx_done() 298 struct snd_sof_dev *sdev = ipc->sdev; in ipc4_wait_tx_done() 307 snd_sof_handle_fw_exception(ipc->sdev, "IPC timeout"); in ipc4_wait_tx_done() 343 static int ipc4_tx_msg_unlocked(struct snd_sof_ipc *ipc, in ipc4_tx_msg_unlocked() argument 348 struct snd_sof_dev *sdev = ipc->sdev; in ipc4_tx_msg_unlocked() 351 if (msg_bytes > ipc->max_payload_size || reply_bytes > ipc->max_payload_size) in ipc4_tx_msg_unlocked() 365 return ipc4_wait_tx_done(ipc, reply_data); in ipc4_tx_msg_unlocked() 371 struct snd_sof_ipc *ipc = sdev->ipc; in sof_ipc4_tx_msg() local 389 mutex_lock(&ipc->tx_mutex); in sof_ipc4_tx_msg() [all …]
|
/linux-6.12.1/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 ipc->private_data = data; in imx_dsp_set_data() 43 static inline void *imx_dsp_get_data(struct imx_dsp_ipc *ipc) in imx_dsp_get_data() argument 45 return ipc->private_data; in imx_dsp_get_data() 52 struct mbox_chan *imx_dsp_request_channel(struct imx_dsp_ipc *ipc, int idx); 53 void imx_dsp_free_channel(struct imx_dsp_ipc *ipc, int idx); 57 static inline int imx_dsp_ring_doorbell(struct imx_dsp_ipc *ipc, in imx_dsp_ring_doorbell() argument [all …]
|
/linux-6.12.1/net/qrtr/ |
D | af_qrtr.c | 161 static void qrtr_port_put(struct qrtr_sock *ipc); 440 struct qrtr_sock *ipc; in qrtr_endpoint_post() local 530 ipc = qrtr_port_lookup(cb->dst_port); in qrtr_endpoint_post() 531 if (!ipc) in qrtr_endpoint_post() 534 if (sock_queue_rcv_skb(&ipc->sk, skb)) { in qrtr_endpoint_post() 535 qrtr_port_put(ipc); in qrtr_endpoint_post() 539 qrtr_port_put(ipc); in qrtr_endpoint_post() 669 struct qrtr_sock *ipc; in qrtr_port_lookup() local 675 ipc = xa_load(&qrtr_ports, port); in qrtr_port_lookup() 676 if (ipc) in qrtr_port_lookup() [all …]
|
/linux-6.12.1/include/linux/firmware/mediatek/ |
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 ipc->private_data = data; in mtk_adsp_ipc_set_data() 52 static inline void *mtk_adsp_ipc_get_data(struct mtk_adsp_ipc *ipc) in mtk_adsp_ipc_get_data() argument 54 return ipc->private_data; in mtk_adsp_ipc_get_data() 57 int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op);
|
/linux-6.12.1/drivers/media/pci/intel/ipu6/ |
D | ipu6-buttress.c | 63 struct ipu6_buttress_ipc *ipc) in ipu6_buttress_ipc_reset() argument 77 val = readl(isp->base + ipc->csr_in); in ipu6_buttress_ipc_reset() 78 writel(val, isp->base + ipc->csr_in); in ipu6_buttress_ipc_reset() 81 writel(ENTRY, isp->base + ipc->csr_out); in ipu6_buttress_ipc_reset() 96 val = readl(isp->base + ipc->csr_in); in ipu6_buttress_ipc_reset() 107 writel(ENTRY | EXIT, isp->base + ipc->csr_in); in ipu6_buttress_ipc_reset() 108 writel(QUERY, isp->base + ipc->csr_out); in ipu6_buttress_ipc_reset() 119 writel(ENTRY | QUERY, isp->base + ipc->csr_in); in ipu6_buttress_ipc_reset() 120 writel(ENTRY, isp->base + ipc->csr_out); in ipu6_buttress_ipc_reset() 137 writel(EXIT, isp->base + ipc->csr_in); in ipu6_buttress_ipc_reset() [all …]
|
/linux-6.12.1/tools/perf/tests/shell/ |
D | stat+shadow_stat.sh | 19 while read num evt _ ipc rest 39 if [ "$ipc" != "$res" ]; then 41 diff=`echo $ipc $res $THRESHOLD | \ 45 echo "IPC is different: $res != $ipc ($num / $cyc)" 58 while read cpu num evt _ ipc rest 81 if [ "$ipc" != "$res" ]; then 83 diff=`echo $ipc $res $THRESHOLD | \ 87 echo "IPC is different: $res != $ipc ($num / $cyc)"
|
/linux-6.12.1/drivers/leds/simple/ |
D | Makefile | 2 obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC) += simatic-ipc-leds.o 3 obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC_APOLLOLAKE) += simatic-ipc-leds-gpio-core.o simatic-ipc-leds-… 4 obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC_F7188X) += simatic-ipc-leds-gpio-core.o simatic-ipc-leds-gpi… 5 obj-$(CONFIG_LEDS_SIEMENS_SIMATIC_IPC_ELKHARTLAKE) += simatic-ipc-leds-gpio-core.o simatic-ipc-leds…
|
/linux-6.12.1/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 534 ipc.in = alloc_fence(); in test_ipc() 535 if (!ipc.in) { in test_ipc() 539 ipc.out = alloc_fence(); in test_ipc() 540 if (!ipc.out) { in test_ipc() [all …]
|
/linux-6.12.1/include/linux/firmware/imx/svc/ |
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.12.1/drivers/platform/x86/siemens/ |
D | Makefile | 7 obj-$(CONFIG_SIEMENS_SIMATIC_IPC) += simatic-ipc.o 8 obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT) += simatic-ipc-batt.o 9 obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_APOLLOLAKE) += simatic-ipc-batt-apollolake.o 10 obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_ELKHARTLAKE) += simatic-ipc-batt-elkhartlake.o 11 obj-$(CONFIG_SIEMENS_SIMATIC_IPC_BATT_F7188X) += simatic-ipc-batt-f7188x.o
|
/linux-6.12.1/drivers/hid/intel-ish-hid/ |
D | Makefile | 16 obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-ipc.o 17 intel-ish-ipc-objs := ipc/ipc.o 18 intel-ish-ipc-objs += ipc/pci-ish.o
|
/linux-6.12.1/drivers/firmware/ |
D | mtk-adsp-ipc.c | 26 int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t msg) in mtk_adsp_ipc_send() argument 34 adsp_chan = &ipc->chans[idx]; in mtk_adsp_ipc_send() 59 chan->ipc->ops->handle_reply(chan->ipc); in mtk_adsp_ipc_recv() 62 chan->ipc->ops->handle_request(chan->ipc); in mtk_adsp_ipc_recv() 94 adsp_chan->ipc = adsp_ipc; in mtk_adsp_ipc_probe()
|
/linux-6.12.1/drivers/firmware/imx/ |
D | imx-dsp.c | 24 int imx_dsp_ring_doorbell(struct imx_dsp_ipc *ipc, unsigned int idx) in imx_dsp_ring_doorbell() argument 32 dsp_chan = &ipc->chans[idx]; in imx_dsp_ring_doorbell() 55 chan->ipc->ops->handle_reply(chan->ipc); in imx_dsp_handle_rx() 57 chan->ipc->ops->handle_request(chan->ipc); in imx_dsp_handle_rx() 58 imx_dsp_ring_doorbell(chan->ipc, 1); in imx_dsp_handle_rx() 113 dsp_chan->ipc = dsp_ipc; in imx_dsp_setup_channels()
|
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-6.12.1/net/ipv4/ |
D | raw.c | 486 struct ipcm_cookie ipc; in raw_sendmsg() local 540 ipcm_init_sk(&ipc, inet); in raw_sendmsg() 543 ipc.protocol = IPPROTO_RAW; in raw_sendmsg() 546 err = ip_cmsg_send(sk, msg, &ipc, false); in raw_sendmsg() 548 kfree(ipc.opt); in raw_sendmsg() 551 if (ipc.opt) in raw_sendmsg() 555 saddr = ipc.addr; in raw_sendmsg() 556 ipc.addr = daddr; in raw_sendmsg() 558 if (!ipc.opt) { in raw_sendmsg() 566 ipc.opt = &opt_copy.opt; in raw_sendmsg() [all …]
|