Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Aug 2013 21:34:04 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r254300 - in head/sys: amd64/include dev/acpica/Osd i386/include ia64/include
Message-ID:  <201308132134.r7DLY4Iw072825@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Tue Aug 13 21:34:03 2013
New Revision: 254300
URL: http://svnweb.freebsd.org/changeset/base/254300

Log:
  Tidy up global locks for ACPICA.  There is no functional change.

Modified:
  head/sys/amd64/include/acpica_machdep.h
  head/sys/dev/acpica/Osd/OsdSynch.c
  head/sys/i386/include/acpica_machdep.h
  head/sys/ia64/include/acpica_machdep.h

Modified: head/sys/amd64/include/acpica_machdep.h
==============================================================================
--- head/sys/amd64/include/acpica_machdep.h	Tue Aug 13 21:12:28 2013	(r254299)
+++ head/sys/amd64/include/acpica_machdep.h	Tue Aug 13 21:34:03 2013	(r254300)
@@ -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)

Modified: head/sys/dev/acpica/Osd/OsdSynch.c
==============================================================================
--- head/sys/dev/acpica/Osd/OsdSynch.c	Tue Aug 13 21:12:28 2013	(r254299)
+++ head/sys/dev/acpica/Osd/OsdSynch.c	Tue Aug 13 21:34:03 2013	(r254300)
@@ -566,8 +566,6 @@ AcpiOsReleaseLock(ACPI_SPINLOCK Handle, 
 }
 
 /* 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, 
  * 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);
 }

Modified: head/sys/i386/include/acpica_machdep.h
==============================================================================
--- head/sys/i386/include/acpica_machdep.h	Tue Aug 13 21:12:28 2013	(r254299)
+++ head/sys/i386/include/acpica_machdep.h	Tue Aug 13 21:34:03 2013	(r254300)
@@ -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)

Modified: head/sys/ia64/include/acpica_machdep.h
==============================================================================
--- head/sys/ia64/include/acpica_machdep.h	Tue Aug 13 21:12:28 2013	(r254299)
+++ head/sys/ia64/include/acpica_machdep.h	Tue Aug 13 21:34:03 2013	(r254300)
@@ -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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308132134.r7DLY4Iw072825>