Thread (1 message) 1 message, 1 author, 2002-10-05

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help