^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * vlock.h - simple voting lock implementation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Created by: Dave Martin, 2012-08-16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Copyright: (C) 2012-2013 Linaro Limited
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #ifndef __VLOCK_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define __VLOCK_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #include <asm/mcpm.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) /* Offsets and sizes are rounded to a word (4 bytes) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define VLOCK_OWNER_OFFSET 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define VLOCK_VOTING_OFFSET 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define VLOCK_VOTING_SIZE ((MAX_CPUS_PER_CLUSTER + 3) / 4 * 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define VLOCK_SIZE (VLOCK_VOTING_OFFSET + VLOCK_VOTING_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define VLOCK_OWNER_NONE 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #endif /* ! __VLOCK_H */