From owner-freebsd-current Wed Oct 13 22:28: 8 1999 Delivered-To: freebsd-current@freebsd.org Received: from shidahara1.planet.sci.kobe-u.ac.jp (shidahara1.planet.sci.kobe-u.ac.jp [133.30.50.200]) by hub.freebsd.org (Postfix) with ESMTP id E280415461 for ; Wed, 13 Oct 1999 22:27:59 -0700 (PDT) (envelope-from takawata@shidahara1.planet.sci.kobe-u.ac.jp) Received: from shidahara1.planet.sci.kobe-u.ac.jp (localhost [127.0.0.1]) by shidahara1.planet.sci.kobe-u.ac.jp (8.8.8+2.7Wbeta7/8.8.8) with ESMTP id OAA00501; Thu, 14 Oct 1999 14:08:13 +0900 (JST) Message-Id: <199910140508.OAA00501@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 Date: Thu, 14 Oct 1999 14:08:13 +0900 From: Takanori Watanabe Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 Public Key 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 #include #include - +#include #include "smbus_if.h" - +#include "smp.h" /*This should be removed if force_pci_map_int supported*/ #include @@ -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