Lines Matching refs:scan_info
1919 free_scan_info(scsi_scan_bus_info *scan_info) in free_scan_info() argument
1921 KASSERT(scan_info->cpi != NULL, in free_scan_info()
1922 ("scan_info (%p) missing its ccb_pathinq CCB\n", scan_info)); in free_scan_info()
1923 xpt_free_ccb((union ccb *)scan_info->cpi); in free_scan_info()
1924 free(scan_info, M_CAMXPT); in free_scan_info()
1943 scsi_scan_bus_info *scan_info; in scsi_scan_bus() local
1997 scan_info = (scsi_scan_bus_info *) malloc(sizeof(scsi_scan_bus_info) + in scsi_scan_bus()
1999 if (scan_info == NULL) { in scsi_scan_bus()
2006 ("SCAN start for %p\n", scan_info)); in scsi_scan_bus()
2007 scan_info->request_ccb = request_ccb; in scsi_scan_bus()
2008 scan_info->cpi = &work_ccb->cpi; in scsi_scan_bus()
2011 max_target = scan_info->cpi->max_target; in scsi_scan_bus()
2013 initiator_id = scan_info->cpi->initiator_id; in scsi_scan_bus()
2021 scan_info->counter = 0; in scsi_scan_bus()
2022 } else if (scan_info->cpi->hba_misc & PIM_SEQSCAN) { in scsi_scan_bus()
2024 scan_info->counter = 0; in scsi_scan_bus()
2026 scan_info->counter = scan_info->cpi->max_target + 1; in scsi_scan_bus()
2027 if (scan_info->cpi->initiator_id < scan_info->counter) { in scsi_scan_bus()
2028 scan_info->counter--; in scsi_scan_bus()
2031 mtx = xpt_path_mtx(scan_info->request_ccb->ccb_h.path); in scsi_scan_bus()
2046 free_scan_info(scan_info); in scsi_scan_bus()
2053 free_scan_info(scan_info); in scsi_scan_bus()
2064 work_ccb->ccb_h.ppriv_ptr0 = scan_info; in scsi_scan_bus()
2076 scsi_scan_bus_info *scan_info; in scsi_scan_bus() local
2087 scan_info = (scsi_scan_bus_info *)request_ccb->ccb_h.ppriv_ptr0; in scsi_scan_bus()
2094 mtx = xpt_path_mtx(scan_info->request_ccb->ccb_h.path); in scsi_scan_bus()
2107 if (first == 0 && scan_info->lunindex[target_id] == 0) { in scsi_scan_bus()
2108 scan_info->lunindex[target_id]++; in scsi_scan_bus()
2114 while (scan_info->lunindex[target_id] < nluns) { in scsi_scan_bus()
2115 if (scan_info->cpi->hba_misc & PIM_EXTLUNS) { in scsi_scan_bus()
2117 scan_info->lunindex[target_id], in scsi_scan_bus()
2123 scan_info->lunindex[target_id])) { in scsi_scan_bus()
2125 scan_info->lunindex[target_id], in scsi_scan_bus()
2130 scan_info->lunindex[target_id]++; in scsi_scan_bus()
2133 if (scan_info->lunindex[target_id] < nluns) { in scsi_scan_bus()
2139 scan_info->lunindex[target_id], in scsi_scan_bus()
2141 scan_info->lunindex[target_id]++; in scsi_scan_bus()
2177 if (lun_id > scan_info->cpi->max_lun) in scsi_scan_bus()
2194 if (scan_info->request_ccb->ccb_h.func_code == XPT_SCAN_TGT) { in scsi_scan_bus()
2196 } else if (scan_info->cpi->hba_misc & PIM_SEQSCAN) { in scsi_scan_bus()
2197 scan_info->counter++; in scsi_scan_bus()
2198 if (scan_info->counter == in scsi_scan_bus()
2199 scan_info->cpi->initiator_id) { in scsi_scan_bus()
2200 scan_info->counter++; in scsi_scan_bus()
2202 if (scan_info->counter >= in scsi_scan_bus()
2203 scan_info->cpi->max_target+1) { in scsi_scan_bus()
2207 scan_info->counter--; in scsi_scan_bus()
2208 if (scan_info->counter == 0) { in scsi_scan_bus()
2215 request_ccb = scan_info->request_ccb; in scsi_scan_bus()
2218 ("SCAN done for %p\n", scan_info)); in scsi_scan_bus()
2219 free_scan_info(scan_info); in scsi_scan_bus()
2225 if ((scan_info->cpi->hba_misc & PIM_SEQSCAN) == 0) { in scsi_scan_bus()
2231 scan_info->request_ccb->ccb_h.path_id, in scsi_scan_bus()
2232 scan_info->counter, 0); in scsi_scan_bus()
2239 request_ccb = scan_info->request_ccb; in scsi_scan_bus()
2240 free_scan_info(scan_info); in scsi_scan_bus()
2250 request_ccb->ccb_h.ppriv_ptr0 = scan_info; in scsi_scan_bus()
2252 scan_info->request_ccb->crcn.flags; in scsi_scan_bus()
2274 request_ccb->ccb_h.ppriv_ptr0 = scan_info; in scsi_scan_bus()
2276 scan_info->request_ccb->crcn.flags; in scsi_scan_bus()