xref: /rk3399_rockchip-uboot/arch/arm/cpu/armv8/uspinlock.c (revision 18cd75b9a6ae58947002f30148c74defc4db432d)
1*18cd75b9SJoseph Chen /*
2*18cd75b9SJoseph Chen  * (C) Copyright 2025 Rockchip Electronics Co., Ltd.
3*18cd75b9SJoseph Chen  *
4*18cd75b9SJoseph Chen  * SPDX-License-Identifier:     GPL-2.0+
5*18cd75b9SJoseph Chen  */
6*18cd75b9SJoseph Chen 
7*18cd75b9SJoseph Chen #include <common.h>
8*18cd75b9SJoseph Chen 
9*18cd75b9SJoseph Chen DECLARE_GLOBAL_DATA_PTR;
10*18cd75b9SJoseph Chen 
11*18cd75b9SJoseph Chen void __spin_lock(uspinlock_t *lock);
12*18cd75b9SJoseph Chen void __spin_unlock(uspinlock_t *lock);
13*18cd75b9SJoseph Chen 
u_spin_lock(uspinlock_t * lock)14*18cd75b9SJoseph Chen void u_spin_lock(uspinlock_t *lock)
15*18cd75b9SJoseph Chen {
16*18cd75b9SJoseph Chen 	if (!(gd->flags & GD_FLG_SMP))
17*18cd75b9SJoseph Chen 		return;
18*18cd75b9SJoseph Chen 
19*18cd75b9SJoseph Chen 	__spin_lock(lock);
20*18cd75b9SJoseph Chen }
21*18cd75b9SJoseph Chen 
u_spin_unlock(uspinlock_t * lock)22*18cd75b9SJoseph Chen void u_spin_unlock(uspinlock_t *lock)
23*18cd75b9SJoseph Chen {
24*18cd75b9SJoseph Chen 	if (!(gd->flags & GD_FLG_SMP))
25*18cd75b9SJoseph Chen 		return;
26*18cd75b9SJoseph Chen 
27*18cd75b9SJoseph Chen 	__spin_unlock(lock);
28*18cd75b9SJoseph Chen }
29*18cd75b9SJoseph Chen 
30