if (dev->device == PCI_DEVICE_ID_SERVERWORKS_HT1000IDE) return 2; 
static u8 svwks_ratemask (ide_drive_t *drive){	struct pci_dev *dev     = HWIF(drive)->pci_dev;	u8 mode;	if (!svwks_revision)		pci_read_config_byte(dev, PCI_REVISION_ID, &svwks_revision);	if (dev->device == PCI_DEVICE_ID_SERVERWORKS_OSB4IDE) {		u32 reg = 0;		if (isa_dev)			pci_read_config_dword(isa_dev, 0x64, &reg);					/*		 *	Don't enable UDMA on disk devices for the moment		 */		if(drive->media == ide_disk)			return 0;		/* Check the OSB4 DMA33 enable bit */		return ((reg & 0x00004000) == 0x00004000) ? 1 : 0;	} else if (svwks_revision < SVWKS_CSB5_REVISION_NEW) {		return 1;	} else if (svwks_revision >= SVWKS_CSB5_REVISION_NEW) {		u8 btr = 0;		pci_read_config_byte(dev, 0x5A, &btr);		mode = btr & 0x3;		if (!eighty_ninty_three(drive))			mode = min(mode, (u8)1);		/* If someone decides to do UDMA133 on CSB5 the same		   issue will bite so be inclusive */		if (mode > 2 && check_in_drive_lists(drive, svwks_bad_ata100))			mode = 2;	}	if (((dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE) ||	     (dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2)) &&	    (!(PCI_FUNC(dev->devfn) & 1)))		mode = 2;	return mode;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/84f57fbc724e3b56dc87c37dddac89f82cf75ef6/serverworks.c/buggy/drivers/ide/pci/serverworks.c