Lines Matching refs:periph

870 static	int		ada_zone_cmd(struct cam_periph *periph, union ccb *ccb,
873 static void adaprobedone(struct cam_periph *periph, union ccb *ccb);
874 static void adazonedone(struct cam_periph *periph, union ccb *ccb);
875 static void adadone(struct cam_periph *periph,
979 struct cam_periph *periph; in adaopen() local
983 periph = (struct cam_periph *)dp->d_drv1; in adaopen()
984 if (cam_periph_acquire(periph) != 0) { in adaopen()
988 cam_periph_lock(periph); in adaopen()
989 if ((error = cam_periph_hold(periph, PRIBIO|PCATCH)) != 0) { in adaopen()
990 cam_periph_unlock(periph); in adaopen()
991 cam_periph_release(periph); in adaopen()
995 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE | CAM_DEBUG_PERIPH, in adaopen()
998 softc = (struct ada_softc *)periph->softc; in adaopen()
1001 cam_periph_unhold(periph); in adaopen()
1002 cam_periph_unlock(periph); in adaopen()
1009 struct cam_periph *periph; in adaclose() local
1014 periph = (struct cam_periph *)dp->d_drv1; in adaclose()
1015 softc = (struct ada_softc *)periph->softc; in adaclose()
1016 cam_periph_lock(periph); in adaclose()
1018 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE | CAM_DEBUG_PERIPH, in adaclose()
1024 (periph->flags & CAM_PERIPH_INVALID) == 0 && in adaclose()
1025 cam_periph_hold(periph, PRIBIO) == 0) { in adaclose()
1026 ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); in adaclose()
1044 xpt_print(periph->path, "Synchronize cache failed\n"); in adaclose()
1047 cam_periph_unhold(periph); in adaclose()
1053 cam_periph_sleep(periph, &softc->refcount, PRIBIO, "adaclose", 1); in adaclose()
1054 cam_periph_unlock(periph); in adaclose()
1055 cam_periph_release(periph); in adaclose()
1060 adaschedule(struct cam_periph *periph) in adaschedule() argument
1062 struct ada_softc *softc = (struct ada_softc *)periph->softc; in adaschedule()
1067 cam_iosched_schedule(softc->cam_iosched, periph); in adaschedule()
1078 struct cam_periph *periph; in adastrategy() local
1081 periph = (struct cam_periph *)bp->bio_disk->d_drv1; in adastrategy()
1082 softc = (struct ada_softc *)periph->softc; in adastrategy()
1084 cam_periph_lock(periph); in adastrategy()
1086 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("adastrategy(%p)\n", bp)); in adastrategy()
1091 if ((periph->flags & CAM_PERIPH_INVALID) != 0) { in adastrategy()
1092 cam_periph_unlock(periph); in adastrategy()
1113 adaschedule(periph); in adastrategy()
1114 cam_periph_unlock(periph); in adastrategy()
1122 struct cam_periph *periph; in adadump() local
1132 periph = dp->d_drv1; in adadump()
1133 softc = (struct ada_softc *)periph->softc; in adadump()
1137 if ((periph->flags & CAM_PERIPH_INVALID) != 0) in adadump()
1142 xpt_setup_ccb(&ataio.ccb_h, periph->path, CAM_PRIORITY_NORMAL); in adadump()
1170 xpt_setup_ccb(&ataio.ccb_h, periph->path, CAM_PRIORITY_NORMAL); in adadump()
1194 xpt_print(periph->path, "Synchronize cache failed\n"); in adadump()
1238 struct cam_periph *periph; in adadiskgonecb() local
1240 periph = (struct cam_periph *)dp->d_drv1; in adadiskgonecb()
1242 cam_periph_release(periph); in adadiskgonecb()
1246 adaoninvalidate(struct cam_periph *periph) in adaoninvalidate() argument
1250 softc = (struct ada_softc *)periph->softc; in adaoninvalidate()
1255 xpt_register_async(0, adaasync, periph, periph->path); in adaoninvalidate()
1276 adacleanup(struct cam_periph *periph) in adacleanup() argument
1280 softc = (struct ada_softc *)periph->softc; in adacleanup()
1282 cam_periph_unlock(periph); in adacleanup()
1292 xpt_print(periph->path, in adacleanup()
1296 xpt_print(periph->path, in adacleanup()
1303 cam_periph_lock(periph); in adacleanup()
1325 struct cam_periph *periph; in adaasync() local
1328 periph = (struct cam_periph *)callback_arg; in adaasync()
1361 softc = (struct ada_softc *)periph->softc; in adaasync()
1362 xpt_gdev_type(&cgd, periph->path); in adaasync()
1380 softc = periph->softc; in adaasync()
1389 softc = (struct ada_softc *)periph->softc; in adaasync()
1401 if (cam_periph_acquire(periph) != 0) in adaasync()
1404 xpt_schedule(periph, CAM_PRIORITY_DEV); in adaasync()
1410 cam_periph_async(periph, code, path, arg); in adaasync()
1478 struct cam_periph *periph; in adasysctlinit() local
1482 periph = (struct cam_periph *)context; in adasysctlinit()
1485 if ((periph->flags & CAM_PERIPH_INVALID) != 0) { in adasysctlinit()
1486 cam_periph_release(periph); in adasysctlinit()
1490 softc = (struct ada_softc *)periph->softc; in adasysctlinit()
1491 snprintf(tmpstr, sizeof(tmpstr), "CAM ADA unit %d",periph->unit_number); in adasysctlinit()
1492 snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number); in adasysctlinit()
1501 cam_periph_release(periph); in adasysctlinit()
1585 periph, 0, cam_periph_invalidate_sysctl, "I", in adasysctlinit()
1613 cam_periph_release(periph); in adasysctlinit()
1620 struct cam_periph *periph; in adagetattr() local
1625 periph = (struct cam_periph *)bp->bio_disk->d_drv1; in adagetattr()
1626 cam_periph_lock(periph); in adagetattr()
1628 periph->path); in adagetattr()
1629 cam_periph_unlock(periph); in adagetattr()
1806 adaregister(struct cam_periph *periph, void *arg) in adaregister() argument
1834 periph->softc = softc; in adaregister()
1835 xpt_path_inq(&softc->cpi, periph->path); in adaregister()
1849 TASK_INIT(&softc->sysctl_task, 0, adasysctlinit, periph); in adaregister()
1856 (void)cam_periph_acquire(periph); in adaregister()
1857 cam_periph_unlock(periph); in adaregister()
1859 "kern.cam.ada.%d.quirks", periph->unit_number); in adaregister()
1865 "kern.cam.ada.%d.read_ahead", periph->unit_number); in adaregister()
1869 "kern.cam.ada.%d.write_cache", periph->unit_number); in adaregister()
1878 periph->ccb_zone = ada_ccb_zone; in adaregister()
1896 softc->disk->d_devstat = devstat_new_entry(periph->periph_name, in adaregister()
1897 periph->unit_number, softc->params.secsize, in adaregister()
1906 if (cam_sim_pollable(periph->sim)) in adaregister()
1910 softc->disk->d_drv1 = periph; in adaregister()
1911 softc->disk->d_unit = periph->unit_number; in adaregister()
1913 if (cam_iosched_init(&softc->cam_iosched, periph, softc->disk, in adaregister()
1923 cam_periph_lock(periph); in adaregister()
1932 xpt_announce_periph_sbuf(periph, &sb, announce_buf); in adaregister()
1933 xpt_announce_quirks_sbuf(periph, &sb, softc->quirks, ADA_Q_BIT_STRING); in adaregister()
1941 if (cam_periph_acquire(periph) == 0) in adaregister()
1954 adaasync, periph, periph->path); in adaregister()
1960 callout_init_mtx(&softc->sendordered_c, cam_periph_mtx(periph), 0); in adaregister()
1966 cam_periph_hold_boot(periph); in adaregister()
1980 adaprobedone(periph, NULL); in adaregister()
1984 xpt_schedule(periph, CAM_PRIORITY_DEV); in adaregister()
2140 ada_zone_cmd(struct cam_periph *periph, union ccb *ccb, struct bio *bp, in ada_zone_cmd() argument
2153 softc = periph->softc; in ada_zone_cmd()
2166 xpt_print(periph->path, "Cannot translate zone " in ada_zone_cmd()
2204 xpt_print(periph->path, "No entries allocated for " in ada_zone_cmd()
2214 xpt_print(periph->path, "Unable to allocate memory " in ada_zone_cmd()
2326 adastart(struct cam_periph *periph, union ccb *start_ccb) in adastart() argument
2328 struct ada_softc *softc = (struct ada_softc *)periph->softc; in adastart()
2331 CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("adastart\n")); in adastart()
2408 adaschedule(periph); in adastart()
2490 adaschedule(periph); in adastart()
2517 error = ada_zone_cmd(periph, start_ccb, bp, &queue_ccb); in adastart()
2526 cam_periph_unlock(periph); in adastart()
2529 cam_periph_lock(periph); in adastart()
2546 cam_periph_unlock(periph); in adastart()
2548 cam_periph_lock(periph); in adastart()
2551 adaschedule(periph); in adastart()
2584 adaprobedone(periph, start_ccb); in adastart()
2590 xpt_print(periph->path, "Couldn't malloc log_dir " in adastart()
2619 xpt_print(periph->path, "Couldn't malloc id_dir " in adastart()
2621 adaprobedone(periph, start_ccb); in adastart()
2647 xpt_print(periph->path, "Couldn't malloc sup_cap " in adastart()
2649 adaprobedone(periph, start_ccb); in adastart()
2675 xpt_print(periph->path, "Couldn't malloc ata_zone " in adastart()
2677 adaprobedone(periph, start_ccb); in adastart()
2701 adaprobedone(struct cam_periph *periph, union ccb *ccb) in adaprobedone() argument
2705 softc = (struct ada_softc *)periph->softc; in adaprobedone()
2718 adaschedule(periph); in adaprobedone()
2726 if (cam_periph_acquire(periph) == 0) in adaprobedone()
2729 cam_periph_release_boot(periph); in adaprobedone()
2731 cam_periph_release_locked(periph); in adaprobedone()
2735 adazonedone(struct cam_periph *periph, union ccb *ccb) in adazonedone() argument
2875 adadone(struct cam_periph *periph, union ccb *done_ccb) in adadone() argument
2883 softc = (struct ada_softc *)periph->softc; in adadone()
2898 cam_periph_lock(periph); in adadone()
2904 cam_periph_unlock(periph); in adadone()
2939 adazonedone(periph, done_ccb); in adadone()
2981 adaschedule(periph); in adadone()
2982 cam_periph_unlock(periph); in adadone()
2994 adaschedule(periph); in adadone()
2995 cam_periph_unlock(periph); in adadone()
3018 xpt_schedule(periph, priority); in adadone()
3046 xpt_schedule(periph, priority); in adadone()
3048 adaprobedone(periph, done_ccb); in adadone()
3116 xpt_schedule(periph, priority); in adadone()
3118 adaprobedone(periph, done_ccb); in adadone()
3202 xpt_schedule(periph, priority); in adadone()
3204 adaprobedone(periph, done_ccb); in adadone()
3306 xpt_schedule(periph, priority); in adadone()
3308 adaprobedone(periph, done_ccb); in adadone()
3394 adaprobedone(periph, done_ccb); in adadone()
3411 struct cam_periph *periph; in adaerror() local
3413 periph = xpt_path_periph(ccb->ccb_h.path); in adaerror()
3414 softc = (struct ada_softc *)periph->softc; in adaerror()
3574 struct cam_periph *periph; in adaflush() local
3579 CAM_PERIPH_FOREACH(periph, &adadriver) { in adaflush()
3580 softc = (struct ada_softc *)periph->softc; in adaflush()
3583 if (!cam_periph_owned(periph) && in adaflush()
3589 cam_periph_lock(periph); in adaflush()
3596 cam_periph_unlock(periph); in adaflush()
3600 ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); in adaflush()
3618 xpt_print(periph->path, "Synchronize cache failed\n"); in adaflush()
3620 cam_periph_unlock(periph); in adaflush()
3627 struct cam_periph *periph; in adaspindown() local
3633 CAM_PERIPH_FOREACH(periph, &adadriver) { in adaspindown()
3635 if (cam_periph_owned(periph)) in adaspindown()
3637 cam_periph_lock(periph); in adaspindown()
3638 softc = (struct ada_softc *)periph->softc; in adaspindown()
3643 cam_periph_unlock(periph); in adaspindown()
3653 xpt_setup_ccb(&local_ccb.ccb_h, periph->path, in adaspindown()
3668 xpt_print(periph->path, in adaspindown()
3674 xpt_print(periph->path, in adaspindown()
3682 xpt_print(periph->path, in adaspindown()
3685 cam_periph_unlock(periph); in adaspindown()
3694 xpt_print(periph->path, "spin-down\n"); in adaspindown()
3697 xpt_setup_ccb(&local_ccb.ccb_h, periph->path, CAM_PRIORITY_NORMAL); in adaspindown()
3713 xpt_print(periph->path, "Spin-down disk failed\n"); in adaspindown()
3714 cam_periph_unlock(periph); in adaspindown()
3765 struct cam_periph *periph; in adaresume() local
3771 CAM_PERIPH_FOREACH(periph, &adadriver) { in adaresume()
3772 cam_periph_lock(periph); in adaresume()
3773 softc = (struct ada_softc *)periph->softc; in adaresume()
3778 cam_periph_unlock(periph); in adaresume()
3783 xpt_print(periph->path, "resume\n"); in adaresume()
3789 cam_release_devq(periph->path, in adaresume()
3795 cam_periph_unlock(periph); in adaresume()