From: Charl P. B. <c.p...@it...> - 2002-07-24 13:04:16
|
Dear list, Now I am trying to get software suspend going with DRI Radeon; this is also the reason why I wanted to get the VT switch fixed first. In anycase, swsusp is a patch that allows a running linux machine to be suspended to disc without assistance from the hardware. This is often used on more modern laptops with only ACPI support (i.e. no APM). According to the ACPI standard, the OS is responsible for much of the effort of saving state to disc and restoring again during an S4 sleep state. swsusp, although often used together with ACPI, is not a real S4 yet, but functionally it's the same. However, device drivers are responsible for making sure that the hardware state that they control is the same before and after the state. So, swsusp works fine without agpgart and dri. I can suspend and resume to my heart's content. However, with agpgart and dri this does NOT work. The machine resumes into a garbled X display. X is at 100% but the machine is reachable by network. Sound familiar? ;) I've already hacked agpgart so that its resume function does something sensible with the hardware. I've also kludged the RADEONEnterVT() function in radeon_driver.c so that it re-calls drmEnable() and of course activates the bus mastering. The PCI config of the Radeon device is identical before and after a suspend/resume except for Master-Abort which is active after the resume. My naive theory is that the host is trying to speak to the Radeon but the Radeon, having just booted, doesn't know about anything. My next step is to start hacking at the radeon drm driver, as I believe that one should be able to store hardware state in memory and restore it after resuming. My first target is of course reloading the command processor microcode. Now the actual question: Besides the microcode, what other Radeon hardware state gets lost across a machine reboot? I.e. what is the minimum that I have to store before we go down for a suspend? I believe that the driver api allows for suspend and resume hooks to be supplied. I am planning to take this route. Thanks for ANY advice. Best regards, Charl -- charl p. botha http://cpbotha.net/ http://visualisation.tudelft.nl/ |