Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Aug 2009 07:52:31 GMT
From:      Alexander Motin <mav@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 167965 for review
Message-ID:  <200908300752.n7U7qVcc048641@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=167965

Change 167965 by mav@mav_mavbook on 2009/08/30 07:51:34

	Separate rtc_lock from clock_lock and make it not spinning.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#28 edit
.. //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#26 edit
.. //depot/projects/scottl-camlock/src/sys/isa/atrtc.c#3 edit
.. //depot/projects/scottl-camlock/src/sys/isa/rtc.h#5 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#28 (text+ko) ====

@@ -1592,6 +1592,7 @@
 	 * initialization can use DELAY().
 	 */
 	i8254_init();
+	atrtc_init();
 
 	/*
 	 * Initialize the console before we print anything out.

==== //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#26 (text+ko) ====

@@ -2580,6 +2580,7 @@
 	 * initialization can use DELAY().
 	 */
 	i8254_init();
+	atrtc_init();
 #endif
 	
 	/*
@@ -2834,6 +2835,7 @@
 	 * initialization can use DELAY().
 	 */
 	i8254_init();
+	atrtc_init();
 
 	/*
 	 * Initialize the console before we print anything out.

==== //depot/projects/scottl-camlock/src/sys/isa/atrtc.c#3 (text+ko) ====

@@ -46,11 +46,14 @@
 #include <isa/isavar.h>
 #endif
 
-#define	RTC_LOCK	mtx_lock_spin(&clock_lock)
-#define	RTC_UNLOCK	mtx_unlock_spin(&clock_lock)
+#define	RTC_LOCK_INIT						\
+	mtx_init(&rtc_lock, "rtc", NULL, MTX_NOPROFILE)
+#define	RTC_LOCK	mtx_lock(&rtc_lock)
+#define	RTC_UNLOCK	mtx_unlock(&rtc_lock)
 
 int	atrtcclock_disable = 0;
 
+static  struct mtx rtc_lock;
 static	int	rtc_reg = -1;
 static	u_char	rtc_statusa = RTCSA_DIVIDER | RTCSA_NOPROF;
 static	u_char	rtc_statusb = RTCSB_24HR;
@@ -59,6 +62,12 @@
  * RTC support routines
  */
 
+void
+atrtc_init(void)
+{
+	RTC_LOCK_INIT;
+}
+
 int
 rtcin(int reg)
 {

==== //depot/projects/scottl-camlock/src/sys/isa/rtc.h#5 (text+ko) ====

@@ -112,9 +112,9 @@
 #define	RTC_CENTURY	0x32	/* current century */
 
 #ifdef _KERNEL
-extern  struct mtx clock_lock;
 extern	int atrtcclock_disable;
 int	atrtc_setup_clock(void);
+void	atrtc_init(void);
 int	rtcin(int reg);
 void	atrtc_start(void);
 void	atrtc_rate(unsigned rate);



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