On Saturday 11 August 2007, Sergei Shtylyov wrote: > Hello. > > Alan Cox wrote: > > > Set the MWDMA timing by updating the correct registers. Split the PIO > > path as this is mostly shared code. Wants testing. > > Cool! So much simpler than my fix to the old IDE driver... > > > Signed-off-by: Alan Cox <alan@xxxxxxxxxx> > > Acked-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> > > > diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.23rc1-mm1/drivers/ata/pata_cmd64x.c linux-2.6.23rc1-mm1/drivers/ata/pata_cmd64x.c > > --- linux.vanilla-2.6.23rc1-mm1/drivers/ata/pata_cmd64x.c 2007-07-26 15:01:52.000000000 +0100 > > +++ linux-2.6.23rc1-mm1/drivers/ata/pata_cmd64x.c 2007-08-08 11:52:23.000000000 +0100 > [...] > > @@ -117,8 +118,9 @@ > > int arttim = arttim_port[ap->port_no][adev->devno]; > > int drwtim = drwtim_port[ap->port_no][adev->devno]; > > > > - > > - if (ata_timing_compute(adev, adev->pio_mode, &t, T, 0) < 0) { > > + /* ata_timing_compute is smart and will produce timings for MWDMA > > + that don't violate the drives PIO capabilities. */ > > + if (ata_timing_compute(adev, mode, &t, T, 0) < 0) { > > printk(KERN_ERR DRV_NAME ": mode computation failed.\n"); > > return; > > } > > That function rocks (except I didn't get what the address setup timings > mean to SW/MW DMA)... JFYI: this function was "borrowed" from drivers/ide/ide-timing.h, you can use it in IDE host drivers as well... ;) Bart - 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