Date: Thu, 01 Jan 2004 23:30:09 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: hackers@FreeBSD.org Subject: Power Patches Message-ID: <20040101.233009.58826299.imp@bsdimp.com>
next in thread | raw e-mail | index | archive | help
John Baldwin, Nate and I are putting the final touches on the power/resource patches. Please try them out and let me know how well they work for you. http://people.freebsd.org/~imp/power.20040101.diff These patches do the following: 1) reserves resources on child enumeration. This means that we will stop allocating the same resource to multiple devices. There may be issues on driver detach and subsequent reattach, so be careful there. 2) Assign on a lazy basis, resources that a driver requests (if it is possible). This means we can remove the kludges from all the drivers that try to work around BIOSes not assigning resources. 3) Power state management. We set devices to power state D0 before we try to probe/attach them (proerply preserving the config space that the standards say we should preserve). We set the device's power state to D0 with the same restore on resume. Drivers that aren't attached get set to state D3 (if it is supported) to conserve power. 4) Some ACPI changes to improve power state transitions. 5) Misc cardbus changes to remove the kludges that were in there related to the above cleanup. Plus minor changes to when we turn on OE for 16-bit cards. 6) pci bridge tweaks necessary for #2 plus minor reformatting to style(9). I may have also broken 64 bit BAR support for the lazy evaluation. You should try it if: 1) You are using hw.pci.unsupported_io=1. Turn it off and use these patches. Let me know if it doesn't. Typically it appears that this helps people hitting the double allocation problem. 2) You have suspend/resume issues. This should make them suck less if they are with a specific device (not ata). 3) You have hacks in drivers to turn the power on for your laptop because FreeBSD didn't used to do that. While I've not yet removed all the hacks from the tree, nearly all of them should now be redundant. Let me know how this works out... Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040101.233009.58826299.imp>