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