/freebsd-current/sys/cam/ |
H A D | cam_sim.c | 66 * @brief allocate a new sim and fill in the details 105 struct cam_sim *sim; local 107 sim = malloc(sizeof(struct cam_sim), M_CAMSIM, M_ZERO | M_NOWAIT); 108 if (sim == NULL) 111 sim->sim_action = sim_action; 112 sim->sim_poll = sim_poll; 113 sim->sim_name = sim_name; 114 sim->softc = softc; 115 sim->path_id = CAM_PATH_ANY; 116 sim 141 cam_sim_free(struct cam_sim *sim, int free_devq) argument 169 cam_sim_release(struct cam_sim *sim) argument 190 cam_sim_hold(struct cam_sim *sim) argument 209 cam_sim_set_path(struct cam_sim *sim, uint32_t path_id) argument [all...] |
H A D | cam_sim.h | 37 * The sim driver creates a sim for each controller. The sim device 39 * sims. For instance, a driver may create one sim for each channel of 48 typedef void (*sim_action_func)(struct cam_sim *sim, union ccb *ccb); 49 typedef void (*sim_poll_func)(struct cam_sim *sim); 63 void cam_sim_free(struct cam_sim *sim, int free_devq); 64 void cam_sim_hold(struct cam_sim *sim); 65 void cam_sim_release(struct cam_sim *sim); 67 /* Optional sim attribute 98 cam_sim_path(const struct cam_sim *sim) argument 104 cam_sim_name(const struct cam_sim *sim) argument 110 cam_sim_softc(const struct cam_sim *sim) argument 116 cam_sim_unit(const struct cam_sim *sim) argument 122 cam_sim_bus(const struct cam_sim *sim) argument 128 cam_sim_pollable(const struct cam_sim *sim) argument [all...] |
H A D | cam_xpt_sim.h | 40 int xpt_bus_register(struct cam_sim *sim, device_t parent, 43 uint32_t xpt_freeze_simq(struct cam_sim *sim, u_int count); 44 void xpt_release_simq(struct cam_sim *sim, int run_queue);
|
H A D | cam_xpt.c | 262 static void xptaction(struct cam_sim *sim, union ccb *work_ccb); 263 static void xptpoll(struct cam_sim *sim); 1064 path->bus->sim->sim_name, 1065 path->bus->sim->unit_number, 1066 path->bus->sim->bus_id, 1138 path->bus->sim->sim_name, 1139 path->bus->sim->unit_number, 1140 path->bus->sim->bus_id, 1334 && (cur_pattern->bus_id != bus->sim->bus_id)) 1338 && (cur_pattern->unit_number != bus->sim 2530 struct cam_sim *sim; local 3079 xpt_sim_poll(struct cam_sim *sim) argument 3097 struct cam_sim *sim; local 3296 struct cam_sim *sim; local 3876 xpt_bus_register(struct cam_sim *sim, device_t parent, uint32_t bus) argument 4371 xpt_freeze_simq(struct cam_sim *sim, u_int count) argument 4455 xpt_release_simq(struct cam_sim *sim, int run_queue) argument 4948 struct cam_sim *sim; local 4979 struct cam_sim *sim; local 5185 xptaction(struct cam_sim *sim, union ccb *work_ccb) argument 5229 xptpoll(struct cam_sim *sim) argument 5255 struct cam_sim *sim = NULL; local [all...] |
/freebsd-current/sys/cam/mmc/ |
H A D | mmc_all.h | 72 const struct cam_sim *sim, size_t maxio); 73 void mmccam_start_discovery(struct cam_sim *sim);
|
H A D | mmc_sim.h | 36 struct cam_sim *sim; member in struct:mmc_sim 43 void mmc_cam_sim_free(struct mmc_sim *sim);
|
H A D | mmc_sim.c | 42 mmc_cam_default_poll(struct cam_sim *sim) argument 46 mmc_sim = cam_sim_softc(sim); 89 mmc_cam_sim_default_action(struct cam_sim *sim, union ccb *ccb) argument 95 mmc_sim = cam_sim_softc(sim); 112 sim, mmc.host_max_data); 200 mmc_sim->sim = cam_sim_alloc(mmc_cam_sim_default_action, 205 if (mmc_sim->sim == NULL) { 212 if (xpt_bus_register(mmc_sim->sim, dev, 0) != 0) { 214 cam_sim_free(mmc_sim->sim, FALSE); 234 if (mmc_sim->sim ! [all...] |
/freebsd-current/sys/dev/nvmf/host/ |
H A D | nvmf_sim.c | 148 nvmf_sim_action(struct cam_sim *sim, union ccb *ccb) argument 150 struct nvmf_softc *sc = cam_sim_softc(sim); 173 strlcpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN); 174 cpi->unit_number = cam_sim_unit(sim); 231 device_printf(sc->dev, "unhandled sim function %#x\n", 252 mtx_init(&sc->sim_mtx, "nvmf sim", NULL, MTX_DEF); 253 sc->sim = cam_sim_alloc(nvmf_sim_action, NULL, "nvme", sc, 255 if (sc->sim == NULL) { 256 device_printf(sc->dev, "Failed to allocate CAM sim\n"); 261 if (xpt_bus_register(sc->sim, s [all...] |
/freebsd-current/sys/dev/aac/ |
H A D | aac_cam.c | 72 struct cam_sim *sim; member in struct:aac_cam 111 struct aac_sim *sim; local 117 TAILQ_FOREACH(sim, &sc->aac_sim_tqh, sim_link) { 118 camsc = sim->aac_cam; 131 cam_sim_path(camsc->sim), 154 xpt_release_simq(camsc->sim, 1); 188 xpt_bus_deregister(cam_sim_path(camsc->sim)); 189 cam_sim_free(camsc->sim, /*free_devq*/TRUE); 205 struct cam_sim *sim; local 221 sim 253 aac_cam_action(struct cam_sim *sim, union ccb *ccb) argument 516 aac_cam_poll(struct cam_sim *sim) argument 624 aac_cam_reset_bus(struct cam_sim *sim, union ccb *ccb) argument 669 aac_cam_abort_ccb(struct cam_sim *sim, union ccb *ccb) argument 675 aac_cam_term_io(struct cam_sim *sim, union ccb *ccb) argument [all...] |
/freebsd-current/sys/dev/aic7xxx/ |
H A D | aic7xxx_osm.h | 70 #define SIM_IS_SCSIBUS_B(ahc, sim) \ 71 ((sim) == ahc->platform_data->sim_b) 72 #define SIM_CHANNEL(ahc, sim) \ 73 (((sim) == ahc->platform_data->sim_b) ? 'B' : 'A') 74 #define SIM_SCSI_ID(ahc, sim) \ 75 (((sim) == ahc->platform_data->sim_b) ? ahc->our_id_b : ahc->our_id) 76 #define SIM_PATH(ahc, sim) \ 77 (((sim) == ahc->platform_data->sim_b) ? ahc->platform_data->path_b \ 79 #define BUILD_SCSIID(ahc, sim, target_id, our_id) \ 81 | (SIM_IS_SCSIBUS_B(ahc, sim) 115 struct cam_sim *sim; member in struct:ahc_platform_data [all...] |
H A D | aic7xxx_osm.c | 51 static void ahc_action(struct cam_sim *sim, union ccb *ccb); 59 static void ahc_poll(struct cam_sim *sim); 60 static void ahc_setup_data(struct ahc_softc *ahc, struct cam_sim *sim, 62 static void ahc_abort_ccb(struct ahc_softc *ahc, struct cam_sim *sim, 77 path_id = cam_sim_path(ahc->platform_data->sim); 145 struct cam_sim *sim; local 152 sim = NULL; 190 sim = cam_sim_alloc(ahc_action, ahc_poll, "ahc", ahc, 193 if (sim == NULL) { 198 if (xpt_bus_register(sim, ah 447 ahc_action(struct cam_sim *sim, union ccb *ccb) argument 897 struct cam_sim *sim; local 1121 ahc_poll(struct cam_sim *sim) argument 1130 ahc_setup_data(struct ahc_softc *ahc, struct cam_sim *sim, struct ccb_scsiio *csio, struct scb *scb) argument 1195 ahc_abort_ccb(struct ahc_softc *ahc, struct cam_sim *sim, union ccb *ccb) argument [all...] |
H A D | aic79xx_osm.c | 57 static void ahd_action(struct cam_sim *sim, union ccb *ccb); 68 static void ahd_poll(struct cam_sim *sim); 69 static void ahd_setup_data(struct ahd_softc *ahd, struct cam_sim *sim, 71 static void ahd_abort_ccb(struct ahd_softc *ahd, struct cam_sim *sim, 144 path_id = cam_sim_path(ahd->platform_data->sim); 215 struct cam_sim *sim; local 221 sim = NULL; 244 sim = cam_sim_alloc(ahd_action, ahd_poll, "ahd", ahd, 247 if (sim == NULL) { 252 if (xpt_bus_register(sim, ah 462 ahd_action(struct cam_sim *sim, union ccb *ccb) argument 916 struct cam_sim *sim; local 1061 ahd_poll(struct cam_sim *sim) argument 1067 ahd_setup_data(struct ahd_softc *ahd, struct cam_sim *sim, struct ccb_scsiio *csio, struct scb *scb) argument 1135 ahd_abort_ccb(struct ahd_softc *ahd, struct cam_sim *sim, union ccb *ccb) argument [all...] |
H A D | aic79xx_osm.h | 73 #define SIM_IS_SCSIBUS_B(ahd, sim) \ 75 #define SIM_CHANNEL(ahd, sim) \ 77 #define SIM_SCSI_ID(ahd, sim) \ 79 #define SIM_PATH(ahd, sim) \ 81 #define BUILD_SCSIID(ahd, sim, target_id, our_id) \ 86 ((ahd)->platform_data->sim) 119 struct cam_sim *sim; member in struct:ahd_platform_data 219 xpt_freeze_simq(aic->platform_data->sim, /*count*/1); 225 xpt_release_simq(aic->platform_data->sim, /*run queue*/TRUE);
|
/freebsd-current/sys/dev/mfi/ |
H A D | mfi_cam.c | 77 struct cam_sim *sim; member in struct:mfip_softc 142 sc->sim = cam_sim_alloc(mfip_cam_action, mfip_cam_poll, "mfi", sc, 145 if (sc->sim == NULL) { 155 if (xpt_bus_register(sc->sim, dev, 0) != 0) { 157 cam_sim_free(sc->sim, FALSE); 158 sc->sim = NULL; 188 if (sc->sim != NULL) { 190 xpt_bus_deregister(cam_sim_path(sc->sim)); 191 cam_sim_free(sc->sim, FALSE); 192 sc->sim 205 mfip_cam_action(struct cam_sim *sim, union ccb *ccb) argument 297 struct cam_sim *sim; local 467 mfip_cam_poll(struct cam_sim *sim) argument [all...] |
/freebsd-current/sys/dev/mmcnull/ |
H A D | mmcnull.c | 51 struct cam_sim *sim; member in struct:mmcnull_softc 116 sc->sim = cam_sim_alloc(action_func, mmcnull_poll, "mmcnull", sc, 120 if (sc->sim == NULL) { 127 if (xpt_bus_register(sc->sim, dev, 0) != 0) { 130 cam_sim_free(sc->sim, FALSE); 154 if (sc->sim != NULL) { 156 xpt_bus_deregister(cam_sim_path(sc->sim)); 157 cam_sim_free(sc->sim, FALSE); 246 if (xpt_create_path(&dpath, NULL, cam_sim_path(sc->sim), 0, 0) != CAM_REQ_CMP) { 320 mmcnull_handle_mmcio(struct cam_sim *sim, unio argument 338 mmcnull_action_sd(struct cam_sim *sim, union ccb *ccb) argument 434 mmcnull_action_sdio(struct cam_sim *sim, union ccb *ccb) argument 439 mmcnull_poll(struct cam_sim *sim) argument [all...] |
/freebsd-current/sys/dev/nvme/ |
H A D | nvme_sim.c | 49 static void nvme_sim_action(struct cam_sim *sim, union ccb *ccb); 50 static void nvme_sim_poll(struct cam_sim *sim); 52 #define sim2softc(sim) ((struct nvme_sim_softc *)cam_sim_softc(sim)) 53 #define sim2ctrlr(sim) (sim2softc(sim)->s_ctrlr) 85 nvme_sim_nvmeio(struct cam_sim *sim, union ccb *ccb) argument 93 ctrlr = sim2ctrlr(sim); 142 nvme_sim_action(struct cam_sim *sim, union ccb *ccb) argument 150 ctrlr = sim2ctrlr(sim); 290 nvme_sim_poll(struct cam_sim *sim) argument [all...] |
/freebsd-current/sys/dev/isci/ |
H A D | isci_controller.c | 56 void isci_action(struct cam_sim *sim, union ccb *ccb); 57 void isci_poll(struct cam_sim *sim); 247 controller->sim = NULL; 385 xpt_freeze_simq(controller->sim, 1); 584 xpt_release_simq(isci_controller->sim, TRUE); 619 controller->sim = cam_sim_alloc(isci_action, isci_poll, "isci", 623 if(controller->sim == NULL) { 629 if(xpt_bus_register(controller->sim, parent, controller->index) 632 cam_sim_free(controller->sim, TRUE); 638 cam_sim_path(controller->sim), CAM_TARGET_WILDCAR 650 isci_poll(struct cam_sim *sim) argument 658 isci_action(struct cam_sim *sim, union ccb *ccb) argument [all...] |
/freebsd-current/tools/tools/vhba/ |
H A D | vhba.c | 48 vhba->sim = cam_sim_alloc(vhba_action, vhba_poll, VHBA_MOD, vhba, 0, &vhba->lock, VHBA_MAXCMDS, VHBA_MAXCMDS, vhba->devq); 49 if (vhba->sim == NULL) { 55 if (xpt_bus_register(vhba->sim, 0, 0) != CAM_SUCCESS) { 56 cam_sim_free(vhba->sim, TRUE); 71 xpt_bus_deregister(cam_sim_path(vhba->sim)); 72 cam_sim_free(vhba->sim, TRUE); 76 vhba_poll(struct cam_sim *sim) argument 78 vhba_softc_t *vhba = cam_sim_softc(sim); 83 vhba_action(struct cam_sim *sim, union ccb *ccb) argument 88 vhba = cam_sim_softc(sim); [all...] |
/freebsd-current/sys/dev/smartpqi/ |
H A D | smartpqi_cam.c | 33 * Set cam sim properties of the smartpqi adapter. 36 update_sim_properties(struct cam_sim *sim, struct ccb_pathinq *cpi) argument 40 cam_sim_softc(sim); 59 strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN-1); 61 cpi->unit_number = cam_sim_unit(sim); 62 cpi->bus_id = cam_sim_bus(sim); 124 cam_sim_path(softs->os_specific.sim), 150 cam_sim_path(softs->os_specific.sim), 709 cam_sim_path(softs->os_specific.sim), target, lun); 805 pqisrc_io_start(struct cam_sim *sim, unio argument 1069 smartpqi_cam_action(struct cam_sim *sim, union ccb *ccb) argument 1157 smartpqi_poll(struct cam_sim *sim) argument 1247 struct cam_sim *sim; local [all...] |
/freebsd-current/sys/dev/mpi3mr/ |
H A D | mpi3mr_cam.h | 136 struct cam_sim *sim; member in struct:mpi3mr_cam_softc 169 struct cam_sim *sim; local 172 sim = xpt_path_sim(ccb->ccb_h.path); 173 cam_sc = cam_sim_softc(sim);
|
/freebsd-current/sys/dev/tws/ |
H A D | tws_cam.c | 47 static void tws_action(struct cam_sim *sim, union ccb *ccb); 48 static void tws_poll(struct cam_sim *sim); 129 /* Create a device queue for sim */ 153 sc->sim = cam_sim_alloc(tws_action, tws_poll, "tws", sc, 158 if (sc->sim == NULL) { 164 if (xpt_bus_register(sc->sim, 167 cam_sim_free(sc->sim, TRUE); /* passing true will free the devq */ 168 sc->sim = NULL; /* so cam_detach will not try to free it */ 173 if (xpt_create_path(&sc->path, NULL, cam_sim_path(sc->sim), 176 xpt_bus_deregister(cam_sim_path(sc->sim)); 224 tws_action(struct cam_sim *sim, union ccb *ccb) argument 1108 tws_poll(struct cam_sim *sim) argument [all...] |
/freebsd-current/sys/dev/aacraid/ |
H A D | aacraid_cam.c | 95 struct cam_sim *sim; member in struct:aac_cam 168 struct aac_sim *sim; local 174 TAILQ_FOREACH(sim, &sc->aac_sim_tqh, sim_link) { 175 camsc = sim->aac_cam; 188 cam_sim_path(camsc->sim), 211 xpt_release_simq(camsc->sim, 1); 253 xpt_bus_deregister(cam_sim_path(camsc->sim)); 254 cam_sim_free(camsc->sim, /*free_devq*/TRUE); 270 struct cam_sim *sim; local 287 sim 349 aac_container_rw_command(struct cam_sim *sim, union ccb *ccb, u_int8_t *cmdp) argument 502 aac_container_special_command(struct cam_sim *sim, union ccb *ccb, u_int8_t *cmdp) argument 840 aac_passthrough_command(struct cam_sim *sim, union ccb *ccb) argument 957 aac_cam_action(struct cam_sim *sim, union ccb *ccb) argument 1111 aac_cam_poll(struct cam_sim *sim) argument 1246 aac_cam_reset_bus(struct cam_sim *sim, union ccb *ccb) argument 1325 aac_cam_abort_ccb(struct cam_sim *sim, union ccb *ccb) argument 1331 aac_cam_term_io(struct cam_sim *sim, union ccb *ccb) argument [all...] |
/freebsd-current/sys/dev/ata/ |
H A D | ata-all.c | 59 static void ataaction(struct cam_sim *sim, union ccb *ccb); 60 static void atapoll(struct cam_sim *sim); 183 ch->sim = cam_sim_alloc(ataaction, atapoll, "ata", ch, 185 if (ch->sim == NULL) { 186 device_printf(dev, "unable to allocate sim\n"); 191 if (xpt_bus_register(ch->sim, dev, 0) != CAM_SUCCESS) { 196 if (xpt_create_path(&ch->path, /*periph*/NULL, cam_sim_path(ch->sim), 206 xpt_bus_deregister(cam_sim_path(ch->sim)); 208 cam_sim_free(ch->sim, /*free_devq*/TRUE); 209 ch->sim 976 ataaction(struct cam_sim *sim, union ccb *ccb) argument 1197 atapoll(struct cam_sim *sim) argument [all...] |
/freebsd-current/sys/dev/ahci/ |
H A D | ahciem.c | 56 static void ahciemaction(struct cam_sim *sim, union ccb *ccb); 57 static void ahciempoll(struct cam_sim *sim); 122 enc->sim = cam_sim_alloc(ahciemaction, ahciempoll, "ahciem", enc, 125 if (enc->sim == NULL) { 131 if (xpt_bus_register(enc->sim, dev, 0) != CAM_SUCCESS) { 136 if (xpt_create_path(&enc->path, /*periph*/NULL, cam_sim_path(enc->sim), 185 xpt_bus_deregister(cam_sim_path(enc->sim)); 187 cam_sim_free(enc->sim, /*free_devq*/TRUE); 214 xpt_bus_deregister(cam_sim_path(enc->sim)); 215 cam_sim_free(enc->sim, /*free_dev 604 ahciemaction(struct cam_sim *sim, union ccb *ccb) argument 664 ahciempoll(struct cam_sim *sim) argument [all...] |
/freebsd-current/sys/dev/mrsas/ |
H A D | mrsas_cam.c | 58 int mrsas_find_io_type(struct cam_sim *sim, union ccb *ccb); 60 int mrsas_bus_scan_sim(struct mrsas_softc *sc, struct cam_sim *sim); 72 union ccb *ccb, struct cam_sim *sim, u_int8_t fp_possible); 91 static void mrsas_freeze_simq(struct mrsas_mpt_cmd *cmd, struct cam_sim *sim); 92 static void mrsas_cam_poll(struct cam_sim *sim); 93 static void mrsas_action(struct cam_sim *sim, union ccb *ccb); 104 mrsas_startio(struct mrsas_softc *sc, struct cam_sim *sim, 262 mrsas_action(struct cam_sim *sim, union ccb *ccb) argument 264 struct mrsas_softc *sc = (struct mrsas_softc *)cam_sim_softc(sim); 287 if (cam_sim_bus(sim) 435 mrsas_startio(struct mrsas_softc *sc, struct cam_sim *sim, union ccb *ccb) argument 634 mrsas_find_io_type(struct cam_sim *sim, union ccb *ccb) argument 1197 mrsas_build_syspdio(struct mrsas_softc *sc, struct mrsas_mpt_cmd *cmd, union ccb *ccb, struct cam_sim *sim, u_int8_t fp_possible) argument 1388 struct cam_sim *sim; local 1654 mrsas_freeze_simq(struct mrsas_mpt_cmd *cmd, struct cam_sim *sim) argument 1706 mrsas_cam_poll(struct cam_sim *sim) argument 1771 mrsas_bus_scan_sim(struct mrsas_softc *sc, struct cam_sim *sim) argument [all...] |