Lines Matching refs:tcs

178 static void iha_reset_tcs(struct tcs *, uint8_t);
259 scb->tcs = NULL; in iha_append_free_scb()
275 struct tcs *tcs; in iha_append_done_scb() local
286 tcs = scb->tcs; in iha_append_done_scb()
289 if (tcs->tagcnt) in iha_append_done_scb()
290 tcs->tagcnt--; in iha_append_done_scb()
291 } else if (tcs->ntagscb == scb) in iha_append_done_scb()
292 tcs->ntagscb = NULL; in iha_append_done_scb()
332 struct tcs *tcs; in iha_find_pend_scb() local
346 tcs = scb->tcs; in iha_find_pend_scb()
354 if (tcs->ntagscb == NULL) in iha_find_pend_scb()
366 } else if (tcs->tagcnt == 0) { in iha_find_pend_scb()
372 if (tcs->ntagscb == NULL) in iha_find_pend_scb()
437 scb->tcs->ntagscb = scb; in iha_mark_busy_scb()
439 scb->tcs->tagcnt++; in iha_mark_busy_scb()
713 scb->tcs = &sc->sc_tcs[scb->target]; in iha_scsipi_request()
758 struct tcs *tcs; in iha_scsipi_request() local
761 tcs = &sc->sc_tcs[xm->xm_target]; in iha_scsipi_request()
764 (tcs->flags & FLAG_NO_WIDE) == 0) in iha_scsipi_request()
765 tcs->flags &= ~(FLAG_WIDE_DONE|FLAG_SYNC_DONE); in iha_scsipi_request()
768 (tcs->flags & FLAG_NO_SYNC) == 0) in iha_scsipi_request()
769 tcs->flags &= ~FLAG_SYNC_DONE; in iha_scsipi_request()
775 if ((tcs->flags & (FLAG_WIDE_DONE|FLAG_SYNC_DONE)) == in iha_scsipi_request()
787 struct tcs *tcs = &sc->sc_tcs[target]; in iha_update_xfer_mode() local
795 if (tcs->syncm & PERIOD_WIDE_SCSI) in iha_update_xfer_mode()
798 if (tcs->period) { in iha_update_xfer_mode()
800 xm.xm_period = tcs->period; in iha_update_xfer_mode()
801 xm.xm_offset = tcs->offset; in iha_update_xfer_mode()
811 struct tcs *tcs; in iha_reset_scsi_bus() local
832 for (i = 0, tcs = sc->sc_tcs; i < IHA_MAX_TARGETS; i++, tcs++) in iha_reset_scsi_bus()
833 iha_reset_tcs(tcs, sc->sc_sconf1); in iha_reset_scsi_bus()
885 iha_reset_tcs(struct tcs *tcs, uint8_t config0) in iha_reset_tcs() argument
888 tcs->flags &= ~(FLAG_SYNC_DONE | FLAG_WIDE_DONE); in iha_reset_tcs()
889 tcs->period = 0; in iha_reset_tcs()
890 tcs->offset = 0; in iha_reset_tcs()
891 tcs->tagcnt = 0; in iha_reset_tcs()
892 tcs->ntagscb = NULL; in iha_reset_tcs()
893 tcs->syncm = 0; in iha_reset_tcs()
894 tcs->sconfig0 = config0; in iha_reset_tcs()
938 struct tcs *tcs; in iha_scsi() local
982 tcs = scb->tcs; in iha_scsi()
988 bus_space_write_1(iot, ioh, TUL_SYNCM, tcs->syncm); in iha_scsi()
990 if ((tcs->flags & FLAG_NO_NEG_SYNC) == 0 || in iha_scsi()
991 (tcs->flags & FLAG_NO_NEG_WIDE) == 0) in iha_scsi()
1255 scb->tcs->flags &= in iha_done_scb()
1569 struct tcs *tcs; in iha_state_1() local
1574 tcs = scb->tcs; in iha_state_1()
1576 bus_space_write_1(iot, ioh, TUL_SCONFIG0, tcs->sconfig0); in iha_state_1()
1600 flags = tcs->flags; in iha_state_1()
1632 bus_space_write_1(iot, ioh, TUL_SCONFIG0, scb->tcs->sconfig0); in iha_state_2()
1682 flags = scb->tcs->flags; in iha_state_3()
1798 period = scb->tcs->syncm; in iha_state_5()
1928 iha_reset_tcs(scb->tcs, sc->sc_sconf1); in iha_state_8()
2006 if ((scb->tcs->syncm & PERIOD_WIDE_SCSI) != 0) in iha_xpad_in()
2037 if ((scb->tcs->syncm & PERIOD_WIDE_SCSI) != 0) in iha_xpad_out()
2163 struct tcs *tcs; in iha_resel() local
2175 tcs = &sc->sc_tcs[target]; in iha_resel()
2177 bus_space_write_1(iot, ioh, TUL_SCONFIG0, tcs->sconfig0); in iha_resel()
2178 bus_space_write_1(iot, ioh, TUL_SYNCM, tcs->syncm); in iha_resel()
2182 if (tcs->ntagscb != NULL) in iha_resel()
2184 scb = tcs->ntagscb; in iha_resel()
2278 flags = sc->sc_actscb->tcs->flags; in iha_msgin()
2360 flags = sc->sc_actscb->tcs->flags; in iha_msgin_extended()
2405 flags = sc->sc_actscb->tcs->flags; in iha_msgin_sdtr()
2530 sc->sc_actscb->tcs->flags |= FLAG_WIDE_DONE; in iha_msgout_wdtr()
2542 struct tcs *tcs = sc->sc_actscb->tcs; in iha_msgout_sdtr() local
2544 tcs->flags |= FLAG_SYNC_DONE; in iha_msgout_sdtr()
2548 sc->sc_msg[2] = iha_rate_tbl[tcs->flags & FLAG_SCSI_RATE]; in iha_msgout_sdtr()
2559 struct tcs *tcs = sc->sc_actscb->tcs; in iha_wide_done() local
2561 tcs->syncm = 0; in iha_wide_done()
2562 tcs->period = 0; in iha_wide_done()
2563 tcs->offset = 0; in iha_wide_done()
2566 tcs->syncm |= PERIOD_WIDE_SCSI; in iha_wide_done()
2568 tcs->sconfig0 &= ~ALTPD; in iha_wide_done()
2569 tcs->flags &= ~FLAG_SYNC_DONE; in iha_wide_done()
2570 tcs->flags |= FLAG_WIDE_DONE; in iha_wide_done()
2574 bus_space_write_1(iot, ioh, TUL_SCONFIG0, tcs->sconfig0); in iha_wide_done()
2575 bus_space_write_1(iot, ioh, TUL_SYNCM, tcs->syncm); in iha_wide_done()
2583 struct tcs *tcs = sc->sc_actscb->tcs; in iha_sync_done() local
2586 tcs->period = sc->sc_msg[2]; in iha_sync_done()
2587 tcs->offset = sc->sc_msg[3]; in iha_sync_done()
2588 if (tcs->offset != 0) { in iha_sync_done()
2589 tcs->syncm |= tcs->offset; in iha_sync_done()
2593 if (iha_rate_tbl[i] >= tcs->period) in iha_sync_done()
2596 tcs->syncm |= (i << 4); in iha_sync_done()
2597 tcs->sconfig0 |= ALTPD; in iha_sync_done()
2600 tcs->flags |= FLAG_SYNC_DONE; in iha_sync_done()
2604 bus_space_write_1(iot, ioh, TUL_SCONFIG0, tcs->sconfig0); in iha_sync_done()
2605 bus_space_write_1(iot, ioh, TUL_SYNCM, tcs->syncm); in iha_sync_done()