Lines Matching refs:ipc
25 #include "../common/sst-ipc.h"
234 ret = skl_ipc_set_dx(&cnl->ipc, CNL_INSTANCE_ID,
261 ret = skl_ipc_set_dx(&cnl->ipc, CNL_INSTANCE_ID,
316 struct sst_generic_ipc *ipc = &cnl->ipc;
321 /* here we handle ipc interrupts only */
356 skl_ipc_process_reply(ipc, header);
359 skl_ipc_process_notification(ipc, header);
377 schedule_work(&ipc->kwork);
387 static void cnl_ipc_tx_msg(struct sst_generic_ipc *ipc, struct ipc_message *msg)
392 sst_dsp_outbox_write(ipc->dsp, msg->tx.data, msg->tx.size);
393 sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDD,
395 sst_dsp_shim_write_unlocked(ipc->dsp, CNL_ADSP_REG_HIPCIDR,
410 struct sst_generic_ipc *ipc;
413 ipc = &cnl->ipc;
414 ipc->dsp = cnl->dsp;
415 ipc->dev = dev;
417 ipc->tx_data_max_size = CNL_ADSP_W1_SZ;
418 ipc->rx_data_max_size = CNL_ADSP_W0_UP_SZ;
420 err = sst_ipc_init(ipc);
426 * ipc registers are different for cnl
428 ipc->ops.tx_msg = cnl_ipc_tx_msg;
429 ipc->ops.tx_data_copy = skl_ipc_tx_data_copy;
430 ipc->ops.is_dsp_busy = cnl_ipc_is_dsp_busy;
501 cnl_ipc_free(&skl->ipc);