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 <[EMAIL PROTECTED]> > > Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]> > > > 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html