On Saturday 20 of March 2004 01:14, Jeff Garzik wrote:
Bartlomiej Zolnierkiewicz wrote:
The fact that spec says "supported" not "enabled" in description of
word86 makes me wonder - can they be disabled? (FLUSH CACHE is mandatory
for General feature set and FLUSH CACHE EXT is mandatory if 48-bit LBA is
supported)
Yes, that's why there are separate 'supported' and 'enabled' bits for
each feature.
Words 82-84 are 'supported' bits. Words 85-87 are 'enabled' bits.
These bits mirror each other, i.e. Word 83 and Word 86 have basically
the same bits, except that Word 86 definitions change _slightly_ since
the only bits that are relevant are the ones for features that can be
disabled/enabled.
You use set-features command to enable and disable these features, and
then the result shows up in subsequent identify-device command output.
If the driver is testing for a capability but does not enable it, then
always use the 'enabled' set of bits, not the 'supported' set of bits.
This is quite obvious but I am talking about confusing wording in description
of word86 - for some features 'enabled' is used and for others 'supported'
IMO to test if FLUSH CACHE works we should just issue it during disk
setup and check result. This way we can use FLUSH CACHE also on < ATA-6
devices (there is a lot of them).
I disagree. "just issue it" is how those LG cdrom drives got cooked.
I'm aware of LG fun. Jens already stated that current barrier implementation
is disk-only and I'm talking about disks only.
If anybody reused CACHE FLUSH opcode for disk drive he/she deserves to loose.
8)
All drives that support flush-cache list the relevant bits in
identify-device, even on pre-ATA-6 devices. Whether the feature was
optional or mandantory, we can check the feature bits.
Hm. so this is undocumented in the spec?