Home
last modified time | relevance | path

Searched refs:ipc (Results 1 - 25 of 337) sorted by relevance

12345678910>>...14

/kernel/linux/linux-5.10/sound/soc/intel/common/
H A Dsst-ipc.c24 #include "sst-ipc.h"
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 in tx_wait_done()
78 ipc_tx_message(struct sst_generic_ipc *ipc, struct sst_ipc_message request, struct sst_ipc_message *reply, int wait) ipc_tx_message() argument
115 msg_empty_list_init(struct sst_generic_ipc *ipc) msg_empty_list_init() argument
154 struct sst_generic_ipc *ipc = ipc_tx_msgs() local
180 sst_ipc_tx_message_wait(struct sst_generic_ipc *ipc, struct sst_ipc_message request, struct sst_ipc_message *reply) sst_ipc_tx_message_wait() argument
204 sst_ipc_tx_message_nowait(struct sst_generic_ipc *ipc, struct sst_ipc_message request) sst_ipc_tx_message_nowait() argument
211 sst_ipc_tx_message_nopm(struct sst_generic_ipc *ipc, struct sst_ipc_message request, struct sst_ipc_message *reply) sst_ipc_tx_message_nopm() argument
218 sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc, u64 header) sst_ipc_reply_find_msg() argument
245 sst_ipc_tx_msg_reply_complete(struct sst_generic_ipc *ipc, struct ipc_message *msg) sst_ipc_tx_msg_reply_complete() argument
257 sst_ipc_init(struct sst_generic_ipc *ipc) sst_ipc_init() argument
275 sst_ipc_fini(struct sst_generic_ipc *ipc) sst_ipc_fini() argument
[all...]
/kernel/linux/linux-6.6/sound/soc/intel/common/
H A Dsst-ipc.c24 #include "sst-ipc.h"
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 in tx_wait_done()
78 ipc_tx_message(struct sst_generic_ipc *ipc, struct sst_ipc_message request, struct sst_ipc_message *reply, int wait) ipc_tx_message() argument
115 msg_empty_list_init(struct sst_generic_ipc *ipc) msg_empty_list_init() argument
154 struct sst_generic_ipc *ipc = ipc_tx_msgs() local
180 sst_ipc_tx_message_wait(struct sst_generic_ipc *ipc, struct sst_ipc_message request, struct sst_ipc_message *reply) sst_ipc_tx_message_wait() argument
204 sst_ipc_tx_message_nowait(struct sst_generic_ipc *ipc, struct sst_ipc_message request) sst_ipc_tx_message_nowait() argument
211 sst_ipc_tx_message_nopm(struct sst_generic_ipc *ipc, struct sst_ipc_message request, struct sst_ipc_message *reply) sst_ipc_tx_message_nopm() argument
218 sst_ipc_reply_find_msg(struct sst_generic_ipc *ipc, u64 header) sst_ipc_reply_find_msg() argument
245 sst_ipc_tx_msg_reply_complete(struct sst_generic_ipc *ipc, struct ipc_message *msg) sst_ipc_tx_msg_reply_complete() argument
257 sst_ipc_init(struct sst_generic_ipc *ipc) sst_ipc_init() argument
275 sst_ipc_fini(struct sst_generic_ipc *ipc) sst_ipc_fini() argument
[all...]
/kernel/linux/linux-6.6/sound/soc/intel/avs/
H A Dipc.c23 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 in avs_dsp_d0ix_work()
62 struct avs_ipc *ipc = adev->ipc; avs_dsp_wake_d0i0() local
74 struct avs_ipc *ipc = adev->ipc; avs_dsp_disable_d0ix() local
87 struct avs_ipc *ipc = adev->ipc; avs_dsp_enable_d0ix() local
153 struct avs_ipc *ipc = container_of(work, struct avs_ipc, recovery_work); avs_dsp_recovery_work() local
160 struct avs_ipc *ipc = adev->ipc; avs_dsp_exception_caught() local
185 struct avs_ipc *ipc = adev->ipc; avs_dsp_receive_rx() local
285 struct avs_ipc *ipc = adev->ipc; avs_dsp_process_response() local
307 struct avs_ipc *ipc = adev->ipc; avs_dsp_irq_handler() local
379 avs_ipc_is_busy(struct avs_ipc *ipc) avs_ipc_is_busy() argument
388 avs_ipc_wait_busy_completion(struct avs_ipc *ipc, int timeout) avs_ipc_wait_busy_completion() argument
429 avs_ipc_msg_init(struct avs_ipc *ipc, struct avs_ipc_msg *reply) avs_ipc_msg_init() argument
460 struct avs_ipc *ipc = adev->ipc; avs_dsp_do_send_msg() local
551 struct avs_ipc *ipc = adev->ipc; avs_dsp_do_send_rom_msg() local
603 avs_ipc_init(struct avs_ipc *ipc, struct device *dev) avs_ipc_init() argument
622 avs_ipc_block(struct avs_ipc *ipc) avs_ipc_block() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/wireless/quantenna/qtnfmac/
H A Dshm_ipc.c12 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 in qtnf_shm_handle_new_data()
48 struct qtnf_shm_ipc *ipc = container_of(work, struct qtnf_shm_ipc, qtnf_shm_ipc_irq_work() local
55 qtnf_shm_ipc_irq_inbound_handler(struct qtnf_shm_ipc *ipc) qtnf_shm_ipc_irq_inbound_handler() argument
65 qtnf_shm_ipc_irq_outbound_handler(struct qtnf_shm_ipc *ipc) qtnf_shm_ipc_irq_outbound_handler() argument
80 qtnf_shm_ipc_init(struct qtnf_shm_ipc *ipc, enum qtnf_shm_ipc_direction direction, struct qtnf_shm_ipc_region __iomem *shm_region, struct workqueue_struct *workqueue, const struct qtnf_shm_ipc_int *interrupt, const struct qtnf_shm_ipc_rx_callback *rx_callback) qtnf_shm_ipc_init() argument
118 qtnf_shm_ipc_free(struct qtnf_shm_ipc *ipc) qtnf_shm_ipc_free() argument
123 qtnf_shm_ipc_send(struct qtnf_shm_ipc *ipc, const u8 *buf, size_t size) qtnf_shm_ipc_send() argument
[all...]
H A Dshm_ipc.h44 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()
/kernel/linux/linux-6.6/drivers/net/wireless/quantenna/qtnfmac/
H A Dshm_ipc.c12 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 in qtnf_shm_handle_new_data()
48 struct qtnf_shm_ipc *ipc = container_of(work, struct qtnf_shm_ipc, qtnf_shm_ipc_irq_work() local
55 qtnf_shm_ipc_irq_inbound_handler(struct qtnf_shm_ipc *ipc) qtnf_shm_ipc_irq_inbound_handler() argument
65 qtnf_shm_ipc_irq_outbound_handler(struct qtnf_shm_ipc *ipc) qtnf_shm_ipc_irq_outbound_handler() argument
80 qtnf_shm_ipc_init(struct qtnf_shm_ipc *ipc, enum qtnf_shm_ipc_direction direction, struct qtnf_shm_ipc_region __iomem *shm_region, struct workqueue_struct *workqueue, const struct qtnf_shm_ipc_int *interrupt, const struct qtnf_shm_ipc_rx_callback *rx_callback) qtnf_shm_ipc_init() argument
118 qtnf_shm_ipc_free(struct qtnf_shm_ipc *ipc) qtnf_shm_ipc_free() argument
123 qtnf_shm_ipc_send(struct qtnf_shm_ipc *ipc, const u8 *buf, size_t size) qtnf_shm_ipc_send() argument
[all...]
H A Dshm_ipc.h44 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()
/kernel/linux/linux-6.6/drivers/accel/ivpu/
H A Divpu_ipc.c23 struct ivpu_ipc_hdr ipc; member
65 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_mem_fini() local
67 ivpu_bo_free_internal(ipc->mem_rx); in ivpu_ipc_mem_fini()
68 ivpu_bo_free_internal(ipc->mem_tx); in ivpu_ipc_mem_fini()
75 struct ivpu_ipc_info *ipc = vdev->ipc; in ivpu_ipc_tx_prepare() local
80 tx_buf_vpu_addr = gen_pool_alloc(ipc->mm_tx, sizeof(*tx_buf)); in ivpu_ipc_tx_prepare()
87 tx_buf = ivpu_to_cpu_addr(ipc->mem_tx, tx_buf_vpu_addr); in ivpu_ipc_tx_prepare()
89 gen_pool_free(ipc in ivpu_ipc_tx_prepare()
130 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_tx_release() local
144 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_consumer_add() local
161 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_consumer_del() local
183 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_send() local
208 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_receive() local
334 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_dispatch() local
360 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_irq_handler() local
425 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_init() local
471 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_enable() local
480 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_disable() local
496 struct ivpu_ipc_info *ipc = vdev->ipc; ivpu_ipc_reset() local
[all...]
/kernel/linux/linux-5.10/sound/soc/intel/catpt/
H A Dipc.c16 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 in catpt_ipc_arm()
44 catpt_ipc_msg_init(struct catpt_ipc *ipc, struct catpt_ipc_msg *reply) catpt_ipc_msg_init() argument
69 struct catpt_ipc *ipc = &cdev->ipc; catpt_wait_msg_completion() local
89 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_do_send_msg() local
128 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_send_msg_timeout() local
185 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_copy_rx() local
198 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_process_response() local
[all...]
/kernel/linux/linux-6.6/sound/soc/intel/catpt/
H A Dipc.c16 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 in catpt_ipc_arm()
44 catpt_ipc_msg_init(struct catpt_ipc *ipc, struct catpt_ipc_msg *reply) catpt_ipc_msg_init() argument
69 struct catpt_ipc *ipc = &cdev->ipc; catpt_wait_msg_completion() local
89 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_do_send_msg() local
128 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_send_msg_timeout() local
185 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_copy_rx() local
198 struct catpt_ipc *ipc = &cdev->ipc; catpt_dsp_process_response() local
[all...]
/kernel/linux/linux-6.6/sound/soc/sof/
H A Dipc.c33 * Note: higher level sdev->ipc->tx_mutex must be held to make sure that
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 in sof_ipc_tx_message()
88 sof_ipc_set_get_data(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes, bool set) sof_ipc_set_get_data() argument
100 sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes, void *reply_data, size_t reply_bytes) sof_ipc_tx_message_no_pm() argument
149 struct snd_sof_ipc *ipc; snd_sof_ipc_init() local
222 struct snd_sof_ipc *ipc = sdev->ipc; snd_sof_ipc_free() local
[all...]
H A DMakefile3 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
29 snd-sof-ipc-kernel-injector-objs := sof-client-ipc-kernel-injector.o
51 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST) += snd-sof-ipc-flood-test.o
52 obj-$(CONFIG_SND_SOC_SOF_DEBUG_IPC_MSG_INJECTOR) += snd-sof-ipc
[all...]
/kernel/linux/linux-5.10/sound/soc/intel/skylake/
H A Dskl-sst-ipc.c3 * skl-sst-ipc.c - Intel skl IPC Support
13 #include "skl-sst-ipc.h"
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 in skl_ipc_reply_get_msg()
345 skl_ipc_process_notification(struct sst_generic_ipc *ipc, struct skl_ipc_header header) skl_ipc_process_notification() argument
405 skl_ipc_set_reply_error_code(struct sst_generic_ipc *ipc, u32 reply) skl_ipc_set_reply_error_code() argument
433 skl_ipc_process_reply(struct sst_generic_ipc *ipc, struct skl_ipc_header header) skl_ipc_process_reply() argument
493 struct sst_generic_ipc *ipc = &skl->ipc; skl_dsp_irq_thread_handler() local
601 struct sst_generic_ipc *ipc; skl_ipc_init() local
622 skl_ipc_free(struct sst_generic_ipc *ipc) skl_ipc_free() argument
635 skl_ipc_create_pipeline(struct sst_generic_ipc *ipc, u16 ppl_mem_size, u8 ppl_type, u8 instance_id, u8 lp_mode) skl_ipc_create_pipeline() argument
663 skl_ipc_delete_pipeline(struct sst_generic_ipc *ipc, u8 instance_id) skl_ipc_delete_pipeline() argument
686 skl_ipc_set_pipeline_state(struct sst_generic_ipc *ipc, u8 instance_id, enum skl_ipc_pipeline_state state) skl_ipc_set_pipeline_state() argument
711 skl_ipc_save_pipeline(struct sst_generic_ipc *ipc, u8 instance_id, int dma_id) skl_ipc_save_pipeline() argument
736 skl_ipc_restore_pipeline(struct sst_generic_ipc *ipc, u8 instance_id) skl_ipc_restore_pipeline() argument
759 skl_ipc_set_dx(struct sst_generic_ipc *ipc, u8 instance_id, u16 module_id, struct skl_ipc_dxstate_info *dx) skl_ipc_set_dx() argument
788 skl_ipc_init_instance(struct sst_generic_ipc *ipc, struct skl_ipc_init_instance_msg *msg, void *param_data) skl_ipc_init_instance() argument
829 skl_ipc_bind_unbind(struct sst_generic_ipc *ipc, struct skl_ipc_bind_unbind_msg *msg) skl_ipc_bind_unbind() argument
867 skl_ipc_load_modules(struct sst_generic_ipc *ipc, u8 module_cnt, void *data) skl_ipc_load_modules() argument
891 skl_ipc_unload_modules(struct sst_generic_ipc *ipc, u8 module_cnt, void *data) skl_ipc_unload_modules() argument
915 skl_ipc_set_large_config(struct sst_generic_ipc *ipc, struct skl_ipc_large_config_msg *msg, u32 *param) skl_ipc_set_large_config() argument
971 skl_ipc_get_large_config(struct sst_generic_ipc *ipc, struct skl_ipc_large_config_msg *msg, u32 **payload, size_t *bytes) skl_ipc_get_large_config() argument
1017 skl_sst_ipc_load_library(struct sst_generic_ipc *ipc, u8 dma_id, u8 table_id, bool wait) skl_sst_ipc_load_library() argument
1043 skl_ipc_set_d0ix(struct sst_generic_ipc *ipc, struct skl_ipc_d0ix_msg *msg) skl_ipc_set_d0ix() argument
[all...]
H A Dskl-sst-ipc.h12 #include "../common/sst-ipc.h"
110 int skl_ipc_create_pipeline(struct sst_generic_ipc *ipc,
113 int skl_ipc_delete_pipeline(struct sst_generic_ipc *ipc, u8 instance_id);
115 int skl_ipc_set_pipeline_state(struct sst_generic_ipc *ipc,
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);
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,
[all...]
H A Dcnl-sst.c25 #include "../common/sst-ipc.h"
234 ret = skl_ipc_set_dx(&cnl->ipc, CNL_INSTANCE_ID, in cnl_set_dsp_D0()
261 ret = skl_ipc_set_dx(&cnl->ipc, CNL_INSTANCE_ID, in cnl_set_dsp_D3()
316 struct sst_generic_ipc *ipc = &cnl->ipc; in cnl_dsp_irq_thread_handler() local
321 /* here we handle ipc interrupts only */ in cnl_dsp_irq_thread_handler()
356 skl_ipc_process_reply(ipc, header); in cnl_dsp_irq_thread_handler()
359 skl_ipc_process_notification(ipc, header); in cnl_dsp_irq_thread_handler()
377 schedule_work(&ipc->kwork); in cnl_dsp_irq_thread_handler()
387 static void cnl_ipc_tx_msg(struct sst_generic_ipc *ipc, struc argument
410 struct sst_generic_ipc *ipc; cnl_ipc_init() local
[all...]
/kernel/linux/linux-6.6/sound/soc/intel/skylake/
H A Dskl-sst-ipc.c3 * skl-sst-ipc.c - Intel skl IPC Support
13 #include "skl-sst-ipc.h"
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 in skl_ipc_reply_get_msg()
345 skl_ipc_process_notification(struct sst_generic_ipc *ipc, struct skl_ipc_header header) skl_ipc_process_notification() argument
405 skl_ipc_set_reply_error_code(struct sst_generic_ipc *ipc, u32 reply) skl_ipc_set_reply_error_code() argument
433 skl_ipc_process_reply(struct sst_generic_ipc *ipc, struct skl_ipc_header header) skl_ipc_process_reply() argument
493 struct sst_generic_ipc *ipc = &skl->ipc; skl_dsp_irq_thread_handler() local
601 struct sst_generic_ipc *ipc; skl_ipc_init() local
622 skl_ipc_free(struct sst_generic_ipc *ipc) skl_ipc_free() argument
635 skl_ipc_create_pipeline(struct sst_generic_ipc *ipc, u16 ppl_mem_size, u8 ppl_type, u8 instance_id, u8 lp_mode) skl_ipc_create_pipeline() argument
663 skl_ipc_delete_pipeline(struct sst_generic_ipc *ipc, u8 instance_id) skl_ipc_delete_pipeline() argument
686 skl_ipc_set_pipeline_state(struct sst_generic_ipc *ipc, u8 instance_id, enum skl_ipc_pipeline_state state) skl_ipc_set_pipeline_state() argument
711 skl_ipc_save_pipeline(struct sst_generic_ipc *ipc, u8 instance_id, int dma_id) skl_ipc_save_pipeline() argument
736 skl_ipc_restore_pipeline(struct sst_generic_ipc *ipc, u8 instance_id) skl_ipc_restore_pipeline() argument
759 skl_ipc_set_dx(struct sst_generic_ipc *ipc, u8 instance_id, u16 module_id, struct skl_ipc_dxstate_info *dx) skl_ipc_set_dx() argument
788 skl_ipc_init_instance(struct sst_generic_ipc *ipc, struct skl_ipc_init_instance_msg *msg, void *param_data) skl_ipc_init_instance() argument
829 skl_ipc_bind_unbind(struct sst_generic_ipc *ipc, struct skl_ipc_bind_unbind_msg *msg) skl_ipc_bind_unbind() argument
867 skl_ipc_load_modules(struct sst_generic_ipc *ipc, u8 module_cnt, void *data) skl_ipc_load_modules() argument
891 skl_ipc_unload_modules(struct sst_generic_ipc *ipc, u8 module_cnt, void *data) skl_ipc_unload_modules() argument
915 skl_ipc_set_large_config(struct sst_generic_ipc *ipc, struct skl_ipc_large_config_msg *msg, u32 *param) skl_ipc_set_large_config() argument
971 skl_ipc_get_large_config(struct sst_generic_ipc *ipc, struct skl_ipc_large_config_msg *msg, u32 **payload, size_t *bytes) skl_ipc_get_large_config() argument
1017 skl_sst_ipc_load_library(struct sst_generic_ipc *ipc, u8 dma_id, u8 table_id, bool wait) skl_sst_ipc_load_library() argument
1043 skl_ipc_set_d0ix(struct sst_generic_ipc *ipc, struct skl_ipc_d0ix_msg *msg) skl_ipc_set_d0ix() argument
[all...]
H A Dskl-sst-ipc.h12 #include "../common/sst-ipc.h"
110 int skl_ipc_create_pipeline(struct sst_generic_ipc *ipc,
113 int skl_ipc_delete_pipeline(struct sst_generic_ipc *ipc, u8 instance_id);
115 int skl_ipc_set_pipeline_state(struct sst_generic_ipc *ipc,
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);
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,
[all...]
/kernel/linux/linux-6.6/include/linux/firmware/imx/
H A Ddsp.h18 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
63 imx_dsp_request_channel(struct imx_dsp_ipc *ipc, int idx) imx_dsp_request_channel() argument
68 imx_dsp_free_channel(struct imx_dsp_ipc *ipc, int idx) imx_dsp_free_channel() argument
[all...]
/kernel/linux/linux-5.10/include/linux/firmware/imx/
H A Ddsp.h18 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
[all...]
/kernel/linux/linux-5.10/net/qrtr/
H A Daf_qrtr.c159 static void qrtr_port_put(struct qrtr_sock *ipc);
432 struct qrtr_sock *ipc; in qrtr_endpoint_post() local
519 ipc = qrtr_port_lookup(cb->dst_port); in qrtr_endpoint_post()
520 if (!ipc) in qrtr_endpoint_post()
523 if (sock_queue_rcv_skb(&ipc->sk, skb)) { in qrtr_endpoint_post()
524 qrtr_port_put(ipc); in qrtr_endpoint_post()
528 qrtr_port_put(ipc); in qrtr_endpoint_post()
648 struct qrtr_sock *ipc; in qrtr_port_lookup() local
654 ipc = xa_load(&qrtr_ports, port); in qrtr_port_lookup()
655 if (ipc) in qrtr_port_lookup()
663 qrtr_port_put(struct qrtr_sock *ipc) qrtr_port_put() argument
669 qrtr_port_remove(struct qrtr_sock *ipc) qrtr_port_remove() argument
713 qrtr_port_assign(struct qrtr_sock *ipc, int *port) qrtr_port_assign() argument
741 struct qrtr_sock *ipc; qrtr_reset_ports() local
761 struct qrtr_sock *ipc = qrtr_sk(sock->sk); __qrtr_bind() local
809 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_bind() local
831 struct qrtr_sock *ipc; qrtr_local_enqueue() local
885 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_sendmsg() local
1071 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_connect() local
1101 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_getname() local
1128 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_ioctl() local
1188 struct qrtr_sock *ipc; qrtr_release() local
1244 struct qrtr_sock *ipc; qrtr_create() local
[all...]
/kernel/linux/linux-6.6/net/qrtr/
H A Daf_qrtr.c161 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()
684 qrtr_port_put(struct qrtr_sock *ipc) qrtr_port_put() argument
690 qrtr_port_remove(struct qrtr_sock *ipc) qrtr_port_remove() argument
734 qrtr_port_assign(struct qrtr_sock *ipc, int *port) qrtr_port_assign() argument
762 struct qrtr_sock *ipc; qrtr_reset_ports() local
782 struct qrtr_sock *ipc = qrtr_sk(sock->sk); __qrtr_bind() local
830 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_bind() local
852 struct qrtr_sock *ipc; qrtr_local_enqueue() local
906 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_sendmsg() local
1091 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_connect() local
1121 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_getname() local
1148 struct qrtr_sock *ipc = qrtr_sk(sock->sk); qrtr_ioctl() local
1208 struct qrtr_sock *ipc; qrtr_release() local
1263 struct qrtr_sock *ipc; qrtr_create() local
[all...]
/kernel/linux/linux-6.6/include/linux/firmware/mediatek/
H A Dmtk-adsp-ipc.h28 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);
/kernel/linux/linux-5.10/sound/soc/sof/
H A Dipc.c34 /* disables further sending of ipc's */
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()
218 dev_err(sdev->dev, "error: ipc timed out for 0x%x size %d\n", in tx_wait_done()
220 snd_sof_handle_fw_exception(ipc->sdev); in tx_wait_done()
225 dev_err(sdev->dev, "error: ipc error for 0x%x size %zu\n", in tx_wait_done()
228 ipc_log_header(sdev->dev, "ipc tx succeeded", hdr->cmd); 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 in sof_ipc_tx_message_unlocked()
295 sof_ipc_tx_message(struct snd_sof_ipc *ipc, u32 header, void *msg_data, size_t msg_bytes, void *reply_data, size_t reply_bytes) sof_ipc_tx_message() argument
321 sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, u32 header, void *msg_data, size_t msg_bytes, void *reply_data, size_t reply_bytes) sof_ipc_tx_message_no_pm() argument
823 struct snd_sof_ipc *ipc; snd_sof_ipc_init() local
856 struct snd_sof_ipc *ipc = sdev->ipc; snd_sof_ipc_free() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/selftests/
H A Di915_sw_fence.c514 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 in test_ipc()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/selftests/
H A Di915_sw_fence.c514 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 in test_ipc()
[all...]

Completed in 14 milliseconds

12345678910>>...14