Lines Matching +full:sof +full:- +full:synchronized

2  * SPDX-License-Identifier: Apache-2.0
19 * current SOF ipc3/4 layout, which means that:
21 * + Buffer addresses are 4k-aligned (this is a hardware requirement)
41 * whether this is required, and the SOF code that will be using this
42 * is externally synchronized already.
50 return -ENODEV; in send()
52 const struct mem_win_config *mw0_config = mw0->config; in send()
54 (void *)((uint32_t)mw0_config->mem_base in send()
58 return -EBUSY; in send()
62 return -EMSGSIZE; in send()
67 return -EINVAL; in send()
72 /* Protocol variant (used by SOF "ipc4"): store the first word in send()
78 size -= 4; in send()
88 * interrupt context, and it's not clear to me that SOF would in send()
92 if (ret == -EBUSY && wait) { in send()
106 struct ipm_cavs_host_data *devdata = ipmdev->data; in ipc_handler()
110 return -ENODEV; in ipc_handler()
112 const struct mem_win_config *mw1_config = mw1->config; in ipc_handler()
113 uint32_t *msg = sys_cache_uncached_ptr_get((void *)mw1_config->mem_base); in ipc_handler()
122 msg = &msg[-1]; in ipc_handler()
126 if (devdata->enabled && (devdata->callback != NULL)) { in ipc_handler()
127 devdata->callback(ipmdev, devdata->user_data, in ipc_handler()
142 /* 30 user-writable bits in cAVS IDR register */ in max_id_val_get()
150 struct ipm_cavs_host_data *data = port->data; in register_callback()
152 data->callback = cb; in register_callback()
153 data->user_data = user_data; in register_callback()
165 struct ipm_cavs_host_data *data = ipmdev->data; in set_enabled()
167 data->enabled = enable; in set_enabled()
178 struct ipm_cavs_host_data *data = dev->data; in init()
183 return -ENODEV; in init()
185 const struct mem_win_config *mw1_config = mw1->config; in init()
186 /* Initialize hardware SRAM window. SOF will give the host 8k in init()
191 sys_write32(ROUND_UP(MAX_MSG, 8) | 0x7, DMWLO(mw1_config->base_addr)); in init()
192 sys_write32((mw1_config->mem_base | ADSP_DMWBA_ENABLE), DMWBA(mw1_config->base_addr)); in init()
196 data->enabled = true; in init()