Lines Matching refs:cpu_id

126 static esp_err_t esp_ipc_call_and_wait(uint32_t cpu_id, esp_ipc_func_t func, void* arg, esp_ipc_wai…  in esp_ipc_call_and_wait()  argument
128 if (cpu_id >= portNUM_PROCESSORS) { in esp_ipc_call_and_wait()
131 if (s_ipc_task_handle[cpu_id] == NULL) { in esp_ipc_call_and_wait()
141 UBaseType_t priority_of_running_ipc_task = uxTaskPriorityGet(s_ipc_task_handle[cpu_id]); in esp_ipc_call_and_wait()
143 vTaskPrioritySet(s_ipc_task_handle[cpu_id], priority_of_current_task); in esp_ipc_call_and_wait()
146 xSemaphoreTake(s_ipc_mutex[cpu_id], portMAX_DELAY); in esp_ipc_call_and_wait()
147 vTaskPrioritySet(s_ipc_task_handle[cpu_id], priority_of_current_task); in esp_ipc_call_and_wait()
152 s_func_arg[cpu_id] = arg; in esp_ipc_call_and_wait()
153 s_wait_for[cpu_id] = wait_for; in esp_ipc_call_and_wait()
155 s_func[cpu_id] = func; in esp_ipc_call_and_wait()
156 xTaskNotifyGive(s_ipc_task_handle[cpu_id]); in esp_ipc_call_and_wait()
157 xSemaphoreTake(s_ipc_ack[cpu_id], portMAX_DELAY); in esp_ipc_call_and_wait()
160 xSemaphoreGive(s_ipc_mutex[cpu_id]); in esp_ipc_call_and_wait()
167 esp_err_t esp_ipc_call(uint32_t cpu_id, esp_ipc_func_t func, void* arg) in esp_ipc_call() argument
169 return esp_ipc_call_and_wait(cpu_id, func, arg, IPC_WAIT_FOR_START); in esp_ipc_call()
172 esp_err_t esp_ipc_call_blocking(uint32_t cpu_id, esp_ipc_func_t func, void* arg) in esp_ipc_call_blocking() argument
174 return esp_ipc_call_and_wait(cpu_id, func, arg, IPC_WAIT_FOR_END); in esp_ipc_call_blocking()
177 esp_err_t esp_ipc_call_nonblocking(uint32_t cpu_id, esp_ipc_func_t func, void* arg) in esp_ipc_call_nonblocking() argument
179 if (cpu_id >= portNUM_PROCESSORS || s_ipc_task_handle[cpu_id] == NULL) { in esp_ipc_call_nonblocking()
182 if (cpu_id == xPortGetCoreID() && xTaskGetSchedulerState() != taskSCHEDULER_RUNNING) { in esp_ipc_call_nonblocking()
187 if (esp_cpu_compare_and_set((volatile uint32_t *)&s_no_block_func[cpu_id], 0, (uint32_t)func)) { in esp_ipc_call_nonblocking()
188 s_no_block_func_arg[cpu_id] = arg; in esp_ipc_call_nonblocking()
189 s_no_block_func_and_arg_are_ready[cpu_id] = true; in esp_ipc_call_nonblocking()
192 vTaskNotifyGiveFromISR(s_ipc_task_handle[cpu_id], NULL); in esp_ipc_call_nonblocking()
195 vTaskPrioritySet(s_ipc_task_handle[cpu_id], IPC_MAX_PRIORITY); in esp_ipc_call_nonblocking()
197 xTaskNotifyGive(s_ipc_task_handle[cpu_id]); in esp_ipc_call_nonblocking()