Messages in this thread | | | From | "Daniela Engert" <> | Date | Wed, 20 Mar 2002 09:00:45 +0100 (CET) | Subject | Re: [patch] My AMD IDE driver, v2.7 |
| |
On Tue, 19 Mar 2002 22:56:09 +0100, Vojtech Pavlik wrote:
>> > Not all of them safely, though. Many a drive will corrupt data if it >> > receives a command when not spinned up. You need to issue a wake command >> > first, which hdparm doesn't, it just leaves it to the kernel to issue a >> > read command or whatever to wake the drive ... >> >> Is this common disk bug, or are they permitted to behave like that? > >This behavior is permitted by the specification, as far as I know -
Actually not. Have a look at page 36 of the current ATA6 specification.
>results of commands other than wakeup (and other pm commands) in sleep >or suspend mode are undefined ...
If a disk is in power state PM1:idle or PM2:standby, each ATA command which requires media access will result in a transition to power state PM0:active as well. The driver should be prepared of a long command execution time in this case (due to the spin up delay). This is why a well implemented ATA driver should track the individual power states of each attached unit to modulate its internal command timeout accordingly.
The driver may issue a SET_FEATURES(spin up) command in anticipation of a media access. A "forgiving" implementation might issue this command at proper system state transitions as well .
If a disk has entered power state PM3:sleep, its interface is turned off! You no longer can issue any command except for a DEVICE RESET to this unit. A reset is required to initiate a state transition from PM3:sleep to PM2:standby (there are no other state transitions).
Ciao, Dani
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Daniela Engert, systems engineer at MEDAV GmbH Gräfenberger Str. 34, 91080 Uttenreuth, Germany Phone ++49-9131-583-348, Fax ++49-9131-583-11
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |