Hello,
Mark Lord wrote:
What I did back in 2007 was, implement hot plug/unplug for ICH5,
done by polling the PCS bits.
It works, and is reportedly quite reliable, even though there is still a
tiny theoretical loophole where the chipset could lock up.
The glitch on ICH5, at least, is that the PCS bits work fine for detecting
drive insertions, but not drive removals. To detect a drive removal,
one has to first toggle the enable line (1..0..1) in PCS, and then wait
for the PHY to try and sync up afterwards (microseconds).
Having hardreset around is helpful whether hotplugging works or not.
Can you please tell me more about the theoretical loophole?
The code didn't go upstream because it conflicted somewhat with the pending
hotplug polling framework you had in development at the time. :)
What's the scoop with that now, anyways? The sata_mv driver will
eventually
want hotplug polling to deal with port multiplier ports -- it cannot use
AN.
Heh... That was blocked on sysfs nodes and as time goes by it went down
through the rabbit hole. MV can't do AN? Have you taken a look at how
ahci implements AN? It doesn't really support AN. It just looks at
what FIS it received and tries to emulate the notification, which BTW
isn't 100% accurate as the receive area can be overwritten
asynchronously but it works good enough. Maybe MV can do similar?
--
tejun
--
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