siop_cmd 82 dev/ic/siop.c void siop_table_sync(struct siop_cmd *, int);
siop_cmd 88 dev/ic/siop.c int siop_handle_qtag_reject(struct siop_cmd *);
siop_cmd 89 dev/ic/siop.c void siop_scsicmd_end(struct siop_cmd *);
siop_cmd 135 dev/ic/siop.c siop_table_sync(siop_cmd, ops)
siop_cmd 136 dev/ic/siop.c struct siop_cmd *siop_cmd;
siop_cmd 139 dev/ic/siop.c struct siop_common_softc *sc = siop_cmd->cmd_c.siop_sc;
siop_cmd 142 dev/ic/siop.c offset = siop_cmd->cmd_c.dsa -
siop_cmd 143 dev/ic/siop.c siop_cmd->siop_cbdp->xferdma->dm_segs[0].ds_addr;
siop_cmd 144 dev/ic/siop.c bus_dmamap_sync(sc->sc_dmat, siop_cmd->siop_cbdp->xferdma, offset,
siop_cmd 340 dev/ic/siop.c siop_cmd->cmd_c.dsa, \
siop_cmd 356 dev/ic/siop.c struct siop_cmd *siop_cmd;
siop_cmd 384 dev/ic/siop.c siop_cmd = NULL;
siop_cmd 390 dev/ic/siop.c siop_cmd = &cbdp->cmds[dsa / sizeof(struct siop_xfer)];
siop_cmd 391 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 396 dev/ic/siop.c if (siop_cmd) {
siop_cmd 397 dev/ic/siop.c xs = siop_cmd->cmd_c.xs;
siop_cmd 398 dev/ic/siop.c siop_target = (struct siop_target *)siop_cmd->cmd_c.siop_target;
siop_cmd 399 dev/ic/siop.c target = siop_cmd->cmd_c.xs->sc_link->target;
siop_cmd 400 dev/ic/siop.c lun = siop_cmd->cmd_c.xs->sc_link->lun;
siop_cmd 401 dev/ic/siop.c tag = siop_cmd->cmd_c.tag;
siop_cmd 404 dev/ic/siop.c if (siop_cmd->cmd_c.status != CMDST_ACTIVE &&
siop_cmd 405 dev/ic/siop.c siop_cmd->cmd_c.status != CMDST_SENSE_ACTIVE) {
siop_cmd 408 dev/ic/siop.c siop_cmd->cmd_c.status);
siop_cmd 415 dev/ic/siop.c siop_cmd = NULL;
siop_cmd 416 dev/ic/siop.c } else if (siop_lun->siop_tag[tag].active != siop_cmd) {
siop_cmd 418 dev/ic/siop.c "active (%p != %p)\n", lun, tag, siop_cmd,
siop_cmd 472 dev/ic/siop.c if (siop_cmd)
siop_cmd 474 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[0],
siop_cmd 476 dev/ic/siop.c siop_cmd->cmd_tables->status));
siop_cmd 508 dev/ic/siop.c if (siop_cmd)
siop_cmd 516 dev/ic/siop.c if (siop_cmd) {
siop_cmd 527 dev/ic/siop.c SIOP_DSA, siop_cmd->cmd_c.dsa);
siop_cmd 541 dev/ic/siop.c siop_ma(&siop_cmd->cmd_c);
siop_cmd 554 dev/ic/siop.c siop_ma(&siop_cmd->cmd_c);
siop_cmd 574 dev/ic/siop.c if (siop_cmd)
siop_cmd 583 dev/ic/siop.c if (siop_cmd) {
siop_cmd 584 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_DONE;
siop_cmd 599 dev/ic/siop.c if (siop_cmd) {
siop_cmd 600 dev/ic/siop.c siop_cmd->cmd_tables->status =
siop_cmd 636 dev/ic/siop.c if (siop_cmd) {
siop_cmd 637 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_DONE;
siop_cmd 663 dev/ic/siop.c if (siop_cmd == NULL) {
siop_cmd 669 dev/ic/siop.c if (siop_cmd->cmd_c.status != CMDST_ACTIVE &&
siop_cmd 670 dev/ic/siop.c siop_cmd->cmd_c.status != CMDST_SENSE_ACTIVE) {
siop_cmd 674 dev/ic/siop.c irqcode, siop_cmd->cmd_c.status);
siop_cmd 722 dev/ic/siop.c siop_cmd = siop_lun->siop_tag[tag].active;
siop_cmd 724 dev/ic/siop.c SIOP_DSP, siop_cmd->cmd_c.dsa +
siop_cmd 727 dev/ic/siop.c siop_table_sync(siop_cmd, BUS_DMASYNC_PREWRITE);
siop_cmd 739 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_out[0] & 0x80) {
siop_cmd 746 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[1];
siop_cmd 748 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[3];
siop_cmd 750 dev/ic/siop.c msg = siop_cmd->cmd_tables->msg_out[0];
siop_cmd 752 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[2];
siop_cmd 780 dev/ic/siop.c siop_sdtr_msg(&siop_cmd->cmd_c, 0,
siop_cmd 783 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 812 dev/ic/siop.c siop_cmd) == -1)
siop_cmd 835 dev/ic/siop.c siop_cmd->cmd_tables->t_extmsgdata.count =
siop_cmd 837 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 847 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[0]);
siop_cmd 848 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[0] = MSG_MESSAGE_REJECT;
siop_cmd 849 dev/ic/siop.c siop_cmd->cmd_tables->t_msgout.count =
siop_cmd 851 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 859 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[2],
siop_cmd 860 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[1]);
siop_cmd 862 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_in[1] >
siop_cmd 863 dev/ic/siop.c sizeof(siop_cmd->cmd_tables->msg_in) - 2)
siop_cmd 866 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[1]);
siop_cmd 867 dev/ic/siop.c siop_cmd->cmd_tables->t_extmsgdata.count =
siop_cmd 869 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[1] - 1);
siop_cmd 870 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 879 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[2]);
siop_cmd 880 dev/ic/siop.c for (i = 3; i < 2 + siop_cmd->cmd_tables->msg_in[1];
siop_cmd 883 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[i]);
siop_cmd 887 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_in[0] ==
siop_cmd 890 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_in[3] != 1)
siop_cmd 893 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[3]);
siop_cmd 894 dev/ic/siop.c switch (siop_iwr(&siop_cmd->cmd_c)) {
siop_cmd 896 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 910 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_in[2] == MSG_EXT_WDTR) {
siop_cmd 911 dev/ic/siop.c switch (siop_wdtr_neg(&siop_cmd->cmd_c)) {
siop_cmd 914 dev/ic/siop.c siop_cmd->cmd_c.siop_target);
siop_cmd 915 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 922 dev/ic/siop.c siop_cmd->cmd_c.siop_target);
siop_cmd 931 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_in[2] == MSG_EXT_SDTR) {
siop_cmd 932 dev/ic/siop.c switch (siop_sdtr_neg(&siop_cmd->cmd_c)) {
siop_cmd 935 dev/ic/siop.c siop_cmd->cmd_c.siop_target);
siop_cmd 936 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 943 dev/ic/siop.c siop_cmd->cmd_c.siop_target);
siop_cmd 952 dev/ic/siop.c if (siop_cmd->cmd_tables->msg_in[2] == MSG_EXT_PPR) {
siop_cmd 953 dev/ic/siop.c switch (siop_ppr_neg(&siop_cmd->cmd_c)) {
siop_cmd 956 dev/ic/siop.c siop_cmd->cmd_c.siop_target);
siop_cmd 957 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 964 dev/ic/siop.c siop_cmd->cmd_c.siop_target);
siop_cmd 974 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[0] = MSG_MESSAGE_REJECT;
siop_cmd 975 dev/ic/siop.c siop_cmd->cmd_tables->t_msgout.count =
siop_cmd 977 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 988 dev/ic/siop.c siop_sdp(&siop_cmd->cmd_c, offset);
siop_cmd 990 dev/ic/siop.c siop_cmd->saved_offset = SIOP_NOOFFSET;
siop_cmd 991 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 1002 dev/ic/siop.c siop_cmd->saved_offset = offset;
siop_cmd 1015 dev/ic/siop.c (u_long)siop_cmd->cmd_c.dsa);
siop_cmd 1016 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_FREE;
siop_cmd 1023 dev/ic/siop.c "in=0x%x status=0x%x\n", (u_long)siop_cmd->cmd_c.dsa,
siop_cmd 1024 dev/ic/siop.c siop_ctoh32(&sc->sc_c, siop_cmd->cmd_tables->id),
siop_cmd 1025 dev/ic/siop.c siop_cmd->cmd_tables->msg_in[0],
siop_cmd 1027 dev/ic/siop.c siop_cmd->cmd_tables->status));
siop_cmd 1040 dev/ic/siop.c siop_cmd->saved_offset != SIOP_NOOFFSET)
siop_cmd 1041 dev/ic/siop.c offset = siop_cmd->saved_offset;
siop_cmd 1042 dev/ic/siop.c siop_update_resid(&siop_cmd->cmd_c, offset);
siop_cmd 1043 dev/ic/siop.c if (siop_cmd->cmd_c.status == CMDST_SENSE_ACTIVE)
siop_cmd 1044 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_SENSE_DONE;
siop_cmd 1046 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_DONE;
siop_cmd 1065 dev/ic/siop.c (siop_cmd == NULL) ? "== NULL" : "!= NULL");
siop_cmd 1073 dev/ic/siop.c xs->status = siop_ctoh32(&sc->sc_c, siop_cmd->cmd_tables->status);
siop_cmd 1079 dev/ic/siop.c siop_scsicmd_end(siop_cmd);
siop_cmd 1089 dev/ic/siop.c siop_scsicmd_end(siop_cmd)
siop_cmd 1090 dev/ic/siop.c struct siop_cmd *siop_cmd;
siop_cmd 1092 dev/ic/siop.c struct scsi_xfer *xs = siop_cmd->cmd_c.xs;
siop_cmd 1093 dev/ic/siop.c struct siop_softc *sc = (struct siop_softc *)siop_cmd->cmd_c.siop_sc;
siop_cmd 1101 dev/ic/siop.c timeout_del(&siop_cmd->cmd_c.xs->stimeout);
siop_cmd 1105 dev/ic/siop.c xs->error = (siop_cmd->cmd_c.status == CMDST_DONE) ?
siop_cmd 1112 dev/ic/siop.c if (siop_cmd->cmd_c.status == CMDST_SENSE_DONE) {
siop_cmd 1118 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_SENSE;
siop_cmd 1134 dev/ic/siop.c xs->sc_link->lun, siop_cmd->cmd_c.tag);
siop_cmd 1137 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_READY;
siop_cmd 1138 dev/ic/siop.c siop_setuptables(&siop_cmd->cmd_c);
siop_cmd 1139 dev/ic/siop.c siop_table_sync(siop_cmd, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
siop_cmd 1140 dev/ic/siop.c TAILQ_INSERT_TAIL(&sc->urgent_list, siop_cmd, next);
siop_cmd 1157 dev/ic/siop.c if (siop_cmd->cmd_c.status != CMDST_SENSE_DONE &&
siop_cmd 1159 dev/ic/siop.c bus_dmamap_sync(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data, 0,
siop_cmd 1160 dev/ic/siop.c siop_cmd->cmd_c.dmamap_data->dm_mapsize,
siop_cmd 1163 dev/ic/siop.c bus_dmamap_unload(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data);
siop_cmd 1165 dev/ic/siop.c if (siop_cmd->cmd_c.status == CMDST_SENSE) {
siop_cmd 1167 dev/ic/siop.c struct scsi_sense *cmd = (struct scsi_sense *)&siop_cmd->cmd_c.siop_tables->xscmd;
siop_cmd 1170 dev/ic/siop.c siop_cmd->cmd_c.siop_tables->cmd.count =
siop_cmd 1177 dev/ic/siop.c siop_cmd->cmd_c.flags &= ~CMDFL_TAG;
siop_cmd 1178 dev/ic/siop.c error = bus_dmamap_load(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data,
siop_cmd 1188 dev/ic/siop.c bus_dmamap_sync(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data,
siop_cmd 1189 dev/ic/siop.c 0, siop_cmd->cmd_c.dmamap_data->dm_mapsize,
siop_cmd 1192 dev/ic/siop.c siop_setuptables(&siop_cmd->cmd_c);
siop_cmd 1193 dev/ic/siop.c siop_table_sync(siop_cmd, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
siop_cmd 1195 dev/ic/siop.c TAILQ_INSERT_HEAD(&sc->urgent_list, siop_cmd, next);
siop_cmd 1197 dev/ic/siop.c } else if (siop_cmd->cmd_c.status == CMDST_SENSE_DONE) {
siop_cmd 1198 dev/ic/siop.c bus_dmamap_sync(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data,
siop_cmd 1199 dev/ic/siop.c 0, siop_cmd->cmd_c.dmamap_data->dm_mapsize,
siop_cmd 1201 dev/ic/siop.c bus_dmamap_unload(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data);
siop_cmd 1206 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_FREE;
siop_cmd 1207 dev/ic/siop.c TAILQ_INSERT_TAIL(&sc->free_list, siop_cmd, next);
siop_cmd 1220 dev/ic/siop.c siop_handle_qtag_reject(siop_cmd)
siop_cmd 1221 dev/ic/siop.c struct siop_cmd *siop_cmd;
siop_cmd 1223 dev/ic/siop.c struct siop_softc *sc = (struct siop_softc *)siop_cmd->cmd_c.siop_sc;
siop_cmd 1224 dev/ic/siop.c int target = siop_cmd->cmd_c.xs->sc_link->target;
siop_cmd 1225 dev/ic/siop.c int lun = siop_cmd->cmd_c.xs->sc_link->lun;
siop_cmd 1226 dev/ic/siop.c int tag = siop_cmd->cmd_tables->msg_out[2];
siop_cmd 1232 dev/ic/siop.c sc->sc_c.sc_dev.dv_xname, target, lun, tag, siop_cmd->cmd_c.tag,
siop_cmd 1233 dev/ic/siop.c siop_cmd->cmd_c.status);
siop_cmd 1245 dev/ic/siop.c siop_lun->siop_tag[0].active = siop_cmd;
siop_cmd 1246 dev/ic/siop.c siop_cmd->cmd_c.tag = 0;
siop_cmd 1251 dev/ic/siop.c siop_cmd->cmd_c.dsa + sizeof(struct siop_common_xfer) +
siop_cmd 1253 dev/ic/siop.c siop_table_sync(siop_cmd, BUS_DMASYNC_PREWRITE);
siop_cmd 1269 dev/ic/siop.c struct siop_cmd *siop_cmd, *next_siop_cmd;
siop_cmd 1298 dev/ic/siop.c siop_cmd = siop_lun->siop_tag[tag].active;
siop_cmd 1299 dev/ic/siop.c if (siop_cmd == NULL)
siop_cmd 1302 dev/ic/siop.c TAILQ_INSERT_TAIL(&reset_list, siop_cmd, next);
siop_cmd 1303 dev/ic/siop.c sc_print_addr(siop_cmd->cmd_c.xs->sc_link);
siop_cmd 1305 dev/ic/siop.c siop_cmd, tag);
siop_cmd 1317 dev/ic/siop.c for (siop_cmd = TAILQ_FIRST(&sc->urgent_list); siop_cmd != NULL;
siop_cmd 1318 dev/ic/siop.c siop_cmd = next_siop_cmd) {
siop_cmd 1319 dev/ic/siop.c next_siop_cmd = TAILQ_NEXT(siop_cmd, next);
siop_cmd 1320 dev/ic/siop.c TAILQ_REMOVE(&sc->urgent_list, siop_cmd, next);
siop_cmd 1321 dev/ic/siop.c TAILQ_INSERT_TAIL(&reset_list, siop_cmd, next);
siop_cmd 1322 dev/ic/siop.c sc_print_addr(siop_cmd->cmd_c.xs->sc_link);
siop_cmd 1324 dev/ic/siop.c siop_cmd);
siop_cmd 1327 dev/ic/siop.c for (siop_cmd = TAILQ_FIRST(&sc->ready_list); siop_cmd != NULL;
siop_cmd 1328 dev/ic/siop.c siop_cmd = next_siop_cmd) {
siop_cmd 1329 dev/ic/siop.c next_siop_cmd = TAILQ_NEXT(siop_cmd, next);
siop_cmd 1330 dev/ic/siop.c TAILQ_REMOVE(&sc->ready_list, siop_cmd, next);
siop_cmd 1331 dev/ic/siop.c TAILQ_INSERT_TAIL(&reset_list, siop_cmd, next);
siop_cmd 1332 dev/ic/siop.c sc_print_addr(siop_cmd->cmd_c.xs->sc_link);
siop_cmd 1334 dev/ic/siop.c siop_cmd);
siop_cmd 1337 dev/ic/siop.c for (siop_cmd = TAILQ_FIRST(&reset_list); siop_cmd != NULL;
siop_cmd 1338 dev/ic/siop.c siop_cmd = next_siop_cmd) {
siop_cmd 1339 dev/ic/siop.c next_siop_cmd = TAILQ_NEXT(siop_cmd, next);
siop_cmd 1340 dev/ic/siop.c siop_cmd->cmd_c.flags &= ~CMDFL_TAG;
siop_cmd 1341 dev/ic/siop.c siop_cmd->cmd_c.xs->error =
siop_cmd 1342 dev/ic/siop.c (siop_cmd->cmd_c.flags & CMDFL_TIMEOUT)
siop_cmd 1344 dev/ic/siop.c siop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
siop_cmd 1345 dev/ic/siop.c sc_print_addr(siop_cmd->cmd_c.xs->sc_link);
siop_cmd 1347 dev/ic/siop.c siop_cmd, siop_cmd->cmd_c.status);
siop_cmd 1348 dev/ic/siop.c if (siop_cmd->cmd_c.status == CMDST_SENSE ||
siop_cmd 1349 dev/ic/siop.c siop_cmd->cmd_c.status == CMDST_SENSE_ACTIVE)
siop_cmd 1350 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_SENSE_DONE;
siop_cmd 1352 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_DONE;
siop_cmd 1354 dev/ic/siop.c siop_cmd->cmd_c.status, siop_cmd->cmd_c.xs->error);
siop_cmd 1355 dev/ic/siop.c TAILQ_REMOVE(&reset_list, siop_cmd, next);
siop_cmd 1356 dev/ic/siop.c siop_scsicmd_end(siop_cmd);
siop_cmd 1365 dev/ic/siop.c struct siop_cmd *siop_cmd;
siop_cmd 1375 dev/ic/siop.c siop_cmd = TAILQ_FIRST(&sc->free_list);
siop_cmd 1376 dev/ic/siop.c if (siop_cmd == NULL) {
siop_cmd 1380 dev/ic/siop.c TAILQ_REMOVE(&sc->free_list, siop_cmd, next);
siop_cmd 1383 dev/ic/siop.c timeout_set(&xs->stimeout, siop_timeout, siop_cmd);
siop_cmd 1386 dev/ic/siop.c if (siop_cmd->cmd_c.status != CMDST_FREE)
siop_cmd 1440 dev/ic/siop.c siop_cmd->cmd_c.siop_target = sc->sc_c.targets[target];
siop_cmd 1441 dev/ic/siop.c siop_cmd->cmd_c.xs = xs;
siop_cmd 1442 dev/ic/siop.c siop_cmd->cmd_c.flags = 0;
siop_cmd 1443 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_READY;
siop_cmd 1445 dev/ic/siop.c bzero(&siop_cmd->cmd_c.siop_tables->xscmd,
siop_cmd 1446 dev/ic/siop.c sizeof(siop_cmd->cmd_c.siop_tables->xscmd));
siop_cmd 1447 dev/ic/siop.c bcopy(xs->cmd, &siop_cmd->cmd_c.siop_tables->xscmd, xs->cmdlen);
siop_cmd 1448 dev/ic/siop.c siop_cmd->cmd_c.siop_tables->cmd.count =
siop_cmd 1454 dev/ic/siop.c siop_cmd->cmd_c.dmamap_data, xs->data, xs->datalen,
siop_cmd 1465 dev/ic/siop.c siop_cmd->cmd_c.dmamap_data, 0,
siop_cmd 1466 dev/ic/siop.c siop_cmd->cmd_c.dmamap_data->dm_mapsize,
siop_cmd 1471 dev/ic/siop.c siop_setuptables(&siop_cmd->cmd_c);
siop_cmd 1472 dev/ic/siop.c siop_cmd->saved_offset = SIOP_NOOFFSET;
siop_cmd 1473 dev/ic/siop.c siop_table_sync(siop_cmd,
siop_cmd 1476 dev/ic/siop.c TAILQ_INSERT_TAIL(&sc->ready_list, siop_cmd, next);
siop_cmd 1527 dev/ic/siop.c siop_timeout(siop_cmd);
siop_cmd 1540 dev/ic/siop.c struct siop_cmd *siop_cmd, *next_siop_cmd;
siop_cmd 1579 dev/ic/siop.c siop_cmd = TAILQ_FIRST(&sc->urgent_list);
siop_cmd 1581 dev/ic/siop.c for (; siop_cmd != NULL; siop_cmd = next_siop_cmd) {
siop_cmd 1582 dev/ic/siop.c next_siop_cmd = TAILQ_NEXT(siop_cmd, next);
siop_cmd 1584 dev/ic/siop.c if (siop_cmd->cmd_c.status != CMDST_READY &&
siop_cmd 1585 dev/ic/siop.c siop_cmd->cmd_c.status != CMDST_SENSE)
siop_cmd 1588 dev/ic/siop.c target = siop_cmd->cmd_c.xs->sc_link->target;
siop_cmd 1589 dev/ic/siop.c lun = siop_cmd->cmd_c.xs->sc_link->lun;
siop_cmd 1600 dev/ic/siop.c siop_cmd->cmd_c.status == CMDST_READY)
siop_cmd 1603 dev/ic/siop.c if (siop_cmd->cmd_c.flags & CMDFL_TAG) {
siop_cmd 1613 dev/ic/siop.c siop_cmd->cmd_c.tag = tag;
siop_cmd 1618 dev/ic/siop.c if (siop_cmd->cmd_c.status != CMDST_SENSE) {
siop_cmd 1641 dev/ic/siop.c (u_long)siop_cmd->cmd_c.dsa);
siop_cmd 1647 dev/ic/siop.c siop_cmd->cmd_tables->t_msgout.count);
siop_cmd 1653 dev/ic/siop.c if (siop_cmd->cmd_c.xs->bp != NULL &&
siop_cmd 1654 dev/ic/siop.c (siop_cmd->cmd_c.xs->bp->b_flags & B_ASYNC))
siop_cmd 1655 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[1] =
siop_cmd 1658 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[1] =
siop_cmd 1660 dev/ic/siop.c siop_cmd->cmd_tables->msg_out[2] = tag;
siop_cmd 1661 dev/ic/siop.c siop_cmd->cmd_tables->t_msgout.count =
siop_cmd 1667 dev/ic/siop.c if (siop_cmd->cmd_c.status == CMDST_READY) {
siop_cmd 1668 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_ACTIVE;
siop_cmd 1669 dev/ic/siop.c } else if (siop_cmd->cmd_c.status == CMDST_SENSE) {
siop_cmd 1670 dev/ic/siop.c siop_cmd->cmd_c.status = CMDST_SENSE_ACTIVE;
siop_cmd 1674 dev/ic/siop.c TAILQ_REMOVE(&sc->ready_list, siop_cmd, next);
siop_cmd 1676 dev/ic/siop.c TAILQ_REMOVE(&sc->urgent_list, siop_cmd, next);
siop_cmd 1677 dev/ic/siop.c siop_lun->siop_tag[tag].active = siop_cmd;
siop_cmd 1679 dev/ic/siop.c dsa = siop_cmd->cmd_c.dsa;
siop_cmd 1687 dev/ic/siop.c siop_xfer = (struct siop_xfer*)siop_cmd->cmd_tables;
siop_cmd 1691 dev/ic/siop.c siop_table_sync(siop_cmd, BUS_DMASYNC_PREWRITE);
siop_cmd 1697 dev/ic/siop.c if (siop_cmd->cmd_c.status == CMDST_ACTIVE) {
siop_cmd 1698 dev/ic/siop.c if ((siop_cmd->cmd_c.xs->flags & SCSI_POLL) == 0) {
siop_cmd 1700 dev/ic/siop.c timeout = (u_int64_t) siop_cmd->cmd_c.xs->timeout *
siop_cmd 1704 dev/ic/siop.c timeout_add(&siop_cmd->cmd_c.xs->stimeout, timeout);
siop_cmd 1721 dev/ic/siop.c siop_cmd = TAILQ_FIRST(&sc->ready_list);
siop_cmd 1742 dev/ic/siop.c struct siop_cmd *siop_cmd = v;
siop_cmd 1743 dev/ic/siop.c struct siop_softc *sc = (struct siop_softc *)siop_cmd->cmd_c.siop_sc;
siop_cmd 1747 dev/ic/siop.c timeout_del(&siop_cmd->cmd_c.xs->stimeout);
siop_cmd 1749 dev/ic/siop.c sc_print_addr(siop_cmd->cmd_c.xs->sc_link);
siop_cmd 1751 dev/ic/siop.c siop_cmd->cmd_c.xs->cmd->opcode);
siop_cmd 1756 dev/ic/siop.c siop_cmd->cmd_c.flags |= CMDFL_TIMEOUT;
siop_cmd 1806 dev/ic/siop.c newcbd->cmds = malloc(sizeof(struct siop_cmd) * SIOP_NCMDPB,
siop_cmd 1813 dev/ic/siop.c bzero(newcbd->cmds, sizeof(struct siop_cmd) * SIOP_NCMDPB);
siop_cmd 239 dev/ic/siop_common.c siop_setuptables(siop_cmd)
siop_cmd 240 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 243 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 244 dev/ic/siop_common.c struct scsi_xfer *xs = siop_cmd->xs;
siop_cmd 251 dev/ic/siop_common.c siop_cmd->siop_tables->id = siop_htoc32(sc, sc->targets[target]->id);
siop_cmd 252 dev/ic/siop_common.c memset(siop_cmd->siop_tables->msg_out, 0,
siop_cmd 253 dev/ic/siop_common.c sizeof(siop_cmd->siop_tables->msg_out));
siop_cmd 255 dev/ic/siop_common.c if (siop_cmd->status == CMDST_SENSE)
siop_cmd 256 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[0] = MSG_IDENTIFY(lun, 0);
siop_cmd 267 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[0] = MSG_IDENTIFY(lun, 0);
siop_cmd 269 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[0] = MSG_IDENTIFY(lun, 1);
siop_cmd 270 dev/ic/siop_common.c siop_cmd->siop_tables->t_msgout.count = siop_htoc32(sc, msgoffset);
siop_cmd 297 dev/ic/siop_common.c siop_ppr_msg(siop_cmd, msgoffset, sc->dt_minsync,
siop_cmd 301 dev/ic/siop_common.c siop_wdtr_msg(siop_cmd, msgoffset,
siop_cmd 305 dev/ic/siop_common.c siop_sdtr_msg(siop_cmd, msgoffset, sc->st_minsync,
siop_cmd 313 dev/ic/siop_common.c siop_cmd->status != CMDST_SENSE) {
siop_cmd 314 dev/ic/siop_common.c siop_cmd->flags |= CMDFL_TAG;
siop_cmd 316 dev/ic/siop_common.c siop_cmd->siop_tables->status =
siop_cmd 320 dev/ic/siop_common.c siop_cmd->status == CMDST_SENSE) {
siop_cmd 321 dev/ic/siop_common.c bzero(siop_cmd->siop_tables->data,
siop_cmd 322 dev/ic/siop_common.c sizeof(siop_cmd->siop_tables->data));
siop_cmd 323 dev/ic/siop_common.c for (i = 0; i < siop_cmd->dmamap_data->dm_nsegs; i++) {
siop_cmd 324 dev/ic/siop_common.c siop_cmd->siop_tables->data[i].count =
siop_cmd 326 dev/ic/siop_common.c siop_cmd->dmamap_data->dm_segs[i].ds_len);
siop_cmd 327 dev/ic/siop_common.c siop_cmd->siop_tables->data[i].addr =
siop_cmd 329 dev/ic/siop_common.c siop_cmd->dmamap_data->dm_segs[i].ds_addr);
siop_cmd 335 dev/ic/siop_common.c siop_wdtr_neg(siop_cmd)
siop_cmd 336 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 338 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 339 dev/ic/siop_common.c struct siop_common_target *siop_target = siop_cmd->siop_target;
siop_cmd 340 dev/ic/siop_common.c int target = siop_cmd->xs->sc_link->target;
siop_cmd 341 dev/ic/siop_common.c struct siop_common_xfer *tables = siop_cmd->siop_tables;
siop_cmd 380 dev/ic/siop_common.c siop_sdtr_msg(siop_cmd, 0, sc->st_minsync,
siop_cmd 408 dev/ic/siop_common.c siop_wdtr_msg(siop_cmd, 0, (siop_target->flags & TARF_ISWIDE) ?
siop_cmd 415 dev/ic/siop_common.c siop_ppr_neg(siop_cmd)
siop_cmd 416 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 418 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 419 dev/ic/siop_common.c struct siop_common_target *siop_target = siop_cmd->siop_target;
siop_cmd 420 dev/ic/siop_common.c int target = siop_cmd->xs->sc_link->target;
siop_cmd 421 dev/ic/siop_common.c struct siop_common_xfer *tables = siop_cmd->siop_tables;
siop_cmd 529 dev/ic/siop_common.c siop_sdtr_neg(siop_cmd)
siop_cmd 530 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 532 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 533 dev/ic/siop_common.c struct siop_common_target *siop_target = siop_cmd->siop_target;
siop_cmd 534 dev/ic/siop_common.c int target = siop_cmd->xs->sc_link->target;
siop_cmd 537 dev/ic/siop_common.c struct siop_common_xfer *tables = siop_cmd->siop_tables;
siop_cmd 630 dev/ic/siop_common.c siop_sdtr_msg(siop_cmd, 0, sync, offset);
siop_cmd 641 dev/ic/siop_common.c siop_sdtr_msg(siop_cmd, 0, 0, 0);
siop_cmd 663 dev/ic/siop_common.c siop_sdtr_msg(siop_cmd, offset, ssync, soff)
siop_cmd 664 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 668 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 0] = MSG_EXTENDED;
siop_cmd 669 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 1] = MSG_EXT_SDTR_LEN;
siop_cmd 670 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 2] = MSG_EXT_SDTR;
siop_cmd 671 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 3] = ssync;
siop_cmd 672 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 4] = soff;
siop_cmd 673 dev/ic/siop_common.c siop_cmd->siop_tables->t_msgout.count =
siop_cmd 674 dev/ic/siop_common.c siop_htoc32(siop_cmd->siop_sc, offset + MSG_EXT_SDTR_LEN + 2);
siop_cmd 678 dev/ic/siop_common.c siop_wdtr_msg(siop_cmd, offset, wide)
siop_cmd 679 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 683 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 0] = MSG_EXTENDED;
siop_cmd 684 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 1] = MSG_EXT_WDTR_LEN;
siop_cmd 685 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 2] = MSG_EXT_WDTR;
siop_cmd 686 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 3] = wide;
siop_cmd 687 dev/ic/siop_common.c siop_cmd->siop_tables->t_msgout.count =
siop_cmd 688 dev/ic/siop_common.c siop_htoc32(siop_cmd->siop_sc, offset + MSG_EXT_WDTR_LEN + 2);
siop_cmd 692 dev/ic/siop_common.c siop_ppr_msg(siop_cmd, offset, ssync, soff)
siop_cmd 693 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 697 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 0] = MSG_EXTENDED;
siop_cmd 698 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 1] = MSG_EXT_PPR_LEN;
siop_cmd 699 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 2] = MSG_EXT_PPR;
siop_cmd 700 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 3] = ssync;
siop_cmd 701 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 4] = 0; /* reserved */
siop_cmd 702 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 5] = soff;
siop_cmd 703 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 6] = 1; /* wide */
siop_cmd 704 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[offset + 7] = MSG_EXT_PPR_PROT_DT;
siop_cmd 705 dev/ic/siop_common.c siop_cmd->siop_tables->t_msgout.count =
siop_cmd 706 dev/ic/siop_common.c siop_htoc32(siop_cmd->siop_sc, offset + MSG_EXT_PPR_LEN + 2);
siop_cmd 720 dev/ic/siop_common.c siop_ma(siop_cmd)
siop_cmd 721 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 724 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 731 dev/ic/siop_common.c if ((siop_cmd->xs->flags & (SCSI_DATA_OUT | SCSI_DATA_IN))
siop_cmd 741 dev/ic/siop_common.c table = &siop_cmd->siop_tables->data[offset];
siop_cmd 747 dev/ic/siop_common.c if (siop_cmd->xs->flags & SCSI_DATA_OUT) {
siop_cmd 768 dev/ic/siop_common.c if (siop_cmd->siop_target->flags & TARF_ISWIDE) {
siop_cmd 782 dev/ic/siop_common.c siop_cmd->flags |= CMDFL_RESID;
siop_cmd 783 dev/ic/siop_common.c siop_cmd->resid = dbc;
siop_cmd 787 dev/ic/siop_common.c siop_sdp(siop_cmd, offset)
siop_cmd 788 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 791 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 794 dev/ic/siop_common.c if ((siop_cmd->xs->flags & (SCSI_DATA_OUT | SCSI_DATA_IN))
siop_cmd 807 dev/ic/siop_common.c sc_print_addr(siop_cmd->xs->sc_link);
siop_cmd 822 dev/ic/siop_common.c siop_update_resid(siop_cmd, offset);
siop_cmd 828 dev/ic/siop_common.c if (siop_cmd->flags & CMDFL_RESID) {
siop_cmd 829 dev/ic/siop_common.c siop_cmd->flags &= ~CMDFL_RESID;
siop_cmd 830 dev/ic/siop_common.c table = &siop_cmd->siop_tables->data[offset];
siop_cmd 834 dev/ic/siop_common.c siop_ctoh32(sc, table->count) - siop_cmd->resid);
siop_cmd 835 dev/ic/siop_common.c table->count = siop_htoc32(sc, siop_cmd->resid);
siop_cmd 843 dev/ic/siop_common.c bcopy(&siop_cmd->siop_tables->data[offset],
siop_cmd 844 dev/ic/siop_common.c &siop_cmd->siop_tables->data[0],
siop_cmd 849 dev/ic/siop_common.c siop_update_resid(siop_cmd, offset)
siop_cmd 850 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 853 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 857 dev/ic/siop_common.c if ((siop_cmd->xs->flags & (SCSI_DATA_OUT | SCSI_DATA_IN))
siop_cmd 866 dev/ic/siop_common.c siop_cmd->xs->resid -=
siop_cmd 867 dev/ic/siop_common.c siop_ctoh32(sc, siop_cmd->siop_tables->data[i].count);
siop_cmd 873 dev/ic/siop_common.c if (siop_cmd->flags & CMDFL_RESID) {
siop_cmd 874 dev/ic/siop_common.c table = &siop_cmd->siop_tables->data[offset];
siop_cmd 875 dev/ic/siop_common.c siop_cmd->xs->resid -=
siop_cmd 876 dev/ic/siop_common.c siop_ctoh32(sc, table->count) - siop_cmd->resid;
siop_cmd 881 dev/ic/siop_common.c siop_iwr(siop_cmd)
siop_cmd 882 dev/ic/siop_common.c struct siop_common_cmd *siop_cmd;
siop_cmd 886 dev/ic/siop_common.c struct siop_common_softc *sc = siop_cmd->siop_sc;
siop_cmd 890 dev/ic/siop_common.c if ((siop_cmd->siop_target->flags & TARF_ISWIDE) == 0) {
siop_cmd 891 dev/ic/siop_common.c siop_cmd->siop_tables->t_msgout.count = siop_htoc32(sc, 1);
siop_cmd 892 dev/ic/siop_common.c siop_cmd->siop_tables->msg_out[0] = MSG_MESSAGE_REJECT;
siop_cmd 901 dev/ic/siop_common.c if ((siop_cmd->flags & CMDFL_RESID) == 0)
siop_cmd 903 dev/ic/siop_common.c table = &siop_cmd->siop_tables->data[offset];
siop_cmd 905 dev/ic/siop_common.c if ((siop_cmd->flags & CMDFL_RESID) == 0) {
siop_cmd 917 dev/ic/siop_common.c siop_cmd->flags |= CMDFL_RESID;
siop_cmd 918 dev/ic/siop_common.c siop_cmd->resid = 1;
siop_cmd 928 dev/ic/siop_common.c siop_cmd->resid--;
siop_cmd 56 dev/ic/siopvar.h struct siop_cmd {
siop_cmd 57 dev/ic/siopvar.h TAILQ_ENTRY (siop_cmd) next;
siop_cmd 68 dev/ic/siopvar.h struct siop_cmd *cmds;
siop_cmd 75 dev/ic/siopvar.h struct siop_cmd *active; /* active command */
siop_cmd 105 dev/ic/siopvar.h TAILQ_HEAD(cmd_list, siop_cmd);