mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
Tidy up global locks for ACPICA. There is no functional change.
This commit is contained in:
parent
9908a5a5e1
commit
3bd12ca8f1
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=254300
@ -59,9 +59,9 @@
|
||||
|
||||
#define ACPI_FLUSH_CPU_CACHE() wbinvd()
|
||||
|
||||
/* Section 5.2.9.1: global lock acquire/release functions */
|
||||
extern int acpi_acquire_global_lock(uint32_t *lock);
|
||||
extern int acpi_release_global_lock(uint32_t *lock);
|
||||
/* Section 5.2.10.1: global lock acquire/release functions */
|
||||
int acpi_acquire_global_lock(volatile uint32_t *);
|
||||
int acpi_release_global_lock(volatile uint32_t *);
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \
|
||||
(Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock)); \
|
||||
} while (0)
|
||||
|
@ -566,8 +566,6 @@ AcpiOsReleaseLock(ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags)
|
||||
}
|
||||
|
||||
/* Section 5.2.10.1: global lock acquire/release functions */
|
||||
#define GL_BIT_PENDING 0x01
|
||||
#define GL_BIT_OWNED 0x02
|
||||
|
||||
/*
|
||||
* Acquire the global lock. If busy, set the pending bit. The caller
|
||||
@ -575,18 +573,18 @@ AcpiOsReleaseLock(ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags)
|
||||
* and then attempt to acquire it again.
|
||||
*/
|
||||
int
|
||||
acpi_acquire_global_lock(uint32_t *lock)
|
||||
acpi_acquire_global_lock(volatile uint32_t *lock)
|
||||
{
|
||||
uint32_t new, old;
|
||||
|
||||
do {
|
||||
old = *lock;
|
||||
new = (old & ~GL_BIT_PENDING) | GL_BIT_OWNED;
|
||||
if ((old & GL_BIT_OWNED) != 0)
|
||||
new |= GL_BIT_PENDING;
|
||||
} while (atomic_cmpset_acq_int(lock, old, new) == 0);
|
||||
new = (old & ~ACPI_GLOCK_PENDING) | ACPI_GLOCK_OWNED;
|
||||
if ((old & ACPI_GLOCK_OWNED) != 0)
|
||||
new |= ACPI_GLOCK_PENDING;
|
||||
} while (atomic_cmpset_32(lock, old, new) == 0);
|
||||
|
||||
return ((new & GL_BIT_PENDING) == 0);
|
||||
return ((new & ACPI_GLOCK_PENDING) == 0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -595,14 +593,14 @@ acpi_acquire_global_lock(uint32_t *lock)
|
||||
* releases the lock.
|
||||
*/
|
||||
int
|
||||
acpi_release_global_lock(uint32_t *lock)
|
||||
acpi_release_global_lock(volatile uint32_t *lock)
|
||||
{
|
||||
uint32_t new, old;
|
||||
|
||||
do {
|
||||
old = *lock;
|
||||
new = old & ~(GL_BIT_PENDING | GL_BIT_OWNED);
|
||||
} while (atomic_cmpset_rel_int(lock, old, new) == 0);
|
||||
new = old & ~(ACPI_GLOCK_PENDING | ACPI_GLOCK_OWNED);
|
||||
} while (atomic_cmpset_32(lock, old, new) == 0);
|
||||
|
||||
return ((old & GL_BIT_PENDING) != 0);
|
||||
return ((old & ACPI_GLOCK_PENDING) != 0);
|
||||
}
|
||||
|
@ -59,9 +59,9 @@
|
||||
|
||||
#define ACPI_FLUSH_CPU_CACHE() wbinvd()
|
||||
|
||||
/* Section 5.2.9.1: global lock acquire/release functions */
|
||||
extern int acpi_acquire_global_lock(uint32_t *lock);
|
||||
extern int acpi_release_global_lock(uint32_t *lock);
|
||||
/* Section 5.2.10.1: global lock acquire/release functions */
|
||||
int acpi_acquire_global_lock(volatile uint32_t *);
|
||||
int acpi_release_global_lock(volatile uint32_t *);
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \
|
||||
(Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock)); \
|
||||
} while (0)
|
||||
|
@ -60,9 +60,9 @@
|
||||
|
||||
#define ACPI_FLUSH_CPU_CACHE() /* XXX ia64_fc()? */
|
||||
|
||||
/* Section 5.2.9.1: global lock acquire/release functions */
|
||||
extern int acpi_acquire_global_lock(uint32_t *lock);
|
||||
extern int acpi_release_global_lock(uint32_t *lock);
|
||||
/* Section 5.2.10.1: global lock acquire/release functions */
|
||||
int acpi_acquire_global_lock(volatile uint32_t *);
|
||||
int acpi_release_global_lock(volatile uint32_t *);
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \
|
||||
(Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock)); \
|
||||
} while (0)
|
||||
|
Loading…
Reference in New Issue
Block a user