Lines Matching refs:drive

187 static u8 sis_ata133_get_base(ide_drive_t *drive)
189 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
194 return ((reg54 & 0x40000000) ? 0x70 : 0x40) + drive->dn * 4;
197 static void sis_ata16_program_timings(ide_drive_t *drive, const u8 mode)
199 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
201 u8 drive_pci = 0x40 + drive->dn * 2;
220 static void sis_ata100_program_timings(ide_drive_t *drive, const u8 mode)
222 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
223 u8 t1, drive_pci = 0x40 + drive->dn * 2;
243 static void sis_ata133_program_timings(ide_drive_t *drive, const u8 mode)
245 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
247 u8 drive_pci = sis_ata133_get_base(drive), clk, idx;
265 static void sis_program_timings(ide_drive_t *drive, const u8 mode)
268 sis_ata16_program_timings(drive, mode);
270 sis_ata100_program_timings(drive, mode);
272 sis_ata133_program_timings(drive, mode);
275 static void config_drive_art_rwp(ide_drive_t *drive)
277 ide_hwif_t *hwif = drive->hwif;
284 rw_prefetch = reg4bh & ~(0x11 << drive->dn);
286 if (drive->media == ide_disk)
287 rw_prefetch |= 0x11 << drive->dn;
293 static void sis_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive)
295 config_drive_art_rwp(drive);
296 sis_program_timings(drive, drive->pio_mode);
299 static void sis_ata133_program_udma_timings(ide_drive_t *drive, const u8 mode)
301 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
303 u8 drive_pci = sis_ata133_get_base(drive), clk, idx;
318 static void sis_ata33_program_udma_timings(ide_drive_t *drive, const u8 mode)
320 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
321 u8 drive_pci = 0x40 + drive->dn * 2, reg = 0, i = chipset_family;
335 static void sis_program_udma_timings(ide_drive_t *drive, const u8 mode)
338 sis_ata133_program_udma_timings(drive, mode);
340 sis_ata33_program_udma_timings(drive, mode);
343 static void sis_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive)
345 const u8 speed = drive->dma_mode;
348 sis_program_udma_timings(drive, speed);
350 sis_program_timings(drive, speed);
353 static u8 sis_ata133_udma_filter(ide_drive_t *drive)
355 struct pci_dev *dev = to_pci_dev(drive->hwif->dev);
357 u8 drive_pci = sis_ata133_get_base(drive);
458 2/ tell old chips to allow per drive IDE timings */
499 /* force per drive recovery and active timings