Jeff Garzik wrote:
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

Reply via email to