wd 47 arch/i386/i386/conf.c bdev_decl(wd); wd 64 arch/i386/i386/conf.c bdev_disk_init(NWD,wd), /* 0: ST506/ESDI/IDE disk */ wd 118 arch/i386/i386/conf.c cdev_decl(wd); wd 204 arch/i386/i386/conf.c cdev_disk_init(NWD,wd), /* 3: ST506/ESDI/IDE disk */ wd 502 dev/ata/ata_wdc.c wddone(ata_bio->wd); wd 527 dev/ata/ata_wdc.c wddone(ata_bio->wd); wd 191 dev/ata/wd.c cdev_decl(wd); wd 192 dev/ata/wd.c bdev_decl(wd); wd 194 dev/ata/wd.c #define wdlock(wd) disk_lock(&(wd)->sc_dk) wd 195 dev/ata/wd.c #define wdunlock(wd) disk_unlock(&(wd)->sc_dk) wd 224 dev/ata/wd.c struct wd_softc *wd = (void *)self; wd 231 dev/ata/wd.c wd->openings = aa_link->aa_openings; wd 232 dev/ata/wd.c wd->drvp = aa_link->aa_drv_data; wd 234 dev/ata/wd.c strlcpy(wd->drvp->drive_name, wd->sc_dev.dv_xname, wd 235 dev/ata/wd.c sizeof(wd->drvp->drive_name)); wd 236 dev/ata/wd.c wd->drvp->cf_flags = wd->sc_dev.dv_cfdata->cf_flags; wd 239 dev/ata/wd.c wd->drvp->n_dmaerrs = NERRS_MAX - 2; wd 241 dev/ata/wd.c wd->drvp->n_dmaerrs = 0; wd 244 dev/ata/wd.c if (wd_get_params(wd, at_poll, &wd->sc_params) != 0) { wd 245 dev/ata/wd.c printf("%s: IDENTIFY failed\n", wd->sc_dev.dv_xname); wd 249 dev/ata/wd.c for (blank = 0, p = wd->sc_params.atap_model, q = buf, i = 0; wd 250 dev/ata/wd.c i < sizeof(wd->sc_params.atap_model); i++) { wd 267 dev/ata/wd.c wdc_probe_caps(wd->drvp, &wd->sc_params); wd 268 dev/ata/wd.c wdc_print_caps(wd->drvp); wd 270 dev/ata/wd.c if ((wd->sc_params.atap_multi & 0xff) > 1) { wd 271 dev/ata/wd.c wd->sc_multi = wd->sc_params.atap_multi & 0xff; wd 273 dev/ata/wd.c wd->sc_multi = 1; wd 276 dev/ata/wd.c printf("%s: %d-sector PIO,", wd->sc_dev.dv_xname, wd->sc_multi); wd 280 dev/ata/wd.c if ((wd->sc_params.atap_cmd2_en & ATAPI_CMD2_48AD) != 0) wd 281 dev/ata/wd.c wd->sc_flags |= WDF_LBA48; wd 284 dev/ata/wd.c if ((wd->sc_params.atap_capabilities1 & WDC_CAP_LBA) != 0) wd 285 dev/ata/wd.c wd->sc_flags |= WDF_LBA; wd 288 dev/ata/wd.c if (wd->sc_params.atap_ataversion != 0xffff && wd 289 dev/ata/wd.c wd->sc_params.atap_ataversion >= WDC_VER_ATA4) wd 290 dev/ata/wd.c wd->sc_flags |= WDF_LBA; wd 293 dev/ata/wd.c if ((wd->sc_flags & WDF_LBA48) != 0) { wd 294 dev/ata/wd.c wd->sc_capacity = wd 295 dev/ata/wd.c (((u_int64_t)wd->sc_params.atap_max_lba[3] << 48) | wd 296 dev/ata/wd.c ((u_int64_t)wd->sc_params.atap_max_lba[2] << 32) | wd 297 dev/ata/wd.c ((u_int64_t)wd->sc_params.atap_max_lba[1] << 16) | wd 298 dev/ata/wd.c (u_int64_t)wd->sc_params.atap_max_lba[0]); wd 300 dev/ata/wd.c wd->sc_capacity / (1048576 / DEV_BSIZE), wd 301 dev/ata/wd.c wd->sc_capacity); wd 302 dev/ata/wd.c } else if ((wd->sc_flags & WDF_LBA) != 0) { wd 303 dev/ata/wd.c wd->sc_capacity = wd 304 dev/ata/wd.c (wd->sc_params.atap_capacity[1] << 16) | wd 305 dev/ata/wd.c wd->sc_params.atap_capacity[0]; wd 307 dev/ata/wd.c wd->sc_capacity / (1048576 / DEV_BSIZE), wd 308 dev/ata/wd.c wd->sc_capacity); wd 310 dev/ata/wd.c wd->sc_capacity = wd 311 dev/ata/wd.c wd->sc_params.atap_cylinders * wd 312 dev/ata/wd.c wd->sc_params.atap_heads * wd 313 dev/ata/wd.c wd->sc_params.atap_sectors; wd 315 dev/ata/wd.c wd->sc_capacity / (1048576 / DEV_BSIZE), wd 316 dev/ata/wd.c wd->sc_params.atap_cylinders, wd 317 dev/ata/wd.c wd->sc_params.atap_heads, wd 318 dev/ata/wd.c wd->sc_params.atap_sectors, wd 319 dev/ata/wd.c wd->sc_capacity); wd 322 dev/ata/wd.c self->dv_xname, wd->sc_params.atap_dmatiming_mimi, wd 323 dev/ata/wd.c wd->sc_params.atap_dmatiming_recom), DEBUG_PROBE); wd 337 dev/ata/wd.c if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) { wd 339 dev/ata/wd.c wd->sc_dev.dv_xname); wd 345 dev/ata/wd.c wd->sc_dk.dk_driver = &wddkdriver; wd 346 dev/ata/wd.c wd->sc_dk.dk_name = wd->sc_dev.dv_xname; wd 347 dev/ata/wd.c disk_attach(&wd->sc_dk); wd 348 dev/ata/wd.c wd->sc_wdc_bio.lp = wd->sc_dk.dk_label; wd 349 dev/ata/wd.c wd->sc_sdhook = shutdownhook_establish(wd_shutdown, wd); wd 350 dev/ata/wd.c if (wd->sc_sdhook == NULL) wd 352 dev/ata/wd.c wd->sc_dev.dv_xname); wd 353 dev/ata/wd.c timeout_set(&wd->sc_restart_timeout, wdrestart, wd); wd 418 dev/ata/wd.c struct wd_softc *wd; wd 421 dev/ata/wd.c wd = wdlookup(DISKUNIT(bp->b_dev)); wd 422 dev/ata/wd.c if (wd == NULL) { wd 427 dev/ata/wd.c WDCDEBUG_PRINT(("wdstrategy (%s)\n", wd->sc_dev.dv_xname), wd 432 dev/ata/wd.c (bp->b_bcount % wd->sc_dk.dk_label->d_secsize) != 0 || wd 433 dev/ata/wd.c (bp->b_bcount / wd->sc_dk.dk_label->d_secsize) >= (1 << NBBY)) { wd 439 dev/ata/wd.c if ((wd->sc_flags & WDF_LOADED) == 0) { wd 453 dev/ata/wd.c bounds_check_with_label(bp, wd->sc_dk.dk_label, wd 454 dev/ata/wd.c (wd->sc_flags & (WDF_WLABEL|WDF_LABELLING)) != 0) <= 0) wd 458 dev/ata/wd.c disksort(&wd->sc_q, bp); wd 459 dev/ata/wd.c wdstart(wd); wd 461 dev/ata/wd.c device_unref(&wd->sc_dev); wd 471 dev/ata/wd.c if (wd != NULL) wd 472 dev/ata/wd.c device_unref(&wd->sc_dev); wd 481 dev/ata/wd.c struct wd_softc *wd = arg; wd 484 dev/ata/wd.c WDCDEBUG_PRINT(("wdstart %s\n", wd->sc_dev.dv_xname), wd 486 dev/ata/wd.c while (wd->openings > 0) { wd 489 dev/ata/wd.c dp = &wd->sc_q; wd 497 dev/ata/wd.c wd->openings--; wd 499 dev/ata/wd.c wd->retries = 0; wd 500 dev/ata/wd.c __wdstart(wd, bp); wd 505 dev/ata/wd.c __wdstart(struct wd_softc *wd, struct buf *bp) wd 509 dev/ata/wd.c wd->sc_wdc_bio.blkno = bp->b_blkno + wd 510 dev/ata/wd.c DL_GETPOFFSET(&wd->sc_dk.dk_label->d_partitions[DISKPART(bp->b_dev)]); wd 511 dev/ata/wd.c wd->sc_wdc_bio.blkno /= (wd->sc_dk.dk_label->d_secsize / DEV_BSIZE); wd 512 dev/ata/wd.c wd->sc_wdc_bio.blkdone =0; wd 513 dev/ata/wd.c wd->sc_bp = bp; wd 519 dev/ata/wd.c if (wd->sc_multi == 1 || wd->retries >= WDIORETRIES_SINGLE) wd 520 dev/ata/wd.c wd->sc_wdc_bio.flags = ATA_SINGLE; wd 522 dev/ata/wd.c wd->sc_wdc_bio.flags = 0; wd 523 dev/ata/wd.c nblks = bp->b_bcount / wd->sc_dk.dk_label->d_secsize; wd 524 dev/ata/wd.c if ((wd->sc_flags & WDF_LBA48) && wd 526 dev/ata/wd.c ((wd->sc_wdc_bio.blkno + nblks - 1 > LBA48_THRESHOLD) || wd 528 dev/ata/wd.c wd->sc_wdc_bio.flags |= ATA_LBA48; wd 529 dev/ata/wd.c if (wd->sc_flags & WDF_LBA) wd 530 dev/ata/wd.c wd->sc_wdc_bio.flags |= ATA_LBA; wd 532 dev/ata/wd.c wd->sc_wdc_bio.flags |= ATA_READ; wd 533 dev/ata/wd.c wd->sc_wdc_bio.bcount = bp->b_bcount; wd 534 dev/ata/wd.c wd->sc_wdc_bio.databuf = bp->b_data; wd 535 dev/ata/wd.c wd->sc_wdc_bio.wd = wd; wd 537 dev/ata/wd.c disk_busy(&wd->sc_dk); wd 538 dev/ata/wd.c switch (wdc_ata_bio(wd->drvp, &wd->sc_wdc_bio)) { wd 540 dev/ata/wd.c timeout_add(&wd->sc_restart_timeout, hz); wd 550 dev/ata/wd.c if (wd->sc_wdc_bio.flags & ATA_POLL) wd 551 dev/ata/wd.c wddone(wd); wd 562 dev/ata/wd.c struct wd_softc *wd = v; wd 563 dev/ata/wd.c struct buf *bp = wd->sc_bp; wd 565 dev/ata/wd.c WDCDEBUG_PRINT(("wddone %s\n", wd->sc_dev.dv_xname), wd 568 dev/ata/wd.c bp->b_resid = wd->sc_wdc_bio.bcount; wd 570 dev/ata/wd.c switch (wd->sc_wdc_bio.error) { wd 586 dev/ata/wd.c if (wd->sc_wdc_bio.r_error != 0 && wd 587 dev/ata/wd.c (wd->sc_wdc_bio.r_error & ~(WDCE_MC | WDCE_MCR)) == 0) wd 589 dev/ata/wd.c ata_perror(wd->drvp, wd->sc_wdc_bio.r_error, errbuf, wd 593 dev/ata/wd.c wdc_reset_channel(wd->drvp); wd 595 dev/ata/wd.c wd->sc_wdc_bio.blkdone, wd->sc_dk.dk_label); wd 596 dev/ata/wd.c if (wd->retries++ < WDIORETRIES) { wd 598 dev/ata/wd.c timeout_add(&wd->sc_restart_timeout, RECOVERYTIME); wd 606 dev/ata/wd.c noerror: if ((wd->sc_wdc_bio.flags & ATA_CORR) || wd->retries > 0) wd 608 dev/ata/wd.c wd->sc_dev.dv_xname); wd 610 dev/ata/wd.c disk_unbusy(&wd->sc_dk, (bp->b_bcount - bp->b_resid), wd 613 dev/ata/wd.c wd->openings++; wd 614 dev/ata/wd.c wdstart(wd); wd 620 dev/ata/wd.c struct wd_softc *wd = v; wd 621 dev/ata/wd.c struct buf *bp = wd->sc_bp; wd 623 dev/ata/wd.c WDCDEBUG_PRINT(("wdrestart %s\n", wd->sc_dev.dv_xname), wd 627 dev/ata/wd.c disk_unbusy(&wd->sc_dk, 0, (bp->b_flags & B_READ)); wd 651 dev/ata/wd.c struct wd_softc *wd; wd 658 dev/ata/wd.c wd = wdlookup(unit); wd 659 dev/ata/wd.c if (wd == NULL) wd 666 dev/ata/wd.c if ((error = wdlock(wd)) != 0) wd 669 dev/ata/wd.c if (wd->sc_dk.dk_openmask != 0) { wd 674 dev/ata/wd.c if ((wd->sc_flags & WDF_LOADED) == 0) { wd 679 dev/ata/wd.c if ((wd->sc_flags & WDF_LOADED) == 0) { wd 680 dev/ata/wd.c wd->sc_flags |= WDF_LOADED; wd 683 dev/ata/wd.c wd_get_params(wd, AT_WAIT, &wd->sc_params); wd 686 dev/ata/wd.c wdgetdisklabel(dev, wd, wd->sc_dk.dk_label, 0); wd 694 dev/ata/wd.c (part >= wd->sc_dk.dk_label->d_npartitions || wd 695 dev/ata/wd.c wd->sc_dk.dk_label->d_partitions[part].p_fstype == FS_UNUSED)) { wd 703 dev/ata/wd.c wd->sc_dk.dk_copenmask |= (1 << part); wd 706 dev/ata/wd.c wd->sc_dk.dk_bopenmask |= (1 << part); wd 709 dev/ata/wd.c wd->sc_dk.dk_openmask = wd 710 dev/ata/wd.c wd->sc_dk.dk_copenmask | wd->sc_dk.dk_bopenmask; wd 712 dev/ata/wd.c wdunlock(wd); wd 713 dev/ata/wd.c device_unref(&wd->sc_dev); wd 717 dev/ata/wd.c if (wd->sc_dk.dk_openmask == 0) { wd 721 dev/ata/wd.c wdunlock(wd); wd 723 dev/ata/wd.c device_unref(&wd->sc_dev); wd 730 dev/ata/wd.c struct wd_softc *wd; wd 734 dev/ata/wd.c wd = wdlookup(DISKUNIT(dev)); wd 735 dev/ata/wd.c if (wd == NULL) wd 739 dev/ata/wd.c if ((error = wdlock(wd)) != 0) wd 744 dev/ata/wd.c wd->sc_dk.dk_copenmask &= ~(1 << part); wd 747 dev/ata/wd.c wd->sc_dk.dk_bopenmask &= ~(1 << part); wd 750 dev/ata/wd.c wd->sc_dk.dk_openmask = wd 751 dev/ata/wd.c wd->sc_dk.dk_copenmask | wd->sc_dk.dk_bopenmask; wd 753 dev/ata/wd.c if (wd->sc_dk.dk_openmask == 0) { wd 754 dev/ata/wd.c wd_flushcache(wd, 0); wd 758 dev/ata/wd.c wdunlock(wd); wd 761 dev/ata/wd.c device_unref(&wd->sc_dev); wd 766 dev/ata/wd.c wdgetdefaultlabel(struct wd_softc *wd, struct disklabel *lp) wd 772 dev/ata/wd.c DL_SETDSIZE(lp, wd->sc_capacity); wd 773 dev/ata/wd.c lp->d_ntracks = wd->sc_params.atap_heads; wd 774 dev/ata/wd.c lp->d_nsectors = wd->sc_params.atap_sectors; wd 777 dev/ata/wd.c if (wd->drvp->ata_vers == -1) { wd 785 dev/ata/wd.c strncpy(lp->d_packname, wd->sc_params.atap_model, sizeof lp->d_packname); wd 800 dev/ata/wd.c wdgetdisklabel(dev_t dev, struct wd_softc *wd, struct disklabel *lp, wd 807 dev/ata/wd.c wdgetdefaultlabel(wd, lp); wd 809 dev/ata/wd.c if (wd->drvp->state > RECAL) wd 810 dev/ata/wd.c wd->drvp->drive_flags |= DRIVE_RESET; wd 813 dev/ata/wd.c if (wd->drvp->state > RECAL) wd 814 dev/ata/wd.c wd->drvp->drive_flags |= DRIVE_RESET; wd 823 dev/ata/wd.c struct wd_softc *wd; wd 829 dev/ata/wd.c wd = wdlookup(DISKUNIT(dev)); wd 830 dev/ata/wd.c if (wd == NULL) wd 833 dev/ata/wd.c if ((wd->sc_flags & WDF_LOADED) == 0) { wd 841 dev/ata/wd.c wdgetdisklabel(dev, wd, lp, 0); wd 842 dev/ata/wd.c bcopy(lp, wd->sc_dk.dk_label, sizeof(*lp)); wd 847 dev/ata/wd.c wdgetdisklabel(dev, wd, (struct disklabel *)addr, 1); wd 851 dev/ata/wd.c *(struct disklabel *)addr = *(wd->sc_dk.dk_label); wd 855 dev/ata/wd.c ((struct partinfo *)addr)->disklab = wd->sc_dk.dk_label; wd 857 dev/ata/wd.c &wd->sc_dk.dk_label->d_partitions[DISKPART(dev)]; wd 867 dev/ata/wd.c if ((error = wdlock(wd)) != 0) wd 869 dev/ata/wd.c wd->sc_flags |= WDF_LABELLING; wd 871 dev/ata/wd.c error = setdisklabel(wd->sc_dk.dk_label, wd 874 dev/ata/wd.c if (wd->drvp->state > RECAL) wd 875 dev/ata/wd.c wd->drvp->drive_flags |= DRIVE_RESET; wd 878 dev/ata/wd.c wdstrategy, wd->sc_dk.dk_label); wd 881 dev/ata/wd.c wd->sc_flags &= ~WDF_LABELLING; wd 882 dev/ata/wd.c wdunlock(wd); wd 892 dev/ata/wd.c wd->sc_flags |= WDF_WLABEL; wd 894 dev/ata/wd.c wd->sc_flags &= ~WDF_WLABEL; wd 914 dev/ata/wd.c fop->df_startblk * wd->sc_dk.dk_label->d_secsize; wd 926 dev/ata/wd.c error = wdc_ioctl(wd->drvp, xfer, addr, flag, p); wd 935 dev/ata/wd.c device_unref(&wd->sc_dev); wd 952 dev/ata/wd.c struct wd_softc *wd; wd 958 dev/ata/wd.c wd = wdlookup(DISKUNIT(dev)); wd 959 dev/ata/wd.c if (wd == NULL) wd 963 dev/ata/wd.c omask = wd->sc_dk.dk_openmask & (1 << part); wd 970 dev/ata/wd.c size = DL_GETPSIZE(&wd->sc_dk.dk_label->d_partitions[part]) * wd 971 dev/ata/wd.c (wd->sc_dk.dk_label->d_secsize / DEV_BSIZE); wd 976 dev/ata/wd.c device_unref(&wd->sc_dev); wd 991 dev/ata/wd.c struct wd_softc *wd; /* disk unit to do the I/O */ wd 1004 dev/ata/wd.c wd = wdlookup(unit); wd 1005 dev/ata/wd.c if (wd == NULL) wd 1011 dev/ata/wd.c if (wd->drvp->state < READY) wd 1015 dev/ata/wd.c lp = wd->sc_dk.dk_label; wd 1030 dev/ata/wd.c wddumpmulti = wd->sc_multi; wd 1032 dev/ata/wd.c wd->drvp->state = RECAL; wd 1037 dev/ata/wd.c wd->sc_wdc_bio.blkno = blkno; wd 1038 dev/ata/wd.c wd->sc_wdc_bio.flags = ATA_POLL; wd 1040 dev/ata/wd.c wd->sc_wdc_bio.flags |= ATA_SINGLE; wd 1041 dev/ata/wd.c if (wd->sc_flags & WDF_LBA48) wd 1042 dev/ata/wd.c wd->sc_wdc_bio.flags |= ATA_LBA48; wd 1043 dev/ata/wd.c if (wd->sc_flags & WDF_LBA) wd 1044 dev/ata/wd.c wd->sc_wdc_bio.flags |= ATA_LBA; wd 1045 dev/ata/wd.c wd->sc_wdc_bio.bcount = wd 1047 dev/ata/wd.c wd->sc_wdc_bio.databuf = va; wd 1048 dev/ata/wd.c wd->sc_wdc_bio.wd = wd; wd 1050 dev/ata/wd.c switch (wdc_ata_bio(wd->drvp, &wd->sc_wdc_bio)) { wd 1060 dev/ata/wd.c switch(wd->sc_wdc_bio.error) { wd 1075 dev/ata/wd.c ata_perror(wd->drvp, wd->sc_wdc_bio.r_error, errbuf, wd 1113 dev/ata/wd.c wd_get_params(struct wd_softc *wd, u_int8_t flags, struct ataparams *params) wd 1115 dev/ata/wd.c switch (ata_get_params(wd->drvp, flags, params)) { wd 1120 dev/ata/wd.c if (wd->sc_params.atap_cylinders != 0) { wd 1121 dev/ata/wd.c if (params != &wd->sc_params) wd 1122 dev/ata/wd.c bcopy(&wd->sc_params, params, wd 1140 dev/ata/wd.c wd->drvp->ata_vers = -1; /* Mark it as pre-ATA */ wd 1151 dev/ata/wd.c wd_flushcache(struct wd_softc *wd, int flags) wd 1155 dev/ata/wd.c if (wd->drvp->ata_vers < 4) /* WDCC_FLUSHCACHE is here since ATA-4 */ wd 1158 dev/ata/wd.c wdc_c.r_command = (wd->sc_flags & WDF_LBA48 ? WDCC_FLUSHCACHE_EXT : wd 1168 dev/ata/wd.c if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) { wd 1170 dev/ata/wd.c wd->sc_dev.dv_xname); wd 1174 dev/ata/wd.c wd->sc_dev.dv_xname); wd 1178 dev/ata/wd.c wd->sc_dev.dv_xname); wd 1190 dev/ata/wd.c struct wd_softc *wd = arg; wd 1191 dev/ata/wd.c wd_flushcache(wd, AT_POLL); wd 66 dev/ata/wdvar.h struct wd_softc *wd; wd 325 dev/pci/eap.c eap1371_ready_codec(struct eap_softc *sc, u_int8_t a, u_int32_t wd) wd 363 dev/pci/eap.c EWRITE4(sc, E1371_CODEC, wd); wd 756 scsi/ss.c } wd; wd 757 scsi/ss.c #define window_data wd.window_data wd 758 scsi/ss.c #define vendor_unique wd.vendor_unique wd 858 scsi/ss.c &window_cmd, (void *)&wd)); wd 863 scsi/ss.c sizeof(window_cmd), (u_char *) &wd.window_data,