ipc_poll_lock_stat() is only used within OpenOCD.
 
Symbols
loading...
Files
loading...

ipc_poll_lock_stat() function

Waits for expected IPC lock status. PSoC6 uses IPC structures for inter-core communication. Same IPCs are used to invoke SROM API. IPC structure must be locked prior to invoking any SROM API. This ensures nothing else in the system will use same IPC thus corrupting our data. Locking is performed by ipc_acquire(), this function ensures that IPC is actually in expected state

Syntax

static int ipc_poll_lock_stat(struct target *target,     uint32_t ipc_id,     bool lock_expected);

Arguments

target

current target

ipc_id

IPC index to poll. IPC #2 is dedicated for DAP access

lock_expected

expected lock status

Return value

ERROR_OK in case of success, ERROR_XXX code otherwise

References

LocationReferrerText
psoc6.c:222
static int ipc_poll_lock_stat(struct target *target, uint32_t ipc_id, bool lock_expected)
psoc6.c:296ipc_acquire()
hr = ipc_poll_lock_stat(target, ipc_id, true);
psoc6.c:347call_sromapi()
hr = ipc_poll_lock_stat(target, IPC_ID, false);

Call Tree

Functions calling ipc_poll_lock_stat()
Functions called by ipc_poll_lock_stat()
all items filtered out
ipc_poll_lock_stat()
Data read by ipc_poll_lock_stat()
Data written by ipc_poll_lock_stat()
ipc_poll_lock_stat()::hr
ipc_poll_lock_stat()::reg_val
ipc_poll_lock_stat()::armv7m
ipc_poll_lock_stat()::is_cm0
ipc_poll_lock_stat()::is_locked
all items filtered out
ipc_poll_lock_stat()
ipc_poll_lock_stat()::hr
all items filtered out
Type of ipc_poll_lock_stat()
ipc_poll_lock_stat()
uint32_t
all items filtered out