From owner-freebsd-current@FreeBSD.ORG Fri Oct 8 22:36:09 2004 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 05CBB16A4CE; Fri, 8 Oct 2004 22:36:09 +0000 (GMT) Received: from arginine.spc.org (arginine.spc.org [195.206.69.236]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5D52B43D45; Fri, 8 Oct 2004 22:36:08 +0000 (GMT) (envelope-from bms@spc.org) Received: from localhost (localhost [127.0.0.1]) by arginine.spc.org (Postfix) with ESMTP id 6C83565426; Fri, 8 Oct 2004 23:36:06 +0100 (BST) Received: from arginine.spc.org ([127.0.0.1]) by localhost (arginine.spc.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 41661-04-6; Fri, 8 Oct 2004 23:36:05 +0100 (BST) Received: from empiric.dek.spc.org (adsl-67-121-92-60.dsl.snfc21.pacbell.net [67.121.92.60]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by arginine.spc.org (Postfix) with ESMTP id 4FEE1653F9; Fri, 8 Oct 2004 23:36:05 +0100 (BST) Received: by empiric.dek.spc.org (Postfix, from userid 1001) id 2594A613D; Fri, 8 Oct 2004 15:36:00 -0700 (PDT) Date: Fri, 8 Oct 2004 15:36:00 -0700 From: Bruce M Simpson To: Jordan Sissel , freebsd-current@freebsd.org, anholt@FreeBSD.org Message-ID: <20041008223600.GL718@empiric.icir.org> Mail-Followup-To: Jordan Sissel , freebsd-current@freebsd.org, anholt@FreeBSD.org, imp@FreeBSD.org, njl@FreeBSD.org References: <5ad23a300410071928791fa9c@mail.gmail.com> <20041008030317.GV664@empiric.icir.org> <5ad23a3004100720467646e1ea@mail.gmail.com> <20041008102758.GH718@empiric.icir.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="+nG9yj4eE4W6Oba0" Content-Disposition: inline In-Reply-To: <20041008102758.GH718@empiric.icir.org> cc: njl@FreeBSD.org cc: imp@FreeBSD.org Subject: Re: Radeon AGP suspend/resume support (was: Re: Thinkpad T41 Sleep issues) 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: Fri, 08 Oct 2004 22:36:09 -0000 --+nG9yj4eE4W6Oba0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, I should be most grateful if someone else could confirm my findings here. This is based purely on my reading of the code; I haven't tried watching debug messages yet to see what happens. On Fri, Oct 08, 2004 at 03:27:58AM -0700, Bruce M Simpson wrote: > Ok. Well some initial research suggests that many of the userland pieces are > already there in xorg 6.7.0, after some rummaging around in the source: > http://www.spinics.net/lists/xf-xpert/msg04368.html Actually the problem is worse than that, from what I can see. There is a module in the xorg/Xfree86 tree called bsd_apm.c. This is meant to poll the /dev/apm device on the BSDs for suspend/resume event notifications coming from the APM BIOS. There are two problems with this: 1) This uses a NetBSD specific interface, which, whilst broadly similar to FreeBSD's apm support, is not ABI compatible with ours. 2) The ACPI apm shim does not dispatch such events. They are only dispatched within the system if 'real' BIOS APM support is in the kernel. This cannot co-exist with ACPI. Furthermore they are only announced on the /dev/apmctl device; there are some comments in the code to this effect. So *no* suspend/resume support ever actually gets called, for any userland driver in the X tree, on FreeBSD. It seems X needs to be re-educated about how FreeBSD suspends and resumes. It may well be more appropriate to rewrite this module entirely from scratch for use with ACPI. This would seem to boil down to two components being needed: a) AGP suspend/resume support. b) X.org/XF86 support for suspend/resume with ACPI. Regards, BMS --+nG9yj4eE4W6Oba0 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Comment: '' iD8DBQFBZxZPueUpAYYNtTsRApVYAJ9cCoPvYfOvpokf6wad7Z1FGL8b/wCfWEDD upCHQtp3f6EzykXdcUpaNLU= =JPY+ -----END PGP SIGNATURE----- --+nG9yj4eE4W6Oba0--