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, &params2);
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;