Re: SATA hotplug from the user side ?

From: Eric D. Mudama
Date: Thu Jan 25 2007 - 16:22:10 EST


On 1/24/07, Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> wrote:
Tejun, is it feasible to teach libata to check the device power management
state before issuing any of the sleep, head unload and spin-down commands?

libata would need to block its EH from resetting a channel for this check
operation (we don't want to wake up sleeping devices to ask it if it is
sleeping...) if it cannot easily check if an device is asleep before issuing
a command to it. Either that, or (for as long as there is no such a thing
as a multi-initiator libata device) just keep track of the device power
management state by snooping all the commands sent to it.

In the ATA spec, the CHECK POWER MODE command (E5h) specifically
states that it shouldn't alter the power mode of the device.
Therefore, there should be no harm in checking the power mode of a
device in STANDBY or IDLE state, and it shouldn't cause the device to
spin up. Checking a drive on my bench I confirmed this behavior.

With Serial ATA you have to consider the SATA bus PM states as well,
but that's a different topic of discussion.

--eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/