1
0
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:
Jung-uk Kim 2013-08-13 21:34:03 +00:00
parent 9908a5a5e1
commit 3bd12ca8f1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=254300
4 changed files with 19 additions and 21 deletions

View File

@ -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)

View File

@ -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);
}

View File

@ -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)

View File

@ -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)