Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Oct 1999 14:08:13 +0900
From:      Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
To:        nnd@mail.nsk.ru, cdf.lists@fxp.org, culverk@wam.umd.edu, rkw@dataplex.net
Cc:        current@freebsd.org
Subject:   intpm(4) polling patch
Message-ID:  <199910140508.OAA00501@shidahara1.planet.sci.kobe-u.ac.jp>

next in thread | raw e-mail | index | archive | help
If you get "Device not configured" message, apply following patch and
do 'sysctl -w hw.intpm_poll=1'.If your system is SMP, 'hw.intpm_poll' value
is 1 as a default.(Not tested.)
This is not *the right* solution,but it will work I think.

Takanori Watanabe
<a href="http://www.planet.sci.kobe-u.ac.jp/~takawata/key.html">;
Public Key</a>
Key fingerprint =  2C 51 E2 78 2C E1 C5 2D  0F F1 20 A3 11 3A 62 2A 


--- /home/ctm/src/sys/pci/intpm.c	Fri Sep  3 03:16:24 1999
+++ intpm.c	Thu Oct 14 12:25:28 1999
@@ -43,9 +43,9 @@
 #include <sys/rman.h>
 #include <machine/resource.h>
 #include <dev/smbus/smbconf.h>
-
+#include <sys/sysctl.h>
 #include "smbus_if.h"
-
+#include "smp.h"
 /*This should be removed if force_pci_map_int supported*/
 #include <sys/interrupt.h>
 
@@ -90,6 +90,9 @@
 static int intpm_attach (device_t dev);
 static devclass_t intsmb_devclass;
 
+static int intpm_poll=0;
+SYSCTL_INT(_hw, OID_AUTO, intpm_poll, CTLFLAG_RW, &intpm_poll, 1, "");
+
 static device_method_t intpm_methods[]={
         DEVMETHOD(device_probe,intsmb_probe),
         DEVMETHOD(device_attach,intsmb_attach),
@@ -379,7 +382,7 @@
         int error;
 	intrmask_t s;
         struct intsmb_softc *sc = (struct intsmb_softc *)device_get_softc(dev);
-	if(cold){
+	if(cold||intpm_poll!=0){
 		/*So that it can use device during probing device on SMBus.*/
 		error=intsmb_stop_poll(dev);
 		return error;
@@ -656,7 +659,10 @@
                 device_t smbinterface;
 		int rid;
 		struct resource *res;
-
+#if NSMP>0
+		device_printf(dev,"SMP system so polling mode is default\n");
+		intpm_poll=1;
+#endif
                 sciic=device_get_softc(dev);
                 if(sciic==NULL){
                         return ENOMEM;







To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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