Date: Fri, 8 Oct 2004 15:36:00 -0700 From: Bruce M Simpson <bms@spc.org> To: Jordan Sissel <psionic@gmail.com>, freebsd-current@freebsd.org, anholt@FreeBSD.org Cc: imp@FreeBSD.org Subject: Re: Radeon AGP suspend/resume support (was: Re: Thinkpad T41 Sleep issues) Message-ID: <20041008223600.GL718@empiric.icir.org> In-Reply-To: <20041008102758.GH718@empiric.icir.org> References: <5ad23a300410071928791fa9c@mail.gmail.com> <20041008030317.GV664@empiric.icir.org> <5ad23a3004100720467646e1ea@mail.gmail.com> <20041008102758.GH718@empiric.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--+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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041008223600.GL718>