Hello, I wrote:
timing values than were available in the ata_timing table. I add new columns for write_hold and dmack_hold times. The values were obtained from the Compact Flash specification Rev 4.1. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx>The forthcoming OCTEON SOC Compact Flash driver needs a few more Well, you got it right except fot the SWDMA modes. :-)diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 5e2eb74..b156d83 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c@@ -2953,33 +2953,33 @@ int sata_set_spd(struct ata_link *link)[...]+ { XFER_SW_DMA_0, 120, 0, 0, 0, 480, 480, 30, 20, 960, 0 }, + { XFER_SW_DMA_1, 90, 0, 0, 0, 240, 240, 30, 20, 480, 0 }, + { XFER_SW_DMA_2, 60, 0, 0, 0, 120, 120, 15, 20, 240, 0 },Well, I don't know what CF 4.1 has but ATA/ATA-2 have minimum -DIOx to -DMACK hold time (tJ) for SW DMA modes always 0 ns, and -DIOW data hold time (tH) of 50, 30, and 20 for modes 0, 1, and 2 respectfully.
Well, the correctness of these values shouldn't matter much because IIRC libata have dropped support for SWDMA completely...
MBR, Sergei