Changeset View
Changeset View
Standalone View
Standalone View
sys/cam/scsi/scsi_pass.c
Show First 20 Lines • Show All 582 Lines • ▼ Show 20 Lines | passregister(struct cam_periph *periph, void *arg) | ||||
TAILQ_INIT(&softc->done_queue); | TAILQ_INIT(&softc->done_queue); | ||||
snprintf(softc->zone_name, sizeof(softc->zone_name), "%s%d", | snprintf(softc->zone_name, sizeof(softc->zone_name), "%s%d", | ||||
periph->periph_name, periph->unit_number); | periph->periph_name, periph->unit_number); | ||||
snprintf(softc->io_zone_name, sizeof(softc->io_zone_name), "%s%dIO", | snprintf(softc->io_zone_name, sizeof(softc->io_zone_name), "%s%dIO", | ||||
periph->periph_name, periph->unit_number); | periph->periph_name, periph->unit_number); | ||||
softc->io_zone_size = MAXPHYS; | softc->io_zone_size = MAXPHYS; | ||||
knlist_init_mtx(&softc->read_select.si_note, cam_periph_mtx(periph)); | knlist_init_mtx(&softc->read_select.si_note, cam_periph_mtx(periph)); | ||||
bzero(&cpi, sizeof(cpi)); | xpt_path_inq(&cpi, periph->path, CAM_PRIORITY_NORMAL); | ||||
xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL); | |||||
cpi.ccb_h.func_code = XPT_PATH_INQ; | |||||
xpt_action((union ccb *)&cpi); | |||||
if (cpi.maxio == 0) | if (cpi.maxio == 0) | ||||
softc->maxio = DFLTPHYS; /* traditional default */ | softc->maxio = DFLTPHYS; /* traditional default */ | ||||
else if (cpi.maxio > MAXPHYS) | else if (cpi.maxio > MAXPHYS) | ||||
softc->maxio = MAXPHYS; /* for safety */ | softc->maxio = MAXPHYS; /* for safety */ | ||||
else | else | ||||
softc->maxio = cpi.maxio; /* real value */ | softc->maxio = cpi.maxio; /* real value */ | ||||
▲ Show 20 Lines • Show All 1,679 Lines • Show Last 20 Lines |