Messages in this thread | | | Date | Mon, 30 Aug 2004 13:12:24 +0400 | From | Brad Campbell <> | Subject | Re: libata dev_config call order wrong. |
| |
Alan Cox wrote: > On Sul, 2004-08-29 at 19:25, Jeff Garzik wrote: > >>According to the Serial ATA docs, IDENTIFY DEVICE word 93 will be zero >>if it's Serial ATA. Who knows if that's true, given the wierd wild >>world of ATA devices. > > > You need to check if word 93 is valid first. Same with things like the > cache control word - its value is only meaningful if the drive says the > word is meaningful.
I'm making some assumptions here based on information I could scrape up off the net.
IDENTIFY DEVICE Word 93 support has been mandatory at least since ATA-5.
ATA-5 did not have lba48 or > udma/66.
SATA->PATA bridge boards support > udma/33 and thus must emulate an 80 conductor cable.
Thus, any device capable of lba48 (and these are the ones that trigger the > 200 sector problem) must (according to the ATA-5 and up standard) support correct use of the IDENTIFY DEVICE word 93 register.
Given that the SATA->PATA bridge boards support 80 pin detection, then bit 13 of word 93 must be high on any drive that supports lba48, and given the *current* sata spec states that word 93 must be zero, we should be able to use this detection method.
Now, remember I have been an "ATA researcher" for about 4 hours now, please feel free to belt me with the wet salmon of enlightenment and point out the flaw in my logic. Otherwise, when I get home this evening I'm going to have a crack and getting this working.
Regards, Brad - 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/
| |