drvp 64 dev/ata/ata.c ata_get_params(struct ata_drive_datas *drvp, u_int8_t flags, drvp 78 dev/ata/ata.c if (drvp->drive_flags & DRIVE_ATA) { drvp 83 dev/ata/ata.c } else if (drvp->drive_flags & DRIVE_ATAPI) { drvp 97 dev/ata/ata.c if ((ret = wdc_exec_command(drvp, &wdc_c)) != WDC_COMPLETE) { drvp 156 dev/ata/ata.c ata_set_mode(struct ata_drive_datas *drvp, u_int8_t mode, u_int8_t flags) drvp 172 dev/ata/ata.c if (wdc_exec_command(drvp, &wdc_c) != WDC_COMPLETE) drvp 185 dev/ata/ata.c ata_dmaerr(struct ata_drive_datas *drvp) drvp 194 dev/ata/ata.c drvp->n_dmaerrs++; drvp 195 dev/ata/ata.c if (drvp->n_dmaerrs >= NERRS_MAX && drvp->n_xfers <= NXFER) { drvp 196 dev/ata/ata.c wdc_downgrade_mode(drvp); drvp 197 dev/ata/ata.c drvp->n_dmaerrs = NERRS_MAX-1; drvp 198 dev/ata/ata.c drvp->n_xfers = 0; drvp 201 dev/ata/ata.c if (drvp->n_xfers > NXFER) { drvp 202 dev/ata/ata.c drvp->n_dmaerrs = 1; /* just got an error */ drvp 203 dev/ata/ata.c drvp->n_xfers = 1; /* restart counting from this error */ drvp 208 dev/ata/ata.c ata_perror(struct ata_drive_datas *drvp, int errno, char *buf, size_t buf_len) drvp 223 dev/ata/ata.c if (drvp->ata_vers >= 4) drvp 133 dev/ata/ata_wdc.c wdc_ata_bio(struct ata_drive_datas *drvp, struct ata_bio *ata_bio) drvp 136 dev/ata/ata_wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 144 dev/ata/ata_wdc.c (drvp->drive_flags & (DRIVE_DMA | DRIVE_UDMA)) && drvp 149 dev/ata/ata_wdc.c xfer->drive = drvp->drive; drvp 178 dev/ata/ata_wdc.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 189 dev/ata/ata_wdc.c if (drvp->state < READY) { drvp 196 dev/ata/ata_wdc.c if (drvp->state != RECAL) { drvp 199 dev/ata/ata_wdc.c xfer->drive, drvp->state); drvp 207 dev/ata/ata_wdc.c drvp->state = RECAL_WAIT; drvp 219 dev/ata/ata_wdc.c if (drvp->n_xfers <= NXFER) drvp 220 dev/ata/ata_wdc.c drvp->n_xfers++; drvp 338 dev/ata/ata_wdc.c if (wdc_ata_err(drvp, ata_bio) != WDC_ATA_ERR) drvp 343 dev/ata/ata_wdc.c if (wdc_ata_err(drvp, ata_bio) == WDC_ATA_ERR) { drvp 347 dev/ata/ata_wdc.c wdc_output_bytes(drvp, (char *)xfer->databuf + xfer->c_skip, drvp 370 dev/ata/ata_wdc.c if (wdc_ata_err(drvp, ata_bio) != WDC_ATA_ERR) drvp 380 dev/ata/ata_wdc.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 389 dev/ata/ata_wdc.c if (drvp->state < READY) { drvp 392 dev/ata/ata_wdc.c drvp->state); drvp 417 dev/ata/ata_wdc.c drv_err = wdc_ata_err(drvp, ata_bio); drvp 437 dev/ata/ata_wdc.c ata_dmaerr(drvp); drvp 456 dev/ata/ata_wdc.c wdc_input_bytes(drvp, (char *)xfer->databuf + xfer->c_skip, drvp 481 dev/ata/ata_wdc.c ata_dmaerr(drvp); drvp 541 dev/ata/ata_wdc.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 545 dev/ata/ata_wdc.c WDCDEBUG_PRINT(("wdc_ata_ctrl_intr: state %d\n", drvp->state), drvp 549 dev/ata/ata_wdc.c switch (drvp->state) { drvp 569 dev/ata/ata_wdc.c if ((drvp->drive_flags & DRIVE_MODE) == 0) drvp 572 dev/ata/ata_wdc.c if (drvp->PIO_mode <= 2) drvp 574 dev/ata/ata_wdc.c wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0, drvp 575 dev/ata/ata_wdc.c 0x08 | drvp->PIO_mode, WDSF_SET_MODE); drvp 576 dev/ata/ata_wdc.c drvp->state = PIOMODE_WAIT; drvp 590 dev/ata/ata_wdc.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 591 dev/ata/ata_wdc.c wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0, drvp 592 dev/ata/ata_wdc.c 0x40 | drvp->UDMA_mode, WDSF_SET_MODE); drvp 593 dev/ata/ata_wdc.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 594 dev/ata/ata_wdc.c wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0, drvp 595 dev/ata/ata_wdc.c 0x20 | drvp->DMA_mode, WDSF_SET_MODE); drvp 599 dev/ata/ata_wdc.c drvp->state = DMAMODE_WAIT; drvp 620 dev/ata/ata_wdc.c drvp->state = GEOMETRY_WAIT; drvp 639 dev/ata/ata_wdc.c drvp->state = MULTIMODE_WAIT; drvp 654 dev/ata/ata_wdc.c drvp->state = READY; drvp 677 dev/ata/ata_wdc.c drvp->state = 0; drvp 692 dev/ata/ata_wdc.c drvp->state = 0; drvp 698 dev/ata/ata_wdc.c wdc_ata_err(struct ata_drive_datas *drvp, struct ata_bio *ata_bio) drvp 700 dev/ata/ata_wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 715 dev/ata/ata_wdc.c if (drvp->drive_flags & DRIVE_UDMA && drvp 721 dev/ata/ata_wdc.c drvp->drive_flags |= DRIVE_DMAERR; drvp 736 dev/ata/ata_wdc.c wdc_ata_addref(drvp) drvp 737 dev/ata/ata_wdc.c struct ata_drive_datas *drvp; drvp 739 dev/ata/ata_wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 745 dev/ata/ata_wdc.c wdc_ata_delref(drvp) drvp 746 dev/ata/ata_wdc.c struct ata_drive_datas *drvp; drvp 748 dev/ata/ata_wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 133 dev/ata/wd.c struct ata_drive_datas *drvp; /* Our controller's infos */ drvp 232 dev/ata/wd.c wd->drvp = aa_link->aa_drv_data; drvp 234 dev/ata/wd.c strlcpy(wd->drvp->drive_name, wd->sc_dev.dv_xname, drvp 235 dev/ata/wd.c sizeof(wd->drvp->drive_name)); drvp 236 dev/ata/wd.c wd->drvp->cf_flags = wd->sc_dev.dv_cfdata->cf_flags; drvp 239 dev/ata/wd.c wd->drvp->n_dmaerrs = NERRS_MAX - 2; drvp 241 dev/ata/wd.c wd->drvp->n_dmaerrs = 0; drvp 267 dev/ata/wd.c wdc_probe_caps(wd->drvp, &wd->sc_params); drvp 268 dev/ata/wd.c wdc_print_caps(wd->drvp); drvp 337 dev/ata/wd.c if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) { drvp 538 dev/ata/wd.c switch (wdc_ata_bio(wd->drvp, &wd->sc_wdc_bio)) { drvp 589 dev/ata/wd.c ata_perror(wd->drvp, wd->sc_wdc_bio.r_error, errbuf, drvp 593 dev/ata/wd.c wdc_reset_channel(wd->drvp); drvp 777 dev/ata/wd.c if (wd->drvp->ata_vers == -1) { drvp 809 dev/ata/wd.c if (wd->drvp->state > RECAL) drvp 810 dev/ata/wd.c wd->drvp->drive_flags |= DRIVE_RESET; drvp 813 dev/ata/wd.c if (wd->drvp->state > RECAL) drvp 814 dev/ata/wd.c wd->drvp->drive_flags |= DRIVE_RESET; drvp 874 dev/ata/wd.c if (wd->drvp->state > RECAL) drvp 875 dev/ata/wd.c wd->drvp->drive_flags |= DRIVE_RESET; drvp 926 dev/ata/wd.c error = wdc_ioctl(wd->drvp, xfer, addr, flag, p); drvp 1011 dev/ata/wd.c if (wd->drvp->state < READY) drvp 1032 dev/ata/wd.c wd->drvp->state = RECAL; drvp 1050 dev/ata/wd.c switch (wdc_ata_bio(wd->drvp, &wd->sc_wdc_bio)) { drvp 1075 dev/ata/wd.c ata_perror(wd->drvp, wd->sc_wdc_bio.r_error, errbuf, drvp 1115 dev/ata/wd.c switch (ata_get_params(wd->drvp, flags, params)) { drvp 1140 dev/ata/wd.c wd->drvp->ata_vers = -1; /* Mark it as pre-ATA */ drvp 1155 dev/ata/wd.c if (wd->drvp->ata_vers < 4) /* WDCC_FLUSHCACHE is here since ATA-4 */ drvp 1168 dev/ata/wd.c if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) { drvp 232 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = aa_link->aa_drv_data; drvp 233 dev/atapiscsi/atapiscsi.c struct channel_softc *chp = drvp->chnl_softc; drvp 234 dev/atapiscsi/atapiscsi.c struct ataparams *id = &drvp->id; drvp 248 dev/atapiscsi/atapiscsi.c as->drive = drvp->drive; drvp 258 dev/atapiscsi/atapiscsi.c strlcpy(drvp->drive_name, as->sc_dev.dv_xname, drvp 259 dev/atapiscsi/atapiscsi.c sizeof(drvp->drive_name)); drvp 260 dev/atapiscsi/atapiscsi.c drvp->cf_flags = as->sc_dev.dv_cfdata->cf_flags; drvp 262 dev/atapiscsi/atapiscsi.c wdc_probe_caps(drvp, id); drvp 270 dev/atapiscsi/atapiscsi.c drvp->n_dmaerrs = NERRS_MAX - 2; drvp 272 dev/atapiscsi/atapiscsi.c drvp->n_dmaerrs = 0; drvp 273 dev/atapiscsi/atapiscsi.c drvp->drive_flags |= DRIVE_DEVICE_RESET; drvp 278 dev/atapiscsi/atapiscsi.c drvp->atapi_cap |= ACAP_DSC; drvp 282 dev/atapiscsi/atapiscsi.c drvp->atapi_cap |= ACAP_LEN; drvp 284 dev/atapiscsi/atapiscsi.c drvp->atapi_cap |= drvp 287 dev/atapiscsi/atapiscsi.c WDCDEBUG_PRINT(("driver caps %04x\n", drvp->atapi_cap), drvp 300 dev/atapiscsi/atapiscsi.c strlcpy(drvp->drive_name, drvp 302 dev/atapiscsi/atapiscsi.c sizeof(drvp->drive_name)); drvp 304 dev/atapiscsi/atapiscsi.c wdc_print_caps(drvp); drvp 328 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[as->drive]; drvp 371 dev/atapiscsi/atapiscsi.c if (drvp->atapi_cap & ACAP_DSC) { drvp 383 dev/atapiscsi/atapiscsi.c if (!(drvp->drive_flags & DRIVE_DSCBA)) { drvp 453 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[as->drive]; drvp 458 dev/atapiscsi/atapiscsi.c return (wdc_ioctl(drvp, cmd, addr, flag, p)); drvp 740 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 750 dev/atapiscsi/atapiscsi.c (drvp->drive_flags & (DRIVE_DMA | DRIVE_UDMA)) && drvp 766 dev/atapiscsi/atapiscsi.c chp->wdc->sc_dev.dv_xname, chp->channel, drvp->drive, drvp 782 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 799 dev/atapiscsi/atapiscsi.c if (drvp->state < ATAPI_READY_STATE) { drvp 817 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 834 dev/atapiscsi/atapiscsi.c drvp->n_xfers++; drvp 841 dev/atapiscsi/atapiscsi.c if ((drvp->atapi_cap & ATAPI_CFG_DRQ_MASK) == ATAPI_CFG_IRQ_DRQ) { drvp 847 dev/atapiscsi/atapiscsi.c chp->wdc->sc_dev.dv_xname, chp->channel, drvp->drive drvp 860 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 865 dev/atapiscsi/atapiscsi.c int cmdlen = (drvp->atapi_cap & ACAP_LEN) ? 16 : 12; drvp 909 dev/atapiscsi/atapiscsi.c wdc_output_bytes(drvp, cmd, cmdlen); drvp 929 dev/atapiscsi/atapiscsi.c if (drvp->atapi_cap & ACAP_DSC) { drvp 932 dev/atapiscsi/atapiscsi.c drvp->drive_flags |= DRIVE_DSCBA; drvp 935 dev/atapiscsi/atapiscsi.c (drvp->drive_flags & DRIVE_DSCBA)) { drvp 941 dev/atapiscsi/atapiscsi.c drvp->drive_flags &= ~DRIVE_DSCBA; drvp 1017 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 1057 dev/atapiscsi/atapiscsi.c wdc_output_bytes(drvp, (u_int8_t *)xfer->databuf + drvp 1060 dev/atapiscsi/atapiscsi.c wdc_input_bytes(drvp, (u_int8_t *)xfer->databuf + drvp 1074 dev/atapiscsi/atapiscsi.c wdc_output_bytes(drvp, (u_int8_t *)xfer->databuf + drvp 1083 dev/atapiscsi/atapiscsi.c wdc_input_bytes(drvp, drvp 1107 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 1117 dev/atapiscsi/atapiscsi.c ata_dmaerr(drvp); drvp 1195 dev/atapiscsi/atapiscsi.c ata_dmaerr(drvp); drvp 1330 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 1336 dev/atapiscsi/atapiscsi.c switch (drvp->state) { drvp 1357 dev/atapiscsi/atapiscsi.c switch (drvp->state) { drvp 1360 dev/atapiscsi/atapiscsi.c drvp->drive_flags &= ~DRIVE_DEVICE_RESET; drvp 1380 dev/atapiscsi/atapiscsi.c drvp->drive_flags &= ~DRIVE_MODE; drvp 1387 dev/atapiscsi/atapiscsi.c drvp->drive_flags &= ~(DRIVE_DMA | DRIVE_UDMA); drvp 1402 dev/atapiscsi/atapiscsi.c chp->wdc->sc_dev.dv_xname, chp->channel, drvp->drive, drvp->state), drvp 1405 dev/atapiscsi/atapiscsi.c switch (drvp->state) { drvp 1420 dev/atapiscsi/atapiscsi.c if ((drvp->drive_flags & DRIVE_DEVICE_RESET) == 0) { drvp 1421 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_IDENTIFY_STATE; drvp 1425 dev/atapiscsi/atapiscsi.c wdccommandshort(chp, drvp->drive, ATAPI_DEVICE_RESET); drvp 1426 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_DEVICE_RESET_WAIT_STATE; drvp 1435 dev/atapiscsi/atapiscsi.c wdccommandshort(chp, drvp->drive, ATAPI_IDENTIFY_DEVICE); drvp 1436 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_IDENTIFY_WAIT_STATE; drvp 1452 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_PIOMODE_STATE; drvp 1466 dev/atapiscsi/atapiscsi.c if ((drvp->drive_flags & DRIVE_MODE) == 0) drvp 1469 dev/atapiscsi/atapiscsi.c if (drvp->PIO_mode <= 2) drvp 1471 dev/atapiscsi/atapiscsi.c wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0, drvp 1472 dev/atapiscsi/atapiscsi.c 0x08 | drvp->PIO_mode, WDSF_SET_MODE); drvp 1473 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_PIOMODE_WAIT_STATE; drvp 1482 dev/atapiscsi/atapiscsi.c drvp->PIO_mode = 3; drvp 1488 dev/atapiscsi/atapiscsi.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 1489 dev/atapiscsi/atapiscsi.c wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0, drvp 1490 dev/atapiscsi/atapiscsi.c 0x40 | drvp->UDMA_mode, WDSF_SET_MODE); drvp 1491 dev/atapiscsi/atapiscsi.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 1492 dev/atapiscsi/atapiscsi.c wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0, drvp 1493 dev/atapiscsi/atapiscsi.c 0x20 | drvp->DMA_mode, WDSF_SET_MODE); drvp 1497 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_DMAMODE_WAIT_STATE; drvp 1507 dev/atapiscsi/atapiscsi.c drvp->drive_flags &= ~(DRIVE_DMA | DRIVE_UDMA); drvp 1512 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_READY_STATE; drvp 1589 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 1591 dev/atapiscsi/atapiscsi.c if (drvp->state == 0) { drvp 1598 dev/atapiscsi/atapiscsi.c drvp->state = ATAPI_IDENTIFY_STATE; drvp 1600 dev/atapiscsi/atapiscsi.c drvp->n_resets++; drvp 1617 dev/atapiscsi/atapiscsi.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 1625 dev/atapiscsi/atapiscsi.c wdc_reset_channel(drvp); drvp 830 dev/ic/wdc.c struct ata_drive_datas *drvp = &chp->ch_drive[i]; drvp 832 dev/ic/wdc.c drvp->chnl_softc = chp; drvp 833 dev/ic/wdc.c drvp->drive = i; drvp 838 dev/ic/wdc.c drvp->drive_flags |= DRIVE_CAP32; drvp 840 dev/ic/wdc.c if ((drvp->drive_flags & DRIVE) == 0) drvp 850 dev/ic/wdc.c if (ata_get_params(&chp->ch_drive[i], at_poll, &drvp->id) == drvp 853 dev/ic/wdc.c drvp->drive_flags &= ~DRIVE_OLD; drvp 855 dev/ic/wdc.c bzero(&drvp->id, sizeof(struct ataparams)); drvp 856 dev/ic/wdc.c drvp->drive_flags &= drvp 862 dev/ic/wdc.c if ((drvp->drive_flags & DRIVE_OLD) && drvp 864 dev/ic/wdc.c drvp->drive_flags &= ~DRIVE_OLD; drvp 1019 dev/ic/wdc.c void wdc_reset_channel(drvp) drvp 1020 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1022 dev/ic/wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 1025 dev/ic/wdc.c chp->wdc->sc_dev.dv_xname, chp->channel, drvp->drive), drvp 1265 dev/ic/wdc.c wdc_probe_caps(drvp, params) drvp 1266 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1269 dev/ic/wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 1272 dev/ic/wdc.c int cf_flags = drvp->cf_flags; drvp 1281 dev/ic/wdc.c drvp->PIO_mode = drvp->PIO_cap = 4; drvp 1282 dev/ic/wdc.c drvp->DMA_mode = drvp->DMA_cap = 2; drvp 1283 dev/ic/wdc.c drvp->UDMA_mode = drvp->UDMA_cap = 5; drvp 1284 dev/ic/wdc.c drvp->drive_flags |= DRIVE_SATA | DRIVE_MODE | DRIVE_UDMA; drvp 1285 dev/ic/wdc.c drvp->ata_vers = 4; drvp 1298 dev/ic/wdc.c drvp->drive_flags |= DRIVE_CAP32; drvp 1299 dev/ic/wdc.c ata_get_params(drvp, at_poll, ¶ms2); drvp 1302 dev/ic/wdc.c drvp->drive_flags &= ~DRIVE_CAP32; drvp 1311 dev/ic/wdc.c drvp->ata_vers = i; drvp 1318 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_ATAPI) drvp 1319 dev/ic/wdc.c drvp->PIO_mode = 3; drvp 1333 dev/ic/wdc.c drvp->PIO_cap = params->atap_oldpiotiming; drvp 1335 dev/ic/wdc.c drvp->drive_flags |= DRIVE_MODE; drvp 1346 dev/ic/wdc.c drvp->PIO_cap = 2; drvp 1348 dev/ic/wdc.c drvp->PIO_cap = 1; drvp 1351 dev/ic/wdc.c drvp->drive_flags |= DRIVE_MODE; drvp 1354 dev/ic/wdc.c drvp->PIO_mode = drvp->PIO_cap; drvp 1383 dev/ic/wdc.c drvp->PIO_cap = i + 3; drvp 1392 dev/ic/wdc.c if (ata_set_mode(drvp, 0x08 | (i + 3), drvp 1401 dev/ic/wdc.c drvp->PIO_mode = i + 3; drvp 1402 dev/ic/wdc.c drvp->PIO_cap = i + 3; drvp 1413 dev/ic/wdc.c drvp->drive_flags |= DRIVE_MODE; drvp 1416 dev/ic/wdc.c if ((drvp->drive_flags & DRIVE_ATAPI) && drvp 1426 dev/ic/wdc.c if (ata_set_mode(drvp, 0x20 | i, at_poll) drvp 1436 dev/ic/wdc.c drvp->DMA_mode = i; drvp 1437 dev/ic/wdc.c drvp->DMA_cap = i; drvp 1438 dev/ic/wdc.c drvp->drive_flags |= DRIVE_DMA; drvp 1449 dev/ic/wdc.c if (ata_set_mode(drvp, 0x40 | i, drvp 1456 dev/ic/wdc.c drvp->UDMA_mode = i; drvp 1457 dev/ic/wdc.c drvp->UDMA_cap = i; drvp 1458 dev/ic/wdc.c drvp->drive_flags |= DRIVE_UDMA; drvp 1466 dev/ic/wdc.c if (drvp->ata_vers == 0) { drvp 1467 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_UDMA) drvp 1468 dev/ic/wdc.c drvp->ata_vers = 4; /* should be at last ATA-4 */ drvp 1469 dev/ic/wdc.c else if (drvp->PIO_cap > 2) drvp 1470 dev/ic/wdc.c drvp->ata_vers = 2; /* should be at last ATA-2 */ drvp 1473 dev/ic/wdc.c drvp->PIO_mode = drvp 1475 dev/ic/wdc.c drvp->drive_flags |= DRIVE_MODE; drvp 1484 dev/ic/wdc.c drvp->drive_flags &= ~DRIVE_DMA; drvp 1486 dev/ic/wdc.c drvp->DMA_mode = (cf_flags & ATA_CONFIG_DMA_MODES) >> drvp 1488 dev/ic/wdc.c drvp->drive_flags |= DRIVE_DMA | DRIVE_MODE; drvp 1498 dev/ic/wdc.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 1500 dev/ic/wdc.c drvp->UDMA_mode = (cf_flags & ATA_CONFIG_UDMA_MODES) >> drvp 1502 dev/ic/wdc.c drvp->drive_flags |= DRIVE_UDMA | DRIVE_MODE; drvp 1508 dev/ic/wdc.c wdc_output_bytes(drvp, bytes, buflen) drvp 1509 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1513 dev/ic/wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 1517 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_CAP32) { drvp 1536 dev/ic/wdc.c wdc_input_bytes(drvp, bytes, buflen) drvp 1537 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1541 dev/ic/wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 1545 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_CAP32) { drvp 1564 dev/ic/wdc.c wdc_print_caps(drvp) drvp 1565 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1570 dev/ic/wdc.c printf("%s: can use ", drvp->drive_name); drvp 1572 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_CAP32) { drvp 1577 dev/ic/wdc.c printf(", PIO mode %d", drvp->PIO_cap); drvp 1579 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_DMA) { drvp 1580 dev/ic/wdc.c printf(", DMA mode %d", drvp->DMA_cap); drvp 1583 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 1584 dev/ic/wdc.c printf(", Ultra-DMA mode %d", drvp->UDMA_cap); drvp 1596 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1599 dev/ic/wdc.c drvp = &chp->ch_drive[drive]; drvp 1600 dev/ic/wdc.c if ((drvp->drive_flags & DRIVE) == 0) drvp 1604 dev/ic/wdc.c drvp->drive_name, drvp 1608 dev/ic/wdc.c !(drvp->cf_flags & ATA_CONFIG_PIO_SET)) drvp 1611 dev/ic/wdc.c printf(" using PIO mode %d", drvp->PIO_mode); drvp 1612 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_DMA) drvp 1613 dev/ic/wdc.c printf(", DMA mode %d", drvp->DMA_mode); drvp 1614 dev/ic/wdc.c if (drvp->drive_flags & DRIVE_UDMA) drvp 1615 dev/ic/wdc.c printf(", Ultra-DMA mode %d", drvp->UDMA_mode); drvp 1625 dev/ic/wdc.c wdc_downgrade_mode(drvp) drvp 1626 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1628 dev/ic/wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 1630 dev/ic/wdc.c int cf_flags = drvp->cf_flags; drvp 1633 dev/ic/wdc.c if ((drvp->drive_flags & DRIVE_MODE) == 0 || drvp 1647 dev/ic/wdc.c if ((drvp->drive_flags & DRIVE_UDMA) && drvp->UDMA_mode > 0) { drvp 1648 dev/ic/wdc.c drvp->UDMA_mode = drvp->UDMA_mode - 1; drvp 1650 dev/ic/wdc.c drvp->drive_name, drvp->UDMA_mode); drvp 1651 dev/ic/wdc.c } else if ((drvp->drive_flags & DRIVE_UDMA) && drvp 1652 dev/ic/wdc.c (drvp->drive_flags & DRIVE_DMAERR) == 0) { drvp 1660 dev/ic/wdc.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 1661 dev/ic/wdc.c drvp->drive_flags |= DRIVE_DMA; drvp 1662 dev/ic/wdc.c drvp->DMA_mode = drvp->DMA_cap; drvp 1664 dev/ic/wdc.c drvp->drive_name, drvp->DMA_mode); drvp 1665 dev/ic/wdc.c } else if (drvp->drive_flags & (DRIVE_DMA | DRIVE_UDMA)) { drvp 1666 dev/ic/wdc.c drvp->drive_flags &= ~(DRIVE_DMA | DRIVE_UDMA); drvp 1667 dev/ic/wdc.c drvp->PIO_mode = drvp->PIO_cap; drvp 1669 dev/ic/wdc.c drvp->drive_name, drvp->PIO_mode); drvp 1675 dev/ic/wdc.c wdc_reset_channel(drvp); drvp 1680 dev/ic/wdc.c wdc_exec_command(drvp, wdc_c) drvp 1681 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 1684 dev/ic/wdc.c struct channel_softc *chp = drvp->chnl_softc; drvp 1689 dev/ic/wdc.c chp->wdc->sc_dev.dv_xname, chp->channel, drvp->drive), drvp 1701 dev/ic/wdc.c xfer->drive = drvp->drive; drvp 1815 dev/ic/wdc.c struct ata_drive_datas *drvp = &chp->ch_drive[xfer->drive]; drvp 1836 dev/ic/wdc.c wdc_input_bytes(drvp, data, bcount); drvp 2292 dev/ic/wdc.c wdc_ioctl(drvp, xfer, addr, flag, p) drvp 2293 dev/ic/wdc.c struct ata_drive_datas *drvp; drvp 2337 dev/ic/wdc.c wi->wi_drvp = drvp; drvp 313 dev/ic/wdcvar.h void wdc_output_bytes(struct ata_drive_datas *drvp, void *, unsigned int); drvp 314 dev/ic/wdcvar.h void wdc_input_bytes(struct ata_drive_datas *drvp, void *, unsigned int); drvp 1579 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 1582 dev/pci/pciide.c drvp = &cp->wdc_channel.ch_drive[drive]; drvp 1584 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 1587 dev/pci/pciide.c if (((drvp->drive_flags & DRIVE_DMA) == 0 && drvp 1588 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) == 0) || drvp 1590 dev/pci/pciide.c drvp->drive_flags &= ~(DRIVE_DMA | DRIVE_UDMA); drvp 1596 dev/pci/pciide.c drvp->drive_flags &= ~(DRIVE_DMA | DRIVE_UDMA); drvp 1967 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 2070 dev/pci/pciide.c drvp = &cp->wdc_channel.ch_drive[drive]; drvp 2072 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 2074 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE_DMA) == 0) drvp 2082 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 2143 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 2155 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 2157 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 2159 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 2161 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 2163 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 2456 dev/pci/pciide.c struct ata_drive_datas *drvp = cp->wdc_channel.ch_drive; drvp 2476 dev/pci/pciide.c if ((drvp[0].drive_flags & DRIVE_DMA) && drvp 2477 dev/pci/pciide.c (drvp[1].drive_flags & DRIVE_DMA)) { drvp 2479 dev/pci/pciide.c min(drvp[0].DMA_mode, drvp[1].DMA_mode); drvp 2480 dev/pci/pciide.c drvp[0].DMA_mode = mode[0]; drvp 2481 dev/pci/pciide.c drvp[1].DMA_mode = mode[1]; drvp 2488 dev/pci/pciide.c if (drvp[0].drive_flags & DRIVE_DMA) { drvp 2489 dev/pci/pciide.c mode[0] = drvp[0].DMA_mode; drvp 2490 dev/pci/pciide.c mode[1] = drvp[1].PIO_mode; drvp 2493 dev/pci/pciide.c mode[1] = drvp[1].PIO_mode = 0; drvp 2496 dev/pci/pciide.c if (drvp[1].drive_flags & DRIVE_DMA) { drvp 2497 dev/pci/pciide.c mode[1] = drvp[1].DMA_mode; drvp 2498 dev/pci/pciide.c mode[0] = drvp[0].PIO_mode; drvp 2501 dev/pci/pciide.c mode[0] = drvp[0].PIO_mode = 0; drvp 2508 dev/pci/pciide.c if (drvp[0].PIO_mode < 2) { drvp 2509 dev/pci/pciide.c mode[0] = drvp[0].PIO_mode = 0; drvp 2510 dev/pci/pciide.c mode[1] = drvp[1].PIO_mode; drvp 2511 dev/pci/pciide.c } else if (drvp[1].PIO_mode < 2) { drvp 2512 dev/pci/pciide.c mode[1] = drvp[1].PIO_mode = 0; drvp 2513 dev/pci/pciide.c mode[0] = drvp[0].PIO_mode; drvp 2516 dev/pci/pciide.c min(drvp[1].PIO_mode, drvp[0].PIO_mode); drvp 2517 dev/pci/pciide.c drvp[0].PIO_mode = mode[0]; drvp 2518 dev/pci/pciide.c drvp[1].PIO_mode = mode[1]; drvp 2522 dev/pci/pciide.c if (drvp[drive].drive_flags & DRIVE_DMA) { drvp 2541 dev/pci/pciide.c if ((drvp[drive].drive_flags & DRIVE) == 0) drvp 2543 dev/pci/pciide.c idetim |= piix_setup_idetim_drvs(&drvp[drive]); drvp 2544 dev/pci/pciide.c if (drvp[drive].drive_flags & DRIVE_DMA) drvp 2560 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 2588 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 2590 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 2592 dev/pci/pciide.c if (((drvp->drive_flags & DRIVE_DMA) == 0 && drvp 2593 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) == 0)) drvp 2628 dev/pci/pciide.c if (drvp->UDMA_mode > 2 && drvp 2630 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 2631 dev/pci/pciide.c if (drvp->UDMA_mode > 4) { drvp 2635 dev/pci/pciide.c if (drvp->UDMA_mode > 2) { drvp 2647 dev/pci/pciide.c if (drvp->UDMA_mode > 2 && drvp 2649 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 2650 dev/pci/pciide.c if (drvp->UDMA_mode > 2) drvp 2657 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA)) { drvp 2659 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 2662 dev/pci/pciide.c piix4_sct_udma[drvp->UDMA_mode], channel, drive); drvp 2665 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 2668 dev/pci/pciide.c drvp->DMA_mode, 1, channel); drvp 2671 dev/pci/pciide.c drvp->DMA_mode, 1, channel); drvp 2679 dev/pci/pciide.c idetim |= piix_setup_idetim_drvs(drvp); drvp 2682 dev/pci/pciide.c drvp->PIO_mode, 0, channel); drvp 2685 dev/pci/pciide.c drvp->PIO_mode, 0, channel); drvp 2723 dev/pci/pciide.c piix_setup_idetim_drvs(struct ata_drive_datas *drvp) drvp 2726 dev/pci/pciide.c struct channel_softc *chp = drvp->chnl_softc; drvp 2728 dev/pci/pciide.c u_int8_t drive = drvp->drive; drvp 2734 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_DMA) { drvp 2736 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE_DMA) && drvp 2737 dev/pci/pciide.c drvp->DMA_mode == 0) { drvp 2738 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 2746 dev/pci/pciide.c if ((piix_isp_pio[drvp->PIO_mode] != drvp 2747 dev/pci/pciide.c piix_isp_dma[drvp->DMA_mode]) || drvp 2748 dev/pci/pciide.c (piix_rtc_pio[drvp->PIO_mode] != drvp 2749 dev/pci/pciide.c piix_rtc_dma[drvp->DMA_mode])) drvp 2750 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 2752 dev/pci/pciide.c if (drvp->PIO_mode <= 2) { drvp 2765 dev/pci/pciide.c if (drvp->PIO_mode < 2) drvp 2769 dev/pci/pciide.c if (drvp->PIO_mode >= 3) { drvp 2865 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 2886 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 2888 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 2891 dev/pci/pciide.c if (((drvp->drive_flags & DRIVE_DMA) == 0 && drvp 2892 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) == 0)) { drvp 2893 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 2897 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA)) { drvp 2899 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 2903 dev/pci/pciide.c drive)) == 0 && drvp->UDMA_mode > 2) { drvp 2905 dev/pci/pciide.c "cable not detected\n", drvp->drive_name, drvp 2908 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 2914 dev/pci/pciide.c amd756_udma_tim[drvp->UDMA_mode]); drvp 2916 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 2919 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 2932 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 2933 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 2938 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode +2)) drvp 2939 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 2941 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 2947 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 2948 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 2951 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 2952 dev/pci/pciide.c drvp->DMA_mode = mode - 2; drvp 3132 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 3164 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 3166 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 3169 dev/pci/pciide.c if (((drvp->drive_flags & DRIVE_DMA) == 0 && drvp 3170 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) == 0)) { drvp 3171 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 3175 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA)) { drvp 3177 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 3182 dev/pci/pciide.c drive, apollo_udma133_tim[drvp->UDMA_mode]); drvp 3186 dev/pci/pciide.c drive, apollo_udma100_tim[drvp->UDMA_mode]); drvp 3191 dev/pci/pciide.c drive, apollo_udma66_tim[drvp->UDMA_mode]); drvp 3195 dev/pci/pciide.c drive, apollo_udma33_tim[drvp->UDMA_mode]); drvp 3198 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 3201 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 3203 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode +2)) drvp 3204 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 3206 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 3212 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 3213 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 3216 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 3217 dev/pci/pciide.c drvp->DMA_mode = mode - 2; drvp 3474 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 3486 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 3488 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 3491 dev/pci/pciide.c tim = cmd0643_9_data_tim_pio[drvp->PIO_mode]; drvp 3492 dev/pci/pciide.c if (drvp->drive_flags & (DRIVE_DMA | DRIVE_UDMA)) { drvp 3493 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 3495 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 3498 dev/pci/pciide.c if (drvp->UDMA_mode > 2 && drvp 3504 dev/pci/pciide.c drvp->drive_name, drvp 3507 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 3509 dev/pci/pciide.c if (drvp->UDMA_mode > 2) drvp 3517 dev/pci/pciide.c (cmd0646_9_tim_udma[drvp->UDMA_mode] << drvp 3537 dev/pci/pciide.c if (drvp->PIO_mode >= 3 && drvp 3538 dev/pci/pciide.c (drvp->DMA_mode + 2) > drvp->PIO_mode) { drvp 3539 dev/pci/pciide.c drvp->DMA_mode = drvp->PIO_mode - 2; drvp 3541 dev/pci/pciide.c tim = cmd0643_9_data_tim_dma[drvp->DMA_mode]; drvp 3677 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 3700 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 3702 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 3705 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 3706 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 3708 dev/pci/pciide.c if (drvp->UDMA_mode > 2 && drvp 3710 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 3712 dev/pci/pciide.c if (drvp->UDMA_mode == 6 && (scsc & 0x30) == 0) { drvp 3716 dev/pci/pciide.c drvp->UDMA_mode = 5; drvp 3722 dev/pci/pciide.c val |= udma2_tbl[drvp->UDMA_mode]; drvp 3724 dev/pci/pciide.c val |= udma_tbl[drvp->UDMA_mode]; drvp 3727 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 3730 dev/pci/pciide.c val = dma_tbl[drvp->DMA_mode]; drvp 3737 dev/pci/pciide.c val = pio_tbl[drvp->PIO_mode]; drvp 3897 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 3910 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 3912 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 3914 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 3916 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 3919 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 4506 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 4521 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 4523 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 4526 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_DMA) { drvp 4529 dev/pci/pciide.c if (dma_mode == -1 || dma_mode > drvp->DMA_mode) drvp 4530 dev/pci/pciide.c dma_mode = drvp->DMA_mode; drvp 4532 dev/pci/pciide.c cy_cmd_ctrl |= (cy_pio_pulse[drvp->PIO_mode] << drvp 4534 dev/pci/pciide.c cy_cmd_ctrl |= (cy_pio_rec[drvp->PIO_mode] << drvp 4536 dev/pci/pciide.c cy_cmd_ctrl |= (cy_pio_pulse[drvp->PIO_mode] << drvp 4538 dev/pci/pciide.c cy_cmd_ctrl |= (cy_pio_rec[drvp->PIO_mode] << drvp 4808 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 4825 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 4827 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 4830 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 4832 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 4835 dev/pci/pciide.c if (drvp->UDMA_mode > 2) drvp 4836 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 4838 dev/pci/pciide.c sis_tim |= sis_udma133new_tim[drvp->UDMA_mode]; drvp 4839 dev/pci/pciide.c sis_tim |= sis_pio133new_tim[drvp->PIO_mode]; drvp 4841 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 4847 dev/pci/pciide.c if (drvp->PIO_mode > (drvp->DMA_mode + 2)) drvp 4848 dev/pci/pciide.c drvp->PIO_mode = drvp->DMA_mode + 2; drvp 4849 dev/pci/pciide.c if (drvp->DMA_mode + 2 > (drvp->PIO_mode)) drvp 4850 dev/pci/pciide.c drvp->DMA_mode = (drvp->PIO_mode > 2) ? drvp 4851 dev/pci/pciide.c drvp->PIO_mode - 2 : 0; drvp 4852 dev/pci/pciide.c sis_tim |= sis_dma133new_tim[drvp->DMA_mode]; drvp 4855 dev/pci/pciide.c sis_tim |= sis_pio133new_tim[drvp->PIO_mode]; drvp 4873 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 4891 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 4893 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 4896 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE_DMA) == 0 && drvp 4897 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) == 0) drvp 4900 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 4902 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 4905 dev/pci/pciide.c if (drvp->UDMA_mode > 2) drvp 4906 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 4911 dev/pci/pciide.c sis_tim |= sis_udma66_tim[drvp->UDMA_mode] << drvp 4916 dev/pci/pciide.c sis_udma100new_tim[drvp->UDMA_mode] << drvp 4921 dev/pci/pciide.c sis_udma133old_tim[drvp->UDMA_mode] << drvp 4934 dev/pci/pciide.c if (drvp->PIO_mode > (drvp->DMA_mode + 2)) drvp 4935 dev/pci/pciide.c drvp->PIO_mode = drvp->DMA_mode + 2; drvp 4936 dev/pci/pciide.c if (drvp->DMA_mode + 2 > (drvp->PIO_mode)) drvp 4937 dev/pci/pciide.c drvp->DMA_mode = (drvp->PIO_mode > 2) ? drvp 4938 dev/pci/pciide.c drvp->PIO_mode - 2 : 0; drvp 4939 dev/pci/pciide.c if (drvp->DMA_mode == 0) drvp 4940 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 4947 dev/pci/pciide.c sis_tim |= sis_pio_act[drvp->PIO_mode] << drvp 4949 dev/pci/pciide.c sis_tim |= sis_pio_rec[drvp->PIO_mode] << drvp 4954 dev/pci/pciide.c sis_tim |= sis_pio_act[drvp->PIO_mode] << drvp 4956 dev/pci/pciide.c sis_tim |= sis_pio_rec[drvp->PIO_mode] << drvp 5043 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 5054 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 5056 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 5061 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE_DMA) == 0) { drvp 5062 dev/pci/pciide.c tim = natsemi_pio_pulse[drvp->PIO_mode] | drvp 5063 dev/pci/pciide.c (natsemi_pio_recover[drvp->PIO_mode] << 4); drvp 5070 dev/pci/pciide.c if (drvp->PIO_mode >= 3 && drvp 5071 dev/pci/pciide.c (drvp->DMA_mode + 2) > drvp->PIO_mode) { drvp 5072 dev/pci/pciide.c drvp->DMA_mode = drvp->PIO_mode - 2; drvp 5075 dev/pci/pciide.c tim = natsemi_dma_pulse[drvp->DMA_mode] | drvp 5076 dev/pci/pciide.c (natsemi_dma_recover[drvp->DMA_mode] << 4); drvp 5228 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 5249 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 5252 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 5264 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) != 0) { drvp 5266 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 5268 dev/pci/pciide.c dmatim = scx200_udma33[drvp->UDMA_mode]; drvp 5269 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 5271 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA) != 0) { drvp 5273 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 5275 dev/pci/pciide.c dmatim = scx200_dma33[drvp->DMA_mode]; drvp 5278 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode + 2)) drvp 5279 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 5281 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 5283 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 5287 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 5289 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 5291 dev/pci/pciide.c drvp->DMA_mode = mode - 2; drvp 5293 dev/pci/pciide.c piotim = scx200_pio33[pioformat][drvp->PIO_mode]; drvp 5411 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 5440 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 5442 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 5454 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE_DMA) == 0 && drvp 5455 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) == 0) { drvp 5462 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 5464 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 5468 dev/pci/pciide.c acer_udma[drvp->UDMA_mode]); drvp 5470 dev/pci/pciide.c if (drvp->UDMA_mode >= 3) { drvp 5482 dev/pci/pciide.c if (drvp->PIO_mode > (drvp->DMA_mode + 2)) drvp 5483 dev/pci/pciide.c drvp->PIO_mode = drvp->DMA_mode + 2; drvp 5484 dev/pci/pciide.c if (drvp->DMA_mode + 2 > (drvp->PIO_mode)) drvp 5485 dev/pci/pciide.c drvp->DMA_mode = (drvp->PIO_mode > 2) ? drvp 5486 dev/pci/pciide.c drvp->PIO_mode - 2 : 0; drvp 5487 dev/pci/pciide.c if (drvp->DMA_mode == 0) drvp 5488 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 5493 dev/pci/pciide.c acer_pio[drvp->PIO_mode]); drvp 5680 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 5734 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 5736 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 5742 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 5744 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 5746 dev/pci/pciide.c drvp->UDMA_mode > 2) { drvp 5748 dev/pci/pciide.c "cable not detected\n", drvp->drive_name, drvp 5751 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 5753 dev/pci/pciide.c after = tim_udma[drvp->UDMA_mode]; drvp 5755 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 5761 dev/pci/pciide.c if (drvp->PIO_mode >= 3 && drvp 5762 dev/pci/pciide.c (drvp->DMA_mode + 2) > drvp->PIO_mode) { drvp 5763 dev/pci/pciide.c drvp->DMA_mode = drvp->PIO_mode - 2; drvp 5765 dev/pci/pciide.c after = tim_dma[drvp->DMA_mode]; drvp 5769 dev/pci/pciide.c after = tim_pio[drvp->PIO_mode]; drvp 6033 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 6109 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 6111 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 6114 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 6116 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 6118 dev/pci/pciide.c pdc2xx_udma_mb[drvp->UDMA_mode]); drvp 6120 dev/pci/pciide.c pdc2xx_udma_mc[drvp->UDMA_mode]); drvp 6122 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 6124 dev/pci/pciide.c pdc2xx_dma_mb[drvp->DMA_mode]); drvp 6126 dev/pci/pciide.c pdc2xx_dma_mc[drvp->DMA_mode]); drvp 6134 dev/pci/pciide.c mode = PDC2xx_TIM_SET_PA(mode, pdc2xx_pa[drvp->PIO_mode]); drvp 6135 dev/pci/pciide.c mode = PDC2xx_TIM_SET_PB(mode, pdc2xx_pb[drvp->PIO_mode]); drvp 6136 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_ATA) drvp 6139 dev/pci/pciide.c if (drvp->PIO_mode >= 3) { drvp 6162 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 6178 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 6180 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 6182 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 6184 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 6186 dev/pci/pciide.c if (cable && drvp->UDMA_mode > 2) { drvp 6188 dev/pci/pciide.c "cable not detected\n", drvp->drive_name, drvp 6191 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 6193 dev/pci/pciide.c } else if (drvp->drive_flags & DRIVE_DMA) { drvp 6567 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 6574 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 6575 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 6577 dev/pci/pciide.c if (drvp->drive_flags & DRIVE_UDMA) { drvp 6579 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 6984 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 7011 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 7013 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) { drvp 7018 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE_DMA)) { drvp 7023 dev/pci/pciide.c if (drvp->PIO_mode > (drvp->DMA_mode + 2)) drvp 7024 dev/pci/pciide.c drvp->PIO_mode = drvp->DMA_mode + 2; drvp 7025 dev/pci/pciide.c if (drvp->DMA_mode + 2 > (drvp->PIO_mode)) drvp 7026 dev/pci/pciide.c drvp->DMA_mode = (drvp->PIO_mode > 2) ? drvp 7027 dev/pci/pciide.c drvp->PIO_mode - 2 : 0; drvp 7028 dev/pci/pciide.c if (drvp->DMA_mode == 0) drvp 7029 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 7031 dev/pci/pciide.c mode[drive] = drvp->DMA_mode + 5; drvp 7033 dev/pci/pciide.c mode[drive] = drvp->PIO_mode; drvp 7149 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 7177 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 7179 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 7183 dev/pci/pciide.c pio_time |= pio_modes[drvp->PIO_mode] << (8 * (unit^1)); drvp 7184 dev/pci/pciide.c pio_mode |= drvp->PIO_mode << (4 * unit + 16); drvp 7186 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA)) { drvp 7188 dev/pci/pciide.c if (sc->sc_rev <= 0x92 && drvp->UDMA_mode > 2 && drvp 7193 dev/pci/pciide.c "cable not detected\n", drvp->drive_name, drvp 7196 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 7198 dev/pci/pciide.c dma_time |= dma_modes[drvp->DMA_mode] << (8 * (unit^1)); drvp 7199 dev/pci/pciide.c udma_mode |= drvp->UDMA_mode << (4 * unit + 16); drvp 7203 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA)) { drvp 7205 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 7206 dev/pci/pciide.c dma_time |= dma_modes[drvp->DMA_mode] << (8 * (unit^1)); drvp 7210 dev/pci/pciide.c drvp->drive_flags &= ~(DRIVE_UDMA | DRIVE_DMA); drvp 7671 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 7697 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 7699 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 7703 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA)) { drvp 7707 dev/pci/pciide.c acard_act_udma[drvp->UDMA_mode], drvp 7708 dev/pci/pciide.c acard_rec_udma[drvp->UDMA_mode]); drvp 7710 dev/pci/pciide.c acard_udma_conf[drvp->UDMA_mode]); drvp 7713 dev/pci/pciide.c acard_act_udma[drvp->UDMA_mode], drvp 7714 dev/pci/pciide.c acard_rec_udma[drvp->UDMA_mode]); drvp 7716 dev/pci/pciide.c acard_udma_conf[drvp->UDMA_mode]); drvp 7720 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA)) { drvp 7722 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 7725 dev/pci/pciide.c acard_act_dma[drvp->DMA_mode], drvp 7726 dev/pci/pciide.c acard_rec_dma[drvp->DMA_mode]); drvp 7729 dev/pci/pciide.c acard_act_dma[drvp->DMA_mode], drvp 7730 dev/pci/pciide.c acard_rec_dma[drvp->DMA_mode]); drvp 7735 dev/pci/pciide.c drvp->drive_flags &= ~(DRIVE_UDMA | DRIVE_DMA); drvp 7738 dev/pci/pciide.c acard_act_pio[drvp->PIO_mode], drvp 7739 dev/pci/pciide.c acard_rec_pio[drvp->PIO_mode]); drvp 7742 dev/pci/pciide.c acard_act_pio[drvp->PIO_mode], drvp 7743 dev/pci/pciide.c acard_rec_pio[drvp->PIO_mode]); drvp 7844 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 7870 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 7873 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 7877 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) != 0) { drvp 7879 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 7882 dev/pci/pciide.c nforce_udma[drvp->UDMA_mode]) | drvp 7886 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 7888 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA) != 0) { drvp 7890 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 7893 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode + 2)) drvp 7894 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 7896 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 7898 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 7906 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 7907 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 7910 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 7911 dev/pci/pciide.c drvp->DMA_mode = mode - 2; drvp 8086 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 8109 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 8112 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 8116 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) != 0) { drvp 8118 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 8123 dev/pci/pciide.c if (drvp->UDMA_mode > 2 && drvp 8127 dev/pci/pciide.c drvp->drive_name, drvp 8130 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 8134 dev/pci/pciide.c if (drvp->UDMA_mode >= 5) drvp 8139 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8141 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA) != 0) { drvp 8143 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 8147 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode + 2)) drvp 8148 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8150 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 8159 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 8160 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 8163 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 8164 dev/pci/pciide.c drvp->DMA_mode = mode - 2; drvp 8168 dev/pci/pciide.c if (drvp->PIO_mode >= 3) drvp 8236 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 8256 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 8259 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 8262 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) != 0) { drvp 8267 dev/pci/pciide.c drvp->UDMA_mode); drvp 8268 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8270 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA) != 0) { drvp 8272 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 8276 dev/pci/pciide.c ixp_mdma_timings[drvp->DMA_mode]); drvp 8279 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode + 2)) drvp 8280 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8282 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 8284 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8288 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 8290 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 8292 dev/pci/pciide.c drvp->DMA_mode = mode - 2; drvp 8297 dev/pci/pciide.c if (drvp->PIO_mode == 1) drvp 8298 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 8300 dev/pci/pciide.c IXP_SET_MODE(pio, chp->channel, drive, drvp->PIO_mode); drvp 8302 dev/pci/pciide.c ixp_pio_timings[drvp->PIO_mode]); drvp 8391 dev/pci/pciide.c struct ata_drive_datas *drvp; drvp 8409 dev/pci/pciide.c drvp = &chp->ch_drive[drive]; drvp 8412 dev/pci/pciide.c if ((drvp->drive_flags & DRIVE) == 0) drvp 8416 dev/pci/pciide.c (drvp->drive_flags & DRIVE_UDMA) != 0) { drvp 8418 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_DMA; drvp 8422 dev/pci/pciide.c (drvp->UDMA_mode > 2)) drvp 8423 dev/pci/pciide.c drvp->UDMA_mode = 2; drvp 8425 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8427 dev/pci/pciide.c (drvp->drive_flags & DRIVE_DMA) != 0) { drvp 8429 dev/pci/pciide.c drvp->drive_flags &= ~DRIVE_UDMA; drvp 8432 dev/pci/pciide.c if (drvp->PIO_mode <= (drvp->DMA_mode + 2)) drvp 8433 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8435 dev/pci/pciide.c mode = drvp->DMA_mode + 2; drvp 8437 dev/pci/pciide.c mode = drvp->PIO_mode; drvp 8445 dev/pci/pciide.c drvp->DMA_mode = 0; drvp 8446 dev/pci/pciide.c drvp->PIO_mode = 0; drvp 8449 dev/pci/pciide.c drvp->PIO_mode = mode; drvp 8450 dev/pci/pciide.c drvp->DMA_mode = mode - 2;