mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
ide: set drive->autotune in ide_pci_setup_ports()
Majority of host drivers using IDE PCI layer set drive->autotune, the only exceptions are: generic.c ns87415.c rz1000.c trm290.c * no ->set_pio_mode method it821x.c: * if memory allocation fails drive->autotune won't be set (but there also won't be ->set_pio_mode method in such case) piix.c: * MPIIX controller (no ->init_hwif method so also no ->set_pio_mode method) However if there is no ->set_pio_mode method there are no changes in behavior w.r.t. PIO tuning so always set drive->autotune in ide_pci_setup_ports(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
d7c526f7db
commit
85ad93ad56
@ -192,8 +192,6 @@ static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif)
|
||||
else
|
||||
hwif->set_dma_mode = &aec6260_set_mode;
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -668,9 +668,6 @@ static void __devinit init_hwif_common_ali15x3 (ide_hwif_t *hwif)
|
||||
if (m5229_revision <= 0xC4)
|
||||
hwif->host_flags |= IDE_HFLAG_NO_LBA48_DMA;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -253,7 +253,6 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif)
|
||||
for (i = 0; i < 2; i++) {
|
||||
hwif->drives[i].io_32bit = 1;
|
||||
hwif->drives[i].unmask = 1;
|
||||
hwif->drives[i].autotune = 1;
|
||||
}
|
||||
|
||||
if (!hwif->dma_base)
|
||||
|
@ -174,8 +174,6 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
|
||||
|
||||
hwif->set_pio_mode = &atiixp_set_pio_mode;
|
||||
hwif->set_dma_mode = &atiixp_set_dma_mode;
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
@ -506,8 +506,6 @@ static void __devinit init_hwif_cmd64x(ide_hwif_t *hwif)
|
||||
hwif->set_pio_mode = &cmd64x_set_pio_mode;
|
||||
hwif->set_dma_mode = &cmd64x_set_dma_mode;
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
||||
|
@ -123,9 +123,6 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
|
||||
hwif->set_pio_mode = &cs5520_set_pio_mode;
|
||||
hwif->set_dma_mode = &cs5520_set_dma_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -255,9 +255,6 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif)
|
||||
if (CS5530_BAD_PIO(inl(basereg + 8)))
|
||||
outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 8);
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -180,8 +180,6 @@ static void __devinit init_hwif_cs5535(ide_hwif_t *hwif)
|
||||
hwif->set_pio_mode = &cs5535_set_pio_mode;
|
||||
hwif->set_dma_mode = &cs5535_set_dma_mode;
|
||||
|
||||
hwif->drives[1].autotune = hwif->drives[0].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -431,9 +431,6 @@ static void __devinit init_hwif_cy82c693(ide_hwif_t *hwif)
|
||||
hwif->chipset = ide_cy82c693;
|
||||
hwif->set_pio_mode = &cy82c693_set_pio_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -127,9 +127,6 @@ static void __devinit init_hwif_hpt34x(ide_hwif_t *hwif)
|
||||
{
|
||||
hwif->set_pio_mode = &hpt34x_set_pio_mode;
|
||||
hwif->set_dma_mode = &hpt34x_set_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
}
|
||||
|
||||
static ide_pci_device_t hpt34x_chipsets[] __devinitdata = {
|
||||
|
@ -1301,8 +1301,6 @@ static void __devinit init_hwif_hpt366(ide_hwif_t *hwif)
|
||||
if (new_mcr != old_mcr)
|
||||
pci_write_config_byte(dev, hwif->select_data + 1, new_mcr);
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -170,9 +170,6 @@ static void __devinit init_hwif_it8213(ide_hwif_t *hwif)
|
||||
hwif->set_dma_mode = &it8213_set_dma_mode;
|
||||
hwif->set_pio_mode = &it8213_set_pio_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
||||
|
@ -585,9 +585,6 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif)
|
||||
} else
|
||||
hwif->host_flags |= IDE_HFLAG_NO_SET_MODE;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -111,9 +111,6 @@ static void __devinit init_hwif_jmicron(ide_hwif_t *hwif)
|
||||
hwif->set_pio_mode = &jmicron_set_pio_mode;
|
||||
hwif->set_dma_mode = &jmicron_set_dma_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -329,9 +329,6 @@ static void __devinit init_hwif_opti621 (ide_hwif_t *hwif)
|
||||
hwif->drives[1].drive_data = PIO_DONT_KNOW;
|
||||
|
||||
hwif->set_pio_mode = &opti621_set_pio_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
}
|
||||
|
||||
static ide_pci_device_t opti621_chipsets[] __devinitdata = {
|
||||
|
@ -471,8 +471,6 @@ static void __devinit init_hwif_pdc202new(ide_hwif_t *hwif)
|
||||
hwif->quirkproc = &pdcnew_quirkproc;
|
||||
hwif->resetproc = &pdcnew_reset;
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -317,8 +317,6 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif)
|
||||
if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246)
|
||||
hwif->resetproc = &pdc202xx_reset;
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -344,9 +344,6 @@ static void __devinit init_hwif_piix(ide_hwif_t *hwif)
|
||||
hwif->set_pio_mode = &piix_set_pio_mode;
|
||||
hwif->set_dma_mode = &piix_set_dma_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
||||
|
@ -365,9 +365,6 @@ static void __devinit init_hwif_sc1200 (ide_hwif_t *hwif)
|
||||
hwif->set_pio_mode = &sc1200_set_pio_mode;
|
||||
hwif->set_dma_mode = &sc1200_set_dma_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -683,9 +683,6 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif)
|
||||
hwif->ide_dma_test_irq = scc_dma_test_irq;
|
||||
hwif->udma_filter = scc_udma_filter;
|
||||
|
||||
hwif->drives[0].autotune = IDE_TUNE_AUTO;
|
||||
hwif->drives[1].autotune = IDE_TUNE_AUTO;
|
||||
|
||||
if (in_be32((void __iomem *)(hwif->config_data + 0xff0)) & CCKCTRL_ATACLKOEN)
|
||||
hwif->ultra_mask = ATA_UDMA6; /* 133MHz */
|
||||
else
|
||||
|
@ -364,9 +364,6 @@ static void __devinit init_hwif_svwks (ide_hwif_t *hwif)
|
||||
hwif->set_dma_mode = &svwks_set_dma_mode;
|
||||
hwif->udma_filter = &svwks_udma_filter;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
||||
|
@ -882,8 +882,6 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif)
|
||||
}
|
||||
}
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -570,9 +570,6 @@ static void __devinit init_hwif_sis5513 (ide_hwif_t *hwif)
|
||||
if (chipset_family >= ATA_133)
|
||||
hwif->udma_filter = sis5513_ata133_udma_filter;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -368,12 +368,6 @@ static void __devinit init_hwif_sl82c105(ide_hwif_t *hwif)
|
||||
hwif->drives[0].io_32bit = hwif->drives[1].io_32bit = 1;
|
||||
hwif->drives[0].unmask = hwif->drives[1].unmask = 1;
|
||||
|
||||
/*
|
||||
* We always autotune PIO, this is done before DMA is checked,
|
||||
* so there's no risk of accidentally disabling DMA
|
||||
*/
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
||||
|
@ -138,9 +138,6 @@ static void __devinit init_hwif_slc90e66 (ide_hwif_t *hwif)
|
||||
|
||||
pci_read_config_byte(hwif->pci_dev, 0x47, ®47);
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (hwif->dma_base == 0)
|
||||
return;
|
||||
|
||||
|
@ -184,8 +184,6 @@ static void __devinit init_hwif_tc86c001(ide_hwif_t *hwif)
|
||||
|
||||
hwif->busproc = &tc86c001_busproc;
|
||||
|
||||
hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
|
||||
|
||||
if (!hwif->dma_base)
|
||||
return;
|
||||
|
||||
|
@ -100,9 +100,6 @@ static void __devinit init_hwif_triflex(ide_hwif_t *hwif)
|
||||
{
|
||||
hwif->set_pio_mode = &triflex_set_pio_mode;
|
||||
hwif->set_dma_mode = &triflex_set_mode;
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
}
|
||||
|
||||
static ide_pci_device_t triflex_device __devinitdata = {
|
||||
|
@ -437,7 +437,6 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif)
|
||||
for (i = 0; i < 2; i++) {
|
||||
hwif->drives[i].io_32bit = 1;
|
||||
hwif->drives[i].unmask = (vdev->via_config->flags & VIA_NO_UNMASK) ? 0 : 1;
|
||||
hwif->drives[i].autotune = 1;
|
||||
}
|
||||
|
||||
if (!hwif->dma_base)
|
||||
|
@ -577,6 +577,9 @@ void ide_pci_setup_ports(struct pci_dev *dev, ide_pci_device_t *d, int pciirq, a
|
||||
hwif->ultra_mask = d->udma_mask;
|
||||
}
|
||||
|
||||
hwif->drives[0].autotune = 1;
|
||||
hwif->drives[1].autotune = 1;
|
||||
|
||||
if (d->init_hwif)
|
||||
/* Call chipset-specific routine
|
||||
* for each enabled hwif
|
||||
|
Loading…
Reference in New Issue
Block a user