diff options
author | jkim <jkim@FreeBSD.org> | 2013-08-13 21:34:03 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2013-08-13 21:34:03 +0000 |
commit | c55a3ec3ad5884ca8d071250121cadfedbfe9687 (patch) | |
tree | c107646499bee791de8ebb32d0ccc9dcd8f89fce /sys | |
parent | ddc35de90bbacb7749bacc2a3067d3ae31a644c5 (diff) | |
download | FreeBSD-src-c55a3ec3ad5884ca8d071250121cadfedbfe9687.zip FreeBSD-src-c55a3ec3ad5884ca8d071250121cadfedbfe9687.tar.gz |
Tidy up global locks for ACPICA. There is no functional change.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/include/acpica_machdep.h | 6 | ||||
-rw-r--r-- | sys/dev/acpica/Osd/OsdSynch.c | 22 | ||||
-rw-r--r-- | sys/i386/include/acpica_machdep.h | 6 | ||||
-rw-r--r-- | sys/ia64/include/acpica_machdep.h | 6 |
4 files changed, 19 insertions, 21 deletions
diff --git a/sys/amd64/include/acpica_machdep.h b/sys/amd64/include/acpica_machdep.h index eb0282a..4743786 100644 --- a/sys/amd64/include/acpica_machdep.h +++ b/sys/amd64/include/acpica_machdep.h @@ -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) diff --git a/sys/dev/acpica/Osd/OsdSynch.c b/sys/dev/acpica/Osd/OsdSynch.c index b70a120..99a69ec 100644 --- a/sys/dev/acpica/Osd/OsdSynch.c +++ b/sys/dev/acpica/Osd/OsdSynch.c @@ -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); } diff --git a/sys/i386/include/acpica_machdep.h b/sys/i386/include/acpica_machdep.h index c4419f2..07bc167 100644 --- a/sys/i386/include/acpica_machdep.h +++ b/sys/i386/include/acpica_machdep.h @@ -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) diff --git a/sys/ia64/include/acpica_machdep.h b/sys/ia64/include/acpica_machdep.h index f64ab8f..2f861e8 100644 --- a/sys/ia64/include/acpica_machdep.h +++ b/sys/ia64/include/acpica_machdep.h @@ -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) |