On 1/30/07, Eric D. Mudama <edmudama@xxxxxxxxx> wrote:
It's *really* unlikely the drive doesn't have a working taskfile.
One other thing is that these registers in the drive are pretty dumb, at least on the stuff I've worked with. However, it allows for some neat optimizations... For example, you don't technically need to rewrite the task file to set the drive to max capacity. Simply writing the command register with 0x27 for READ NATIVE MAX ADDRESS EXT, followed immediately by a write to the command register with 0x37, would (in theory) set the drive to the proper size, since the contents of both regular and HOB registers would be setup already inside the device. Another trick is when doing sequential DMA reads, since most drives stuff the taskfile with the next sequential block when a DMA command completes, you could save the taskfile writes and just issue another write to the command register for the next sequential chunk of data. On older PATA chipsets, this can buy you a few percent performance when using smaller block sizes. Granted these are all benchmarking hacks, and the behavior isn't guaranteed I don't think, but I've seen this stuff done in driver implementations before. --eric - 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