From owner-freebsd-current@FreeBSD.ORG Wed Jul 9 11:34:51 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EA77637B401 for ; Wed, 9 Jul 2003 11:34:50 -0700 (PDT) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 15CB843FBF for ; Wed, 9 Jul 2003 11:34:50 -0700 (PDT) (envelope-from nate@rootlabs.com) Received: (qmail 4206 invoked by uid 1000); 9 Jul 2003 18:34:50 -0000 Date: Wed, 9 Jul 2003 11:34:50 -0700 (PDT) From: Nate Lawson To: John Baldwin In-Reply-To: Message-ID: <20030709113003.L4186@root.org> References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: acpi-jp@jp.freebsd.org cc: current@freebsd.org Subject: RE: PATCH - updated EC driver X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jul 2003 18:34:51 -0000 On Wed, 9 Jul 2003, John Baldwin wrote: > On 09-Jul-2003 Nate Lawson wrote: > > http://root.org/~nate/freebsd/ec-new.diff > > Not as broken as the last patch, but still broken for me: > > ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE > ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.PX41.SECN.BEXT] (Node 0xc3342260), > AE_NO_HARDWARE_RESPONSE > ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.PX41.SECN.MAST._STA] (Node > 0xc3342320), AE_NO_HARDWARE_RESPONSE Thanks for testing. Try changing the 1000 in line 658 to 10000. Your EC seems to take more than 1 ms to respond. The old behavior was 10 ms which I thought was too long but apparently your system requires this. BTW, what are the guidelines for DELAY vs. msleep? I'm holding a mutex for the local EC for up to 10 ms in that case, in increments of DELAY(10). I would think that somewhere around 1 ms, the delay needs to become an msleep so other device interrupts can occur (i.e. EcGpeHandler). I'm thinking about having the loop up to 1 ms be based on DELAY, and then 9 calls to msleep(..., 1) for the really slow devices. Let me know what you think is best. -Nate