Re: S3 Resume working, but IDE disk hung
From: Andre Hedrick <hidden>
Date: 2002-10-05 06:57:13
Prior to suspend one needs to : block all new coming requests. flush cache and wait for return. disable DMA, and switch to PIO 0. then S3 and S4 should/will be stable. Resume requires calling : "do_reset()" for (;;) if ((check_power()) == active) break; "piix_config_drive_xfer_rate()" unblock request pathway. Cheers, Andre Hedrick LAD Storage Consulting Group On 4 Oct 2002, Alan Cox wrote:
On Fri, 2002-10-04 at 16:02, Faraoni, Michael wrote:quoted
I have looked into the present IDE suspend/resume, but they don't appear to be called in S3 mode (my printk in ide-disk.c do_idedisk_resume() didn't happen). I kludged the piix.c file, adding a suspend and resume routine to PCI device structure (which gets called). In the resume I forced a call to piix_config_drive_xfer_rate(), which does get the disk back to being useable again, but I know this is in NO way the correct method :)When you come back you want to reconfigure the controller and drive, then possibly need to wake the drive. The reconfiguration may well need more than a retune - you might for example have lost the multimode settings, the host protected area etc. I would argue that you pretty much need to reinitialize the controller - you don't know if a drive changed, the cables changed etc from S4 and S3 needs most of the same support anyway. You are certainly on the right track and its a sane starting point.
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf