Alan Cox wrote:
On Fri, Feb 22, 2008 at 09:52:45AM -0500, Richardson, Charlotte wrote:
There is a hack in its probe routine that disables this. I've disabled the hack and ran a long test of
hotplugs yesterday (added and removed a DVD drive connected to the ESB2 IDE - this is Intel
device 0x269E) for 26 cycles, and it all appears to function properly. There are other things that do
It ought to work fine for ICH4 or so and later (older ICH you can only warm
plug). Be sure to test the released RHEL as I know the dev tree has completely
broken all hot plug disk support and hangs a lot if you do. Jeff I assume
knows the status of fixing that.
..
I've missed the front part of this thread, but from the above
message it sounds like somebody is trying to do hotplug on ICH4/5/6/..
Correct?
I have previously worked on ICH5 hotplug for a client.
The pieces that were needed there were:
1) Emulate SCR_STATUS reads by reading ICH5 PCS.
If it indicates drive presence, return 0x113 for SCR_STATUS,
otherwise return zero.
2) PCS seems to work fine for detecting *inserted* drives,
but does not find *removed* drives very well. To get it to
see unplug events, We had to first clear the port bit in the PCS,
wait a usec, then write 0x0003 back into PCS.
Then poll PCS for drive present, typically 5-6usec, sometimes longer.
If not present, we're done. Otherwise wait for drive !BUSY (~60msec).
Ugly as all can be, but it worked.
3) It is critical to ensure that the ATA "ctl" register is never
written to when no drive is attached. This means bracketing the SRST
sequence to first do a PCS detection before permitting the SRST.
If "ctl" is accessed with no drive attached, the machine locks up hard.
Or at least that's what we were able to figure out in the time available.
What are you guys doing?
-ml
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html