Symbol: esiop_cmd
sys/dev/ic/esiop.c
1007
if (esiop_cmd->cmd_tables->msg_in[2] == MSG_EXT_WDTR) {
sys/dev/ic/esiop.c
1008
switch (siop_wdtr_neg(&esiop_cmd->cmd_c)) {
sys/dev/ic/esiop.c
1011
esiop_cmd->cmd_c.siop_target);
sys/dev/ic/esiop.c
1012
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1019
esiop_cmd->cmd_c.siop_target);
sys/dev/ic/esiop.c
1028
if (esiop_cmd->cmd_tables->msg_in[2] == MSG_EXT_SDTR) {
sys/dev/ic/esiop.c
1029
switch (siop_sdtr_neg(&esiop_cmd->cmd_c)) {
sys/dev/ic/esiop.c
1032
esiop_cmd->cmd_c.siop_target);
sys/dev/ic/esiop.c
1033
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1040
esiop_cmd->cmd_c.siop_target);
sys/dev/ic/esiop.c
1050
esiop_cmd->cmd_tables->msg_out[0] = MSG_MESSAGE_REJECT;
sys/dev/ic/esiop.c
1051
esiop_cmd->cmd_tables->t_msgout.count = htole32(1);
sys/dev/ic/esiop.c
1052
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1063
siop_sdp(&esiop_cmd->cmd_c, offset);
sys/dev/ic/esiop.c
1065
ESIOP_XFER(esiop_cmd, saved_offset) =
sys/dev/ic/esiop.c
1067
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1085
(u_long)esiop_cmd->cmd_c.dsa,
sys/dev/ic/esiop.c
1086
le32toh(esiop_cmd->cmd_tables->id),
sys/dev/ic/esiop.c
1087
esiop_cmd->cmd_tables->msg_in[0],
sys/dev/ic/esiop.c
1088
le32toh(esiop_cmd->cmd_tables->status));
sys/dev/ic/esiop.c
1091
esiop_cmd->cmd_c.status = CMDST_DONE;
sys/dev/ic/esiop.c
1116
xs->status = le32toh(esiop_cmd->cmd_tables->status);
sys/dev/ic/esiop.c
1133
ESIOP_XFER(esiop_cmd, saved_offset) != htole32(SIOP_NOOFFSET))
sys/dev/ic/esiop.c
1135
(le32toh(ESIOP_XFER(esiop_cmd, saved_offset)) >> 8) & 0xff;
sys/dev/ic/esiop.c
1137
esiop_scsicmd_end(esiop_cmd, offset);
sys/dev/ic/esiop.c
1145
esiop_scsicmd_end(struct esiop_cmd *esiop_cmd, int offset)
sys/dev/ic/esiop.c
1147
struct scsipi_xfer *xs = esiop_cmd->cmd_c.xs;
sys/dev/ic/esiop.c
1148
struct esiop_softc *sc = (struct esiop_softc *)esiop_cmd->cmd_c.siop_sc;
sys/dev/ic/esiop.c
1150
siop_update_resid(&esiop_cmd->cmd_c, offset);
sys/dev/ic/esiop.c
1171
xs->xs_periph->periph_lun, esiop_cmd->cmd_c.tag);
sys/dev/ic/esiop.c
1194
esiop_cmd->cmd_c.dmamap_data, 0,
sys/dev/ic/esiop.c
1195
esiop_cmd->cmd_c.dmamap_data->dm_mapsize,
sys/dev/ic/esiop.c
1199
esiop_cmd->cmd_c.dmamap_data);
sys/dev/ic/esiop.c
1201
bus_dmamap_unload(sc->sc_c.sc_dmat, esiop_cmd->cmd_c.dmamap_cmd);
sys/dev/ic/esiop.c
1204
esiop_cmd->cmd_c.status = CMDST_FREE;
sys/dev/ic/esiop.c
1205
TAILQ_INSERT_TAIL(&sc->free_list, esiop_cmd, next);
sys/dev/ic/esiop.c
1219
struct esiop_cmd *esiop_cmd;
sys/dev/ic/esiop.c
1280
esiop_cmd = (tag >= 0) ? esiop_lun->tactive[tag] : esiop_lun->active;
sys/dev/ic/esiop.c
1281
if (esiop_cmd == NULL) {
sys/dev/ic/esiop.c
1287
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1289
status = le32toh(esiop_cmd->cmd_tables->status);
sys/dev/ic/esiop.c
1299
esiop_cmd->cmd_c.xs->status = status;
sys/dev/ic/esiop.c
1309
if (ESIOP_XFER(esiop_cmd, saved_offset) != htole32(SIOP_NOOFFSET))
sys/dev/ic/esiop.c
1311
(le32toh(ESIOP_XFER(esiop_cmd, saved_offset)) >> 8) & 0xff;
sys/dev/ic/esiop.c
1312
esiop_scsicmd_end(esiop_cmd, offset);
sys/dev/ic/esiop.c
1321
struct esiop_cmd *esiop_cmd;
sys/dev/ic/esiop.c
1332
esiop_cmd = esiop_lun->tactive[tag];
sys/dev/ic/esiop.c
1337
if (slotdsa == esiop_cmd->cmd_c.dsa) { /* found it */
sys/dev/ic/esiop.c
1341
esiop_cmd->cmd_c.dsa | A_f_cmd_ignore);
sys/dev/ic/esiop.c
1343
esiop_cmd->cmd_c.xs->error = XS_REQUEUE;
sys/dev/ic/esiop.c
1344
esiop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
sys/dev/ic/esiop.c
1346
esiop_scsicmd_end(esiop_cmd, 0);
sys/dev/ic/esiop.c
1361
esiop_handle_qtag_reject(struct esiop_cmd *esiop_cmd)
sys/dev/ic/esiop.c
1363
struct esiop_softc *sc = (struct esiop_softc *)esiop_cmd->cmd_c.siop_sc;
sys/dev/ic/esiop.c
1364
int target = esiop_cmd->cmd_c.xs->xs_periph->periph_target;
sys/dev/ic/esiop.c
1365
int lun = esiop_cmd->cmd_c.xs->xs_periph->periph_lun;
sys/dev/ic/esiop.c
1366
int tag = esiop_cmd->cmd_tables->msg_out[2];
sys/dev/ic/esiop.c
1374
esiop_cmd->cmd_c.tag, esiop_cmd->cmd_c.status);
sys/dev/ic/esiop.c
1387
esiop_lun->active = esiop_cmd;
sys/dev/ic/esiop.c
1388
esiop_cmd->cmd_c.flags &= ~CMDFL_TAG;
sys/dev/ic/esiop.c
1389
esiop_cmd->cmd_c.tag = -1;
sys/dev/ic/esiop.c
1393
esiop_cmd->cmd_c.dsa);
sys/dev/ic/esiop.c
1407
struct esiop_cmd *esiop_cmd;
sys/dev/ic/esiop.c
1442
esiop_cmd = esiop_lun->tactive[tag];
sys/dev/ic/esiop.c
1444
esiop_cmd = esiop_lun->active;
sys/dev/ic/esiop.c
1445
if (esiop_cmd == NULL)
sys/dev/ic/esiop.c
1448
esiop_cmd->cmd_c.xs->xs_periph);
sys/dev/ic/esiop.c
1450
esiop_cmd->cmd_c.xs->error =
sys/dev/ic/esiop.c
1451
(esiop_cmd->cmd_c.flags & CMDFL_TIMEOUT) ?
sys/dev/ic/esiop.c
1453
esiop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
sys/dev/ic/esiop.c
1458
esiop_cmd->cmd_c.status = CMDST_DONE;
sys/dev/ic/esiop.c
1459
esiop_scsicmd_end(esiop_cmd, 0);
sys/dev/ic/esiop.c
1479
struct esiop_cmd *esiop_cmd;
sys/dev/ic/esiop.c
1507
esiop_cmd = TAILQ_FIRST(&sc->free_list);
sys/dev/ic/esiop.c
1508
if (esiop_cmd == NULL) {
sys/dev/ic/esiop.c
1514
TAILQ_REMOVE(&sc->free_list, esiop_cmd, next);
sys/dev/ic/esiop.c
1516
if (esiop_cmd->cmd_c.status != CMDST_FREE)
sys/dev/ic/esiop.c
1536
esiop_cmd, next);
sys/dev/ic/esiop.c
1565
esiop_cmd, next);
sys/dev/ic/esiop.c
1570
esiop_cmd->cmd_c.siop_target = sc->sc_c.targets[target];
sys/dev/ic/esiop.c
1571
esiop_cmd->cmd_c.xs = xs;
sys/dev/ic/esiop.c
1572
esiop_cmd->cmd_c.flags = 0;
sys/dev/ic/esiop.c
1573
esiop_cmd->cmd_c.status = CMDST_READY;
sys/dev/ic/esiop.c
1577
esiop_cmd->cmd_c.dmamap_cmd,
sys/dev/ic/esiop.c
1586
esiop_cmd->cmd_c.status = CMDST_FREE;
sys/dev/ic/esiop.c
1587
TAILQ_INSERT_TAIL(&sc->free_list, esiop_cmd, next);
sys/dev/ic/esiop.c
1593
esiop_cmd->cmd_c.dmamap_data, xs->data, xs->datalen,
sys/dev/ic/esiop.c
1605
esiop_cmd->cmd_c.dmamap_cmd);
sys/dev/ic/esiop.c
1606
esiop_cmd->cmd_c.status = CMDST_FREE;
sys/dev/ic/esiop.c
1608
esiop_cmd, next);
sys/dev/ic/esiop.c
1613
esiop_cmd->cmd_c.dmamap_data, 0,
sys/dev/ic/esiop.c
1614
esiop_cmd->cmd_c.dmamap_data->dm_mapsize,
sys/dev/ic/esiop.c
1618
bus_dmamap_sync(sc->sc_c.sc_dmat, esiop_cmd->cmd_c.dmamap_cmd,
sys/dev/ic/esiop.c
1619
0, esiop_cmd->cmd_c.dmamap_cmd->dm_mapsize,
sys/dev/ic/esiop.c
1623
esiop_cmd->cmd_c.tag = xs->xs_tag_id;
sys/dev/ic/esiop.c
1625
esiop_cmd->cmd_c.tag = -1;
sys/dev/ic/esiop.c
1626
siop_setuptables(&esiop_cmd->cmd_c);
sys/dev/ic/esiop.c
1627
ESIOP_XFER(esiop_cmd, saved_offset) = htole32(SIOP_NOOFFSET);
sys/dev/ic/esiop.c
1628
ESIOP_XFER(esiop_cmd, tlq) = htole32(A_f_c_target | A_f_c_lun);
sys/dev/ic/esiop.c
1629
ESIOP_XFER(esiop_cmd, tlq) |=
sys/dev/ic/esiop.c
1631
if (esiop_cmd->cmd_c.flags & CMDFL_TAG) {
sys/dev/ic/esiop.c
1632
ESIOP_XFER(esiop_cmd, tlq) |= htole32(A_f_c_tag);
sys/dev/ic/esiop.c
1633
ESIOP_XFER(esiop_cmd, tlq) |=
sys/dev/ic/esiop.c
1634
htole32(esiop_cmd->cmd_c.tag << 24);
sys/dev/ic/esiop.c
1637
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1639
esiop_start(sc, esiop_cmd);
sys/dev/ic/esiop.c
1694
esiop_start(struct esiop_softc *sc, struct esiop_cmd *esiop_cmd)
sys/dev/ic/esiop.c
1723
esiop_cmd->cmd_c.xs->error = XS_REQUEUE;
sys/dev/ic/esiop.c
1724
esiop_cmd->cmd_c.xs->status = SCSI_SIOP_NOCHECK;
sys/dev/ic/esiop.c
1725
esiop_scsicmd_end(esiop_cmd, 0);
sys/dev/ic/esiop.c
1730
target = esiop_cmd->cmd_c.xs->xs_periph->periph_target;
sys/dev/ic/esiop.c
1731
lun = esiop_cmd->cmd_c.xs->xs_periph->periph_lun;
sys/dev/ic/esiop.c
1740
if (esiop_cmd->cmd_c.flags & CMDFL_TAG) {
sys/dev/ic/esiop.c
1741
if (esiop_cmd->cmd_c.tag >= ESIOP_NTAG ||
sys/dev/ic/esiop.c
1742
esiop_cmd->cmd_c.tag < 0) {
sys/dev/ic/esiop.c
1743
scsipi_printaddr(esiop_cmd->cmd_c.xs->xs_periph);
sys/dev/ic/esiop.c
1744
printf(": tag id %d\n", esiop_cmd->cmd_c.tag);
sys/dev/ic/esiop.c
1747
if (esiop_lun->tactive[esiop_cmd->cmd_c.tag] != NULL)
sys/dev/ic/esiop.c
1753
(u_long)esiop_cmd->cmd_c.dsa);
sys/dev/ic/esiop.c
1756
if (esiop_cmd->cmd_c.status == CMDST_READY)
sys/dev/ic/esiop.c
1757
esiop_cmd->cmd_c.status = CMDST_ACTIVE;
sys/dev/ic/esiop.c
1761
if (esiop_cmd->cmd_c.flags & CMDFL_TAG) {
sys/dev/ic/esiop.c
1762
esiop_lun->tactive[esiop_cmd->cmd_c.tag] = esiop_cmd;
sys/dev/ic/esiop.c
1764
esiop_lun->lun_tagtbl->tbl[esiop_cmd->cmd_c.tag] =
sys/dev/ic/esiop.c
1765
htole32(esiop_cmd->cmd_c.dsa);
sys/dev/ic/esiop.c
1771
esiop_lun->active = esiop_cmd;
sys/dev/ic/esiop.c
1775
esiop_cmd->cmd_c.dsa);
sys/dev/ic/esiop.c
1779
esiop_cmd->cmd_c.dsa);
sys/dev/ic/esiop.c
1783
if ((esiop_cmd->cmd_c.xs->xs_control & XS_CTL_POLL) == 0) {
sys/dev/ic/esiop.c
1785
timeout = mstohz(esiop_cmd->cmd_c.xs->timeout);
sys/dev/ic/esiop.c
1788
callout_reset( &esiop_cmd->cmd_c.xs->xs_callout,
sys/dev/ic/esiop.c
1789
timeout, esiop_timeout, esiop_cmd);
sys/dev/ic/esiop.c
1803
struct esiop_cmd *esiop_cmd = v;
sys/dev/ic/esiop.c
1805
(struct esiop_softc *)esiop_cmd->cmd_c.siop_sc;
sys/dev/ic/esiop.c
1812
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
1814
scsipi_printaddr(esiop_cmd->cmd_c.xs->xs_periph);
sys/dev/ic/esiop.c
1817
le32toh(esiop_cmd->cmd_tables->status));
sys/dev/ic/esiop.c
1837
scsipi_print_cdb(esiop_cmd->cmd_c.xs->cmd);
sys/dev/ic/esiop.c
1844
callout_stop(&esiop_cmd->cmd_c.xs->xs_callout);
sys/dev/ic/esiop.c
1850
esiop_cmd->cmd_c.flags |= CMDFL_TIMEOUT;
sys/dev/ic/esiop.c
1891
newcbd->cmds = malloc(sizeof(struct esiop_cmd) * SIOP_NCMDPB,
sys/dev/ic/esiop.c
384
esiop_cmd->cmd_c.dsa, \
sys/dev/ic/esiop.c
401
struct esiop_cmd *esiop_cmd;
sys/dev/ic/esiop.c
464
esiop_cmd =
sys/dev/ic/esiop.c
466
if (esiop_cmd == NULL) {
sys/dev/ic/esiop.c
472
xs = esiop_cmd->cmd_c.xs;
sys/dev/ic/esiop.c
474
if (esiop_cmd->cmd_c.status != CMDST_ACTIVE) {
sys/dev/ic/esiop.c
477
esiop_cmd->cmd_c.status);
sys/dev/ic/esiop.c
481
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
488
esiop_cmd = NULL;
sys/dev/ic/esiop.c
532
if (esiop_cmd)
sys/dev/ic/esiop.c
534
target, lun, tag, esiop_cmd->cmd_tables->msg_in[0],
sys/dev/ic/esiop.c
535
le32toh(esiop_cmd->cmd_tables->status));
sys/dev/ic/esiop.c
566
if (esiop_cmd)
sys/dev/ic/esiop.c
594
if (esiop_cmd) {
sys/dev/ic/esiop.c
604
SIOP_DSA, esiop_cmd->cmd_c.dsa);
sys/dev/ic/esiop.c
618
siop_ma(&esiop_cmd->cmd_c);
sys/dev/ic/esiop.c
631
siop_ma(&esiop_cmd->cmd_c);
sys/dev/ic/esiop.c
651
if (esiop_cmd)
sys/dev/ic/esiop.c
695
if (esiop_cmd) {
sys/dev/ic/esiop.c
696
esiop_cmd->cmd_c.status = CMDST_DONE;
sys/dev/ic/esiop.c
715
if (esiop_cmd) {
sys/dev/ic/esiop.c
716
esiop_cmd->cmd_tables->status =
sys/dev/ic/esiop.c
754
if (esiop_cmd) {
sys/dev/ic/esiop.c
755
esiop_cmd->cmd_c.status = CMDST_DONE;
sys/dev/ic/esiop.c
77
void esiop_scsicmd_end(struct esiop_cmd *, int);
sys/dev/ic/esiop.c
781
if (esiop_cmd == NULL) {
sys/dev/ic/esiop.c
787
if (esiop_cmd->cmd_c.status != CMDST_ACTIVE) {
sys/dev/ic/esiop.c
79
int esiop_handle_qtag_reject(struct esiop_cmd *);
sys/dev/ic/esiop.c
791
irqcode, esiop_cmd->cmd_c.status);
sys/dev/ic/esiop.c
80
static void esiop_start(struct esiop_softc *, struct esiop_cmd *);
sys/dev/ic/esiop.c
813
if (esiop_cmd->cmd_tables->msg_out[0] & 0x80) {
sys/dev/ic/esiop.c
820
esiop_cmd->cmd_tables->msg_out[1];
sys/dev/ic/esiop.c
822
esiop_cmd->cmd_tables->msg_out[3];
sys/dev/ic/esiop.c
825
esiop_cmd->cmd_tables->msg_out[0];
sys/dev/ic/esiop.c
827
esiop_cmd->cmd_tables->msg_out[2];
sys/dev/ic/esiop.c
855
siop_sdtr_msg(&esiop_cmd->cmd_c, 0,
sys/dev/ic/esiop.c
858
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
891
esiop_cmd) == -1)
sys/dev/ic/esiop.c
914
esiop_cmd->cmd_tables->t_extmsgdata.count =
sys/dev/ic/esiop.c
916
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
926
esiop_cmd->cmd_tables->msg_out[0] = MSG_MESSAGE_REJECT;
sys/dev/ic/esiop.c
927
esiop_cmd->cmd_tables->t_msgout.count= htole32(1);
sys/dev/ic/esiop.c
928
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
936
esiop_cmd->cmd_tables->msg_in[2],
sys/dev/ic/esiop.c
937
esiop_cmd->cmd_tables->msg_in[1]);
sys/dev/ic/esiop.c
939
if (esiop_cmd->cmd_tables->msg_in[1] >
sys/dev/ic/esiop.c
940
sizeof(esiop_cmd->cmd_tables->msg_in) - 2)
sys/dev/ic/esiop.c
943
esiop_cmd->cmd_tables->msg_in[1]);
sys/dev/ic/esiop.c
944
esiop_cmd->cmd_tables->t_extmsgdata.count =
sys/dev/ic/esiop.c
945
htole32(esiop_cmd->cmd_tables->msg_in[1] - 1);
sys/dev/ic/esiop.c
946
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
955
esiop_cmd->cmd_tables->msg_in[2]);
sys/dev/ic/esiop.c
956
for (i = 3; i < 2 + esiop_cmd->cmd_tables->msg_in[1];
sys/dev/ic/esiop.c
959
esiop_cmd->cmd_tables->msg_in[i]);
sys/dev/ic/esiop.c
963
if (esiop_cmd->cmd_tables->msg_in[0] ==
sys/dev/ic/esiop.c
966
if (esiop_cmd->cmd_tables->msg_in[3] != 1)
sys/dev/ic/esiop.c
969
esiop_cmd->cmd_tables->msg_in[3]);
sys/dev/ic/esiop.c
970
switch (siop_iwr(&esiop_cmd->cmd_c)) {
sys/dev/ic/esiop.c
972
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
986
if (esiop_cmd->cmd_tables->msg_in[2] == MSG_EXT_PPR) {
sys/dev/ic/esiop.c
987
switch (siop_ppr_neg(&esiop_cmd->cmd_c)) {
sys/dev/ic/esiop.c
990
esiop_cmd->cmd_c.siop_target);
sys/dev/ic/esiop.c
991
esiop_table_sync(esiop_cmd,
sys/dev/ic/esiop.c
998
esiop_cmd->cmd_c.siop_target);
sys/dev/ic/esiopvar.h
103
struct esiop_cmd *active; /* active non-tagged command */
sys/dev/ic/esiopvar.h
104
struct esiop_cmd *tactive[ESIOP_NTAG]; /* active tagged commands */
sys/dev/ic/esiopvar.h
119
static __inline void esiop_table_sync(struct esiop_cmd *, int);
sys/dev/ic/esiopvar.h
121
esiop_table_sync(struct esiop_cmd *esiop_cmd, int ops)
sys/dev/ic/esiopvar.h
123
struct siop_common_softc *sc = esiop_cmd->cmd_c.siop_sc;
sys/dev/ic/esiopvar.h
126
offset = esiop_cmd->cmd_c.dsa -
sys/dev/ic/esiopvar.h
127
esiop_cmd->esiop_cbdp->xferdma->dm_segs[0].ds_addr;
sys/dev/ic/esiopvar.h
128
bus_dmamap_sync(sc->sc_dmat, esiop_cmd->esiop_cbdp->xferdma, offset,
sys/dev/ic/esiopvar.h
63
TAILQ_ENTRY (esiop_cmd) next;
sys/dev/ic/esiopvar.h
72
struct esiop_cmd *cmds;
sys/dev/ic/esiopvar.h
77
TAILQ_HEAD(cmd_list, esiop_cmd);