aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/cmd64x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/cmd64x.c')
-rw-r--r--drivers/ide/pci/cmd64x.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c
index 1e89dd6e5bbf..19633c5aba15 100644
--- a/drivers/ide/pci/cmd64x.c
+++ b/drivers/ide/pci/cmd64x.c
@@ -221,17 +221,18 @@ static u8 cmd64x_tune_pio (ide_drive_t *drive, u8 mode_wanted)
221{ 221{
222 ide_hwif_t *hwif = HWIF(drive); 222 ide_hwif_t *hwif = HWIF(drive);
223 struct pci_dev *dev = hwif->pci_dev; 223 struct pci_dev *dev = hwif->pci_dev;
224 ide_pio_data_t pio; 224 unsigned int cycle_time;
225 u8 pio_mode, setup_count, arttim = 0; 225 u8 pio_mode, setup_count, arttim = 0;
226 static const u8 setup_values[] = {0x40, 0x40, 0x40, 0x80, 0, 0xc0}; 226 static const u8 setup_values[] = {0x40, 0x40, 0x40, 0x80, 0, 0xc0};
227 static const u8 arttim_regs[4] = {ARTTIM0, ARTTIM1, ARTTIM23, ARTTIM23}; 227 static const u8 arttim_regs[4] = {ARTTIM0, ARTTIM1, ARTTIM23, ARTTIM23};
228 pio_mode = ide_get_best_pio_mode(drive, mode_wanted, 5, &pio);
229 228
230 cmdprintk("%s: PIO mode wanted %d, selected %d (%d ns)%s\n", 229 pio_mode = ide_get_best_pio_mode(drive, mode_wanted, 5);
231 drive->name, mode_wanted, pio_mode, pio.cycle_time, 230 cycle_time = ide_pio_cycle_time(drive, pio_mode);
232 pio.overridden ? " (overriding vendor mode)" : "");
233 231
234 program_cycle_times(drive, pio.cycle_time, 232 cmdprintk("%s: PIO mode wanted %d, selected %d (%d ns)\n",
233 drive->name, mode_wanted, pio_mode, cycle_time);
234
235 program_cycle_times(drive, cycle_time,
235 ide_pio_timings[pio_mode].active_time); 236 ide_pio_timings[pio_mode].active_time);
236 237
237 setup_count = quantize_timing(ide_pio_timings[pio_mode].setup_time, 238 setup_count = quantize_timing(ide_pio_timings[pio_mode].setup_time,
@@ -618,40 +619,40 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = {
618 .init_setup = init_setup_cmd64x, 619 .init_setup = init_setup_cmd64x,
619 .init_chipset = init_chipset_cmd64x, 620 .init_chipset = init_chipset_cmd64x,
620 .init_hwif = init_hwif_cmd64x, 621 .init_hwif = init_hwif_cmd64x,
621 .channels = 2,
622 .autodma = AUTODMA, 622 .autodma = AUTODMA,
623 .enablebits = {{0x00,0x00,0x00}, {0x51,0x08,0x08}}, 623 .enablebits = {{0x00,0x00,0x00}, {0x51,0x08,0x08}},
624 .bootable = ON_BOARD, 624 .bootable = ON_BOARD,
625 .pio_mask = ATA_PIO5,
625 .udma_mask = 0x00, /* no udma */ 626 .udma_mask = 0x00, /* no udma */
626 },{ /* 1 */ 627 },{ /* 1 */
627 .name = "CMD646", 628 .name = "CMD646",
628 .init_setup = init_setup_cmd646, 629 .init_setup = init_setup_cmd646,
629 .init_chipset = init_chipset_cmd64x, 630 .init_chipset = init_chipset_cmd64x,
630 .init_hwif = init_hwif_cmd64x, 631 .init_hwif = init_hwif_cmd64x,
631 .channels = 2,
632 .autodma = AUTODMA, 632 .autodma = AUTODMA,
633 .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, 633 .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}},
634 .bootable = ON_BOARD, 634 .bootable = ON_BOARD,
635 .pio_mask = ATA_PIO5,
635 .udma_mask = 0x07, /* udma0-2 */ 636 .udma_mask = 0x07, /* udma0-2 */
636 },{ /* 2 */ 637 },{ /* 2 */
637 .name = "CMD648", 638 .name = "CMD648",
638 .init_setup = init_setup_cmd64x, 639 .init_setup = init_setup_cmd64x,
639 .init_chipset = init_chipset_cmd64x, 640 .init_chipset = init_chipset_cmd64x,
640 .init_hwif = init_hwif_cmd64x, 641 .init_hwif = init_hwif_cmd64x,
641 .channels = 2,
642 .autodma = AUTODMA, 642 .autodma = AUTODMA,
643 .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, 643 .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}},
644 .bootable = ON_BOARD, 644 .bootable = ON_BOARD,
645 .pio_mask = ATA_PIO5,
645 .udma_mask = 0x1f, /* udma0-4 */ 646 .udma_mask = 0x1f, /* udma0-4 */
646 },{ /* 3 */ 647 },{ /* 3 */
647 .name = "CMD649", 648 .name = "CMD649",
648 .init_setup = init_setup_cmd64x, 649 .init_setup = init_setup_cmd64x,
649 .init_chipset = init_chipset_cmd64x, 650 .init_chipset = init_chipset_cmd64x,
650 .init_hwif = init_hwif_cmd64x, 651 .init_hwif = init_hwif_cmd64x,
651 .channels = 2,
652 .autodma = AUTODMA, 652 .autodma = AUTODMA,
653 .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}}, 653 .enablebits = {{0x51,0x04,0x04}, {0x51,0x08,0x08}},
654 .bootable = ON_BOARD, 654 .bootable = ON_BOARD,
655 .pio_mask = ATA_PIO5,
655 .udma_mask = 0x3f, /* udma0-5 */ 656 .udma_mask = 0x3f, /* udma0-5 */
656 } 657 }
657}; 658};