On Tuesday 03 July 2007, Sergei Shtylyov wrote: > Hello. > > Bartlomiej Zolnierkiewicz wrote: > > > * Add ATA_PIO[0-6] defines to <linux/ata.h>. > > > * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t. > > > * Add PIO masks to host drivers. > > Hm, the next logical step would be to use the mask constants in > <linux/ata.h> for the drivers' DMA caps too... Patches welcomed. :-) > > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> > > Acked-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> added > > Index: b/drivers/ide/pci/it8213.c > > =================================================================== > > --- a/drivers/ide/pci/it8213.c > > +++ b/drivers/ide/pci/it8213.c > > @@ -276,6 +276,7 @@ static void __devinit init_hwif_it8213(i > > .enablebits = {{0x41,0x80,0x80}}, \ > > .bootable = ON_BOARD, \ > > .host_flags = IDE_HFLAG_SINGLE, \ > > + .pio_mask = ATA_PIO4, \ > > } > > > > static ide_pci_device_t it8213_chipsets[] __devinitdata = { > [...] > > Index: b/drivers/ide/pci/piix.c > > =================================================================== > > --- a/drivers/ide/pci/piix.c > > +++ b/drivers/ide/pci/piix.c > > @@ -498,6 +498,7 @@ static void __devinit init_hwif_piix(ide > > .autodma = AUTODMA, \ > > .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, \ > > .bootable = ON_BOARD, \ > > + .pio_mask = ATA_PIO4, \ > > .udma_mask = udma, \ > > } > > > > @@ -517,6 +518,7 @@ static ide_pci_device_t piix_pci_info[] > > .enablebits = {{0x6d,0xc0,0x80}, {0x6d,0xc0,0xc0}}, > > .bootable = ON_BOARD, > > .host_flags = IDE_HFLAG_ISA_PORTS, > > + .pio_mask = ATA_PIO4, > > }, > > > > /* 3 */ DECLARE_PIIX_DEV("PIIX3", 0x00), /* no udma */ > [...] > > Index: b/drivers/ide/pci/slc90e66.c > > =================================================================== > > --- a/drivers/ide/pci/slc90e66.c > > +++ b/drivers/ide/pci/slc90e66.c > > @@ -217,6 +217,7 @@ static ide_pci_device_t slc90e66_chipset > > .autodma = AUTODMA, > > .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, > > .bootable = ON_BOARD, > > + .pio_mask = ATA_PIO4, > > }; > > > > static int __devinit slc90e66_init_one(struct pci_dev *dev, const struct > pci_device_id *id) > > Strictly speaking, these Intel/SMsC/ITE chips don't support PIO mode 1, > only modes 0 and 2 thru 4 but the drivers are just using PIO0 timings for PIO1... Reminds about a need to fix PIO1 in ->speedproc for Intel/SMsC (will do it). Thanks, 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