Chris Hann wrote:ide-disk.c checks csfo bit 0 to see if the cache is available on a device
hdregs.h maps csfo to word 129 of the Identify Device information
the latest ATA documentation, e00159r3 Mandatory IDENTIFY DEVICE information, says words 129-159 are Vendor specific.
Why is the driver switching on cache operations based on a word that has nothing to do with cache?
Good question... I would guess that it's some pre-ATA4 legacy magic, but that's just a guess.
I just checked the specs for ATA[134567] (didn't have 2) and all of them show word 129 as vendor specific, as Chris found.
The code that's in libata-dev shows in idedisk_setup():
/* write cache enabled? */
if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
drive->wcache = 1;Bart, what's the point of the csfo bit check? If it's specific to one non-ATA compliant device shouldn't it be testing something else along with that bit?
BR - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
