Home
last modified time | relevance | path

Searched refs:lock (Results 1 – 16 of 16) sorted by relevance

/hal_rpi_pico-latest/src/rp2_common/hardware_sync_spin_lock/include/hardware/sync/
Dspin_lock.h102 #define SW_SPIN_LOCK_NUM(lock) ({ \ argument
104 (lock) - _sw_spin_locks; \
109 #define SW_SPIN_LOCK_IS_LOCKED(lock) ((bool) *(lock)) argument
114 #define SW_SPIN_LOCK_LOCK(lock) ({ \ argument
128 : "=&r" (_tmp0), "=&r" (_tmp1) : "r" (lock) \
133 #define SW_SPIN_LOCK_LOCK(lock) ({ \ argument
147 : "+r" (lock), "=r" (_tmp0), "=r" (_tmp1) \
158 #define SW_SPIN_TRY_LOCK(lock) ({ \ argument
169 : "=&r" (_tmp0), "=&r" (_tmp1) : "r" (lock) \
175 #define SW_SPIN_TRY_LOCK(lock) ({ \ argument
[all …]
/hal_rpi_pico-latest/src/rp2_common/hardware_boot_lock/include/hardware/
Dboot_lock.h43 __force_inline static uint boot_lock_get_num(boot_lock_t *lock) { in boot_lock_get_num() argument
44 invalid_params_if(HARDWARE_BOOT_LOCK, (uint) lock < BOOTRAM_BASE + BOOTRAM_BOOTLOCK0_OFFSET || in boot_lock_get_num()
45 … (uint) lock >= NUM_BOOT_LOCKS * sizeof(boot_lock_t) + BOOTRAM_BASE + BOOTRAM_BOOTLOCK0_OFFSET || in boot_lock_get_num()
46 … ((uint) lock - BOOTRAM_BASE + BOOTRAM_BOOTLOCK0_OFFSET) % sizeof(boot_lock_t) != 0); in boot_lock_get_num()
47 return (uint) (lock - (boot_lock_t *) (BOOTRAM_BASE + BOOTRAM_BOOTLOCK0_OFFSET)); in boot_lock_get_num()
55 __force_inline static void boot_lock_unsafe_blocking(boot_lock_t *lock) { in boot_lock_unsafe_blocking() argument
59 while (__builtin_expect(!*lock, 0)) { // read from bootlock register (tries to acquire the lock) in boot_lock_unsafe_blocking()
70 __force_inline static bool boot_try_lock_unsafe(boot_lock_t *lock) { in boot_try_lock_unsafe() argument
71 if (*lock) { in boot_try_lock_unsafe()
83 __force_inline static void boot_unlock_unsafe(boot_lock_t *lock) { in boot_unlock_unsafe() argument
[all …]
/hal_rpi_pico-latest/src/host/hardware_sync/
Dsync_core0_only.c44 uint PICO_WEAK_FUNCTION_IMPL_NAME(spin_lock_get_num)(spin_lock_t *lock) { in PICO_WEAK_FUNCTION_DEF()
45 return lock - _spinlocks; in PICO_WEAK_FUNCTION_DEF()
51 spin_lock_t *lock = spin_lock_instance(lock_num); in PICO_WEAK_FUNCTION_DEF() local
52 spin_unlock_unsafe(lock); in PICO_WEAK_FUNCTION_DEF()
53 return lock; in PICO_WEAK_FUNCTION_DEF()
58 void PICO_WEAK_FUNCTION_IMPL_NAME(spin_lock_unsafe_blocking)(spin_lock_t *lock) { in PICO_WEAK_FUNCTION_DEF()
59 lock->locked = true; in PICO_WEAK_FUNCTION_DEF()
64 uint32_t PICO_WEAK_FUNCTION_IMPL_NAME(spin_lock_blocking)(spin_lock_t *lock) { in PICO_WEAK_FUNCTION_DEF()
65 spin_lock_unsafe_blocking(lock); in PICO_WEAK_FUNCTION_DEF()
71 bool PICO_WEAK_FUNCTION_IMPL_NAME(is_spin_locked)(const spin_lock_t *lock) { in PICO_WEAK_FUNCTION_DEF()
[all …]
/hal_rpi_pico-latest/src/common/pico_sync/include/pico/
Dlock_core.h128 #define lock_internal_spin_unlock_with_wait(lock, save) spin_unlock((lock)->spin_lock, save), __wfe… argument
151 #define lock_internal_spin_unlock_with_notify(lock, save) spin_unlock((lock)->spin_lock, save), __s… argument
177 #define lock_internal_spin_unlock_with_best_effort_wait_or_timeout(lock, save, until) ({ \ argument
178 spin_unlock((lock)->spin_lock, save); \
/hal_rpi_pico-latest/src/host/hardware_sync/include/hardware/
Dsync.h124 uint spin_lock_get_num(spin_lock_t *lock);
128 void spin_lock_unsafe_blocking(spin_lock_t *lock);
130 void spin_unlock_unsafe(spin_lock_t *lock);
132 uint32_t spin_lock_blocking(spin_lock_t *lock);
134 bool is_spin_locked(const spin_lock_t *lock);
136 void spin_unlock(spin_lock_t *lock, uint32_t saved_irq);
149 uint spin_lock_num(spin_lock_t *lock);
/hal_rpi_pico-latest/src/rp2_common/hardware_timer/
Dtimer.c160 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_TIMER); in hardware_alarm_irq_handler() local
161 uint32_t save = spin_lock_blocking(lock); in hardware_alarm_irq_handler()
182 spin_unlock(lock, save); in hardware_alarm_irq_handler()
199 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_TIMER); in timer_hardware_alarm_set_callback() local
200 uint32_t save = spin_lock_blocking(lock); in timer_hardware_alarm_set_callback()
208 spin_unlock(lock, save); in timer_hardware_alarm_set_callback()
226 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_TIMER); in timer_hardware_alarm_set_target() local
227 uint32_t save = spin_lock_blocking(lock); in timer_hardware_alarm_set_target()
259 spin_unlock(lock, save); in timer_hardware_alarm_set_target()
272 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_TIMER); in timer_hardware_alarm_cancel() local
[all …]
/hal_rpi_pico-latest/src/rp2_common/pico_rand/
Drand.c132 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_RAND); in capture_additional_trng_samples() local
133 uint32_t save = spin_lock_blocking(lock); in capture_additional_trng_samples()
170 spin_unlock(lock, save); in capture_additional_trng_samples()
207 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_RAND); in capture_additional_rosc_samples() local
208 uint32_t save = spin_lock_blocking(lock); in capture_additional_rosc_samples()
222 spin_unlock(lock, save); in capture_additional_rosc_samples()
294 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_RAND); in initialise_rand() local
295 uint32_t save = spin_lock_blocking(lock); in initialise_rand()
317 spin_unlock(lock, save); in initialise_rand()
357 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_RAND); in get_rand_64() local
[all …]
/hal_rpi_pico-latest/src/rp2_common/hardware_boot_lock/
Dboot_lock.c19 boot_lock_t *lock = boot_lock_instance(lock_num); in boot_lock_init() local
20 boot_unlock_unsafe(lock); in boot_lock_init()
21 return lock; in boot_lock_init()
/hal_rpi_pico-latest/src/rp2_common/hardware_sync_spin_lock/
Dsync_spin_lock.c16 spin_lock_t *lock = spin_lock_instance(lock_num); in spin_lock_init() local
17 spin_unlock_unsafe(lock); in spin_lock_init()
18 return lock; in spin_lock_init()
/hal_rpi_pico-latest/test/hardware_sync_spin_lock_test/
Dhardware_sync_spin_lock_test.c83 spin_lock_t *lock = spin_lock_instance(lock_index); in counter_test_per_core() local
84 uint32_t flags = spin_lock_blocking(lock); in counter_test_per_core()
86 spin_unlock(lock, flags); in counter_test_per_core()
102 spin_lock_t *lock = spin_lock_instance(lock_index); in counter_try_test_per_core() local
104 while (!spin_try_lock_unsafe(lock)) in counter_try_test_per_core()
107 spin_unlock_unsafe(lock); in counter_try_test_per_core()
/hal_rpi_pico-latest/src/common/pico_time/
Dtime.c41 spin_lock_t *lock; member
54 return default_alarm_pool.lock != NULL; in default_alarm_pool_initialized()
208 uint32_t save = spin_lock_blocking(pool->lock); in alarm_pool_irq_handler()
211 spin_unlock(pool->lock, save); in alarm_pool_irq_handler()
217 uint32_t save = spin_lock_blocking(pool->lock); in alarm_pool_irq_handler()
222 spin_unlock(pool->lock, save); in alarm_pool_irq_handler()
283 pool->lock = spin_lock_instance(next_striped_spin_lock_num()); in alarm_pool_post_alloc_init()
324 uint32_t save = spin_lock_blocking(pool->lock); in alarm_pool_add_alarm_at_force_in_context()
331 spin_unlock(pool->lock, save); in alarm_pool_add_alarm_at_force_in_context()
344 save = spin_lock_blocking(pool->lock); in alarm_pool_add_alarm_at_force_in_context()
[all …]
/hal_rpi_pico-latest/src/rp2_common/hardware_irq/
Dirq.c222 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_IRQ); in irq_set_exclusive_handler() local
223 uint32_t save = spin_lock_blocking(lock); in irq_set_exclusive_handler()
235 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_IRQ); in irq_get_exclusive_handler() local
236 uint32_t save = spin_lock_blocking(lock); in irq_get_exclusive_handler()
238 spin_unlock(lock, save); in irq_get_exclusive_handler()
363 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_IRQ); in irq_add_shared_handler() local
364 uint32_t save = spin_lock_blocking(lock); in irq_add_shared_handler()
472 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_IRQ); in irq_remove_handler() local
473 uint32_t save = spin_lock_blocking(lock); in irq_remove_handler()
626 spin_lock_t *lock = spin_lock_instance(PICO_SPINLOCK_ID_IRQ); in irq_add_tail_to_free_list() local
[all …]
/hal_rpi_pico-latest/
D.gitignore12 MODULE.bazel.lock
/hal_rpi_pico-latest/src/rp2350/hardware_structs/include/hardware/structs/
Dglitch_detector.h51 io_rw_32 lock;
Daccessctrl.h33 io_rw_32 lock;
/hal_rpi_pico-latest/src/rp2_common/pico_bootrom/
DBUILD.bazel10 "include/pico/bootrom/lock.h",