cmd_c
switch (siop_wdtr_neg(&esiop_cmd->cmd_c)) {
esiop_cmd->cmd_c.siop_target);
esiop_cmd->cmd_c.siop_target);
switch (siop_sdtr_neg(&esiop_cmd->cmd_c)) {
esiop_cmd->cmd_c.siop_target);
esiop_cmd->cmd_c.siop_target);
siop_sdp(&esiop_cmd->cmd_c, offset);
(u_long)esiop_cmd->cmd_c.dsa,
esiop_cmd->cmd_c.status = CMDST_DONE;
struct scsipi_xfer *xs = esiop_cmd->cmd_c.xs;
struct esiop_softc *sc = (struct esiop_softc *)esiop_cmd->cmd_c.siop_sc;
siop_update_resid(&esiop_cmd->cmd_c, offset);
xs->xs_periph->periph_lun, esiop_cmd->cmd_c.tag);
esiop_cmd->cmd_c.dmamap_data, 0,
esiop_cmd->cmd_c.dmamap_data->dm_mapsize,
esiop_cmd->cmd_c.dmamap_data);
bus_dmamap_unload(sc->sc_c.sc_dmat, esiop_cmd->cmd_c.dmamap_cmd);
esiop_cmd->cmd_c.status = CMDST_FREE;
esiop_cmd->cmd_c.xs->status = status;
if (slotdsa == esiop_cmd->cmd_c.dsa) { /* found it */
esiop_cmd->cmd_c.dsa | A_f_cmd_ignore);
esiop_cmd->cmd_c.xs->error = XS_REQUEUE;
esiop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
struct esiop_softc *sc = (struct esiop_softc *)esiop_cmd->cmd_c.siop_sc;
int target = esiop_cmd->cmd_c.xs->xs_periph->periph_target;
int lun = esiop_cmd->cmd_c.xs->xs_periph->periph_lun;
esiop_cmd->cmd_c.tag, esiop_cmd->cmd_c.status);
target, lun, esiop_lun->active->cmd_c.status);
esiop_cmd->cmd_c.flags &= ~CMDFL_TAG;
esiop_cmd->cmd_c.tag = -1;
esiop_cmd->cmd_c.dsa);
esiop_cmd->cmd_c.xs->xs_periph);
esiop_cmd->cmd_c.xs->error =
(esiop_cmd->cmd_c.flags & CMDFL_TIMEOUT) ?
esiop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
esiop_cmd->cmd_c.status = CMDST_DONE;
if (esiop_cmd->cmd_c.status != CMDST_FREE)
esiop_cmd->cmd_c.siop_target = sc->sc_c.targets[target];
esiop_cmd->cmd_c.xs = xs;
esiop_cmd->cmd_c.flags = 0;
esiop_cmd->cmd_c.status = CMDST_READY;
esiop_cmd->cmd_c.dmamap_cmd,
esiop_cmd->cmd_c.status = CMDST_FREE;
esiop_cmd->cmd_c.dmamap_data, xs->data, xs->datalen,
esiop_cmd->cmd_c.dmamap_cmd);
esiop_cmd->cmd_c.status = CMDST_FREE;
esiop_cmd->cmd_c.dmamap_data, 0,
esiop_cmd->cmd_c.dmamap_data->dm_mapsize,
bus_dmamap_sync(sc->sc_c.sc_dmat, esiop_cmd->cmd_c.dmamap_cmd,
0, esiop_cmd->cmd_c.dmamap_cmd->dm_mapsize,
esiop_cmd->cmd_c.tag = xs->xs_tag_id;
esiop_cmd->cmd_c.tag = -1;
siop_setuptables(&esiop_cmd->cmd_c);
if (esiop_cmd->cmd_c.flags & CMDFL_TAG) {
htole32(esiop_cmd->cmd_c.tag << 24);
esiop_cmd->cmd_c.xs->error = XS_REQUEUE;
esiop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
target = esiop_cmd->cmd_c.xs->xs_periph->periph_target;
lun = esiop_cmd->cmd_c.xs->xs_periph->periph_lun;
if (esiop_cmd->cmd_c.flags & CMDFL_TAG) {
if (esiop_cmd->cmd_c.tag >= ESIOP_NTAG ||
esiop_cmd->cmd_c.tag < 0) {
scsipi_printaddr(esiop_cmd->cmd_c.xs->xs_periph);
printf(": tag id %d\n", esiop_cmd->cmd_c.tag);
if (esiop_lun->tactive[esiop_cmd->cmd_c.tag] != NULL)
(u_long)esiop_cmd->cmd_c.dsa);
if (esiop_cmd->cmd_c.status == CMDST_READY)
esiop_cmd->cmd_c.status = CMDST_ACTIVE;
if (esiop_cmd->cmd_c.flags & CMDFL_TAG) {
esiop_lun->tactive[esiop_cmd->cmd_c.tag] = esiop_cmd;
esiop_lun->lun_tagtbl->tbl[esiop_cmd->cmd_c.tag] =
htole32(esiop_cmd->cmd_c.dsa);
esiop_cmd->cmd_c.dsa);
esiop_cmd->cmd_c.dsa);
if ((esiop_cmd->cmd_c.xs->xs_control & XS_CTL_POLL) == 0) {
timeout = mstohz(esiop_cmd->cmd_c.xs->timeout);
callout_reset( &esiop_cmd->cmd_c.xs->xs_callout,
(struct esiop_softc *)esiop_cmd->cmd_c.siop_sc;
scsipi_printaddr(esiop_cmd->cmd_c.xs->xs_periph);
scsipi_print_cdb(esiop_cmd->cmd_c.xs->cmd);
callout_stop(&esiop_cmd->cmd_c.xs->xs_callout);
esiop_cmd->cmd_c.flags |= CMDFL_TIMEOUT;
&newcbd->cmds[i].cmd_c.dmamap_data);
&newcbd->cmds[i].cmd_c.dmamap_cmd);
newcbd->cmds[i].cmd_c.siop_sc = &sc->sc_c;
newcbd->cmds[i].cmd_c.dsa = dsa;
newcbd->cmds[i].cmd_c.status = CMDST_FREE;
esiop_cmd->cmd_c.dsa, \
xs = esiop_cmd->cmd_c.xs;
if (esiop_cmd->cmd_c.status != CMDST_ACTIVE) {
esiop_cmd->cmd_c.status);
SIOP_DSA, esiop_cmd->cmd_c.dsa);
siop_ma(&esiop_cmd->cmd_c);
siop_ma(&esiop_cmd->cmd_c);
esiop_cmd->cmd_c.status = CMDST_DONE;
esiop_cmd->cmd_c.status = CMDST_DONE;
if (esiop_cmd->cmd_c.status != CMDST_ACTIVE) {
irqcode, esiop_cmd->cmd_c.status);
siop_sdtr_msg(&esiop_cmd->cmd_c, 0,
switch (siop_iwr(&esiop_cmd->cmd_c)) {
switch (siop_ppr_neg(&esiop_cmd->cmd_c)) {
esiop_cmd->cmd_c.siop_target);
esiop_cmd->cmd_c.siop_target);
struct siop_common_softc *sc = esiop_cmd->cmd_c.siop_sc;
offset = esiop_cmd->cmd_c.dsa -
struct siop_common_cmd cmd_c;
#define cmd_tables cmd_c.siop_tables
struct scsipi_xfer *xs = siop_cmd->cmd_c.xs;
struct siop_softc *sc = (struct siop_softc *)siop_cmd->cmd_c.siop_sc;
xs->xs_periph->periph_lun, siop_cmd->cmd_c.tag);
bus_dmamap_sync(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_data,
0, siop_cmd->cmd_c.dmamap_data->dm_mapsize,
siop_cmd->cmd_c.dmamap_data);
bus_dmamap_unload(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_cmd);
siop_cmd->cmd_c.status = CMDST_FREE;
siop_cmd->cmd_c.dsa +
siop_cmd->cmd_c.xs->error = XS_REQUEUE;
siop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
struct siop_softc *sc = (struct siop_softc *)siop_cmd->cmd_c.siop_sc;
int target = siop_cmd->cmd_c.xs->xs_periph->periph_target;
int lun = siop_cmd->cmd_c.xs->xs_periph->periph_lun;
siop_cmd->cmd_c.tag,
siop_cmd->cmd_c.status);
target, lun, siop_lun->siop_tag[0].active->cmd_c.status);
siop_cmd->cmd_c.tag = 0;
siop_cmd->cmd_c.dsa + sizeof(struct siop_common_xfer) +
scsipi_printaddr(siop_cmd->cmd_c.xs->xs_periph);
siop_cmd->cmd_c.xs->error =
(siop_cmd->cmd_c.flags & CMDFL_TIMEOUT) ?
siop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
siop_cmd->cmd_c.status = CMDST_DONE;
if (siop_cmd->cmd_c.status != CMDST_FREE)
siop_cmd->cmd_c.siop_target = sc->sc_c.targets[target];
siop_cmd->cmd_c.xs = xs;
siop_cmd->cmd_c.flags = 0;
siop_cmd->cmd_c.status = CMDST_READY;
siop_cmd->cmd_c.dmamap_cmd,
siop_cmd->cmd_c.status = CMDST_FREE;
siop_cmd->cmd_c.dmamap_data, xs->data, xs->datalen,
siop_cmd->cmd_c.dmamap_cmd);
siop_cmd->cmd_c.status = CMDST_FREE;
siop_cmd->cmd_c.dmamap_data, 0,
siop_cmd->cmd_c.dmamap_data->dm_mapsize,
bus_dmamap_sync(sc->sc_c.sc_dmat, siop_cmd->cmd_c.dmamap_cmd, 0,
siop_cmd->cmd_c.dmamap_cmd->dm_mapsize,
siop_cmd->cmd_c.tag = xs->xs_tag_id + 1;
siop_cmd->cmd_c.tag = 0;
siop_setuptables(&siop_cmd->cmd_c);
target = siop_cmd->cmd_c.xs->xs_periph->periph_target;
lun = siop_cmd->cmd_c.xs->xs_periph->periph_lun;
if (siop_cmd->cmd_c.flags & CMDFL_TAG) {
if (siop_lun->siop_tag[siop_cmd->cmd_c.tag].active != NULL)
if (siop_cmd->cmd_c.tag >= SIOP_NTAG) {
scsipi_printaddr(siop_cmd->cmd_c.xs->xs_periph);
printf(": tag id %d\n", siop_cmd->cmd_c.tag);
siop_cmd->cmd_c.xs->error = XS_REQUEUE;
siop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
(u_long)siop_cmd->cmd_c.dsa);
if (siop_cmd->cmd_c.status == CMDST_READY)
siop_cmd->cmd_c.status = CMDST_ACTIVE;
siop_lun->siop_tag[siop_cmd->cmd_c.tag].active = siop_cmd;
dsa = siop_cmd->cmd_c.dsa;
if (siop_lun->siop_tag[siop_cmd->cmd_c.tag].reseloff > 0)
siop_lun->siop_tag[siop_cmd->cmd_c.tag].reseloff + 1,
if ((siop_cmd->cmd_c.xs->xs_control & XS_CTL_POLL) == 0) {
timeout = mstohz(siop_cmd->cmd_c.xs->timeout);
callout_reset( &siop_cmd->cmd_c.xs->xs_callout,
struct siop_softc *sc = (struct siop_softc *)siop_cmd->cmd_c.siop_sc;
scsipi_printaddr(siop_cmd->cmd_c.xs->xs_periph);
scsipi_print_cdb(siop_cmd->cmd_c.xs->cmd);
callout_stop(&siop_cmd->cmd_c.xs->xs_callout);
siop_cmd->cmd_c.flags |= CMDFL_TIMEOUT;
&newcbd->cmds[i].cmd_c.dmamap_data);
&newcbd->cmds[i].cmd_c.dmamap_cmd);
newcbd->cmds[i].cmd_c.siop_sc = &sc->sc_c;
newcbd->cmds[i].cmd_c.dsa = dsa;
newcbd->cmds[i].cmd_c.status = CMDST_FREE;
siop_cmd->cmd_c.dsa, \
xs = siop_cmd->cmd_c.xs;
siop_target = (struct siop_target *)siop_cmd->cmd_c.siop_target;
target = siop_cmd->cmd_c.xs->xs_periph->periph_target;
lun = siop_cmd->cmd_c.xs->xs_periph->periph_lun;
tag = siop_cmd->cmd_c.tag;
if (siop_cmd->cmd_c.status != CMDST_ACTIVE) {
siop_cmd->cmd_c.status);
SIOP_DSA, siop_cmd->cmd_c.dsa);
siop_ma(&siop_cmd->cmd_c);
siop_ma(&siop_cmd->cmd_c);
siop_cmd->cmd_c.status = CMDST_DONE;
siop_cmd->cmd_c.status = CMDST_DONE;
if (siop_cmd->cmd_c.status != CMDST_ACTIVE) {
irqcode, siop_cmd->cmd_c.status);
SIOP_DSP, siop_cmd->cmd_c.dsa +
siop_sdtr_msg(&siop_cmd->cmd_c, 0,
switch (siop_iwr(&siop_cmd->cmd_c)) {
switch (siop_wdtr_neg(&siop_cmd->cmd_c)) {
siop_cmd->cmd_c.siop_target);
siop_cmd->cmd_c.siop_target);
switch (siop_sdtr_neg(&siop_cmd->cmd_c)) {
siop_cmd->cmd_c.siop_target);
siop_cmd->cmd_c.siop_target);
siop_sdp(&siop_cmd->cmd_c, offset);
(u_long)siop_cmd->cmd_c.dsa);
siop_cmd->cmd_c.status = CMDST_FREE;
(u_long)siop_cmd->cmd_c.dsa,
siop_update_resid(&siop_cmd->cmd_c, offset);
siop_cmd->cmd_c.status = CMDST_DONE;
struct siop_common_softc *sc = siop_cmd->cmd_c.siop_sc;
offset = siop_cmd->cmd_c.dsa -
struct siop_common_cmd cmd_c;
#define cmd_tables cmd_c.siop_tables
static int cmd_c(char **, int);
cmd = cmd_c;