A question so I can see if I can use ata_timing_compute or possibly improve it.. The current mode timings list seems to be missing a few timings we need that cannot possibly (and don't seem to be attempted) to be resolved from the ata_timings table in libata-core.c. We have a bank of registers in our ATA controller where these values need setting; is it that the timings table is missing the values (and the same true of the one in ide-timings.c) no other drive controller actually needed such fine timings and would implement them as per the spec minimums by itself? We need to actually set the specific time in ATA clocks in those registers, and there is a register for every timing reference in the ATA spec tables and diagrams.. specifically t4 and t9 are missing for PIO (and tA would be derived for iordy by the current code, right? But we also need to set tRD which seems not to be) and for DMA, several others (tM for MWDMA) and I am really confused where the values for UDMA are meant to be derived for the controller since none of them are listed in the comments for struct ata_timing. Is it a good or bad idea to expand the table to include the extra timings, or should we just include a custom table of timings and manage the situation ourselves? Part of my reason for wanting to use the libata core timings is because of all the safety checks which I don't get with a custom blob of numbers pulled from some older source code that I have no idea how they were derived.. -- Matt Sealey <matt@xxxxxxxxxxxxxx> Product Development Analyst, Genesi USA, Inc. -- 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