iha_softc
iha_select(struct iha_softc *sc, struct iha_scb *scb, uint8_t select_type)
iha_wait(struct iha_softc *sc, uint8_t cmd)
iha_exec_scb(struct iha_softc *sc, struct iha_scb *scb)
iha_done_scb(struct iha_softc *sc, struct iha_scb *scb)
iha_push_sense_request(struct iha_softc *sc, struct iha_scb *scb)
struct iha_softc *sc;
iha_abort_xs(struct iha_softc *sc, struct scsipi_xfer *xs, uint8_t hastat)
iha_next_state(struct iha_softc *sc)
iha_state_1(struct iha_softc *sc)
static void iha_append_free_scb(struct iha_softc *, struct iha_scb *);
static void iha_append_done_scb(struct iha_softc *, struct iha_scb *, uint8_t);
static inline struct iha_scb *iha_pop_done_scb(struct iha_softc *);
static struct iha_scb *iha_find_pend_scb(struct iha_softc *);
static inline void iha_append_pend_scb(struct iha_softc *, struct iha_scb *);
iha_state_2(struct iha_softc *sc)
static inline void iha_push_pend_scb(struct iha_softc *, struct iha_scb *);
static inline void iha_del_pend_scb(struct iha_softc *, struct iha_scb *);
iha_state_3(struct iha_softc *sc)
static inline void iha_set_ssig(struct iha_softc *, uint8_t, uint8_t);
static int iha_alloc_sglist(struct iha_softc *);
iha_state_4(struct iha_softc *sc)
static void iha_update_xfer_mode(struct iha_softc *, int);
static void iha_reset_scsi_bus(struct iha_softc *);
static void iha_reset_chip(struct iha_softc *);
iha_state_5(struct iha_softc *sc)
static void iha_reset_dma(struct iha_softc *);
static void iha_main(struct iha_softc *);
static void iha_scsi(struct iha_softc *);
static void iha_select(struct iha_softc *, struct iha_scb *, uint8_t);
static int iha_wait(struct iha_softc *, uint8_t);
static void iha_exec_scb(struct iha_softc *, struct iha_scb *);
static void iha_done_scb(struct iha_softc *, struct iha_scb *);
static int iha_push_sense_request(struct iha_softc *, struct iha_scb *);
iha_state_6(struct iha_softc *sc)
static void iha_abort_xs(struct iha_softc *, struct scsipi_xfer *, uint8_t);
iha_state_8(struct iha_softc *sc)
static int iha_next_state(struct iha_softc *);
static int iha_state_1(struct iha_softc *);
static int iha_state_2(struct iha_softc *);
static int iha_state_3(struct iha_softc *);
iha_xfer_data(struct iha_softc *sc, struct iha_scb *scb, int direction)
static int iha_state_4(struct iha_softc *);
static int iha_state_5(struct iha_softc *);
static int iha_state_6(struct iha_softc *);
iha_xpad_in(struct iha_softc *sc)
static int iha_state_8(struct iha_softc *);
static int iha_xfer_data(struct iha_softc *, struct iha_scb *, int);
iha_xpad_out(struct iha_softc *sc)
static int iha_xpad_in(struct iha_softc *);
static int iha_xpad_out(struct iha_softc *);
static int iha_status_msg(struct iha_softc *);
iha_status_msg(struct iha_softc *sc)
static void iha_busfree(struct iha_softc *);
static int iha_resel(struct iha_softc *);
static int iha_msgin(struct iha_softc *);
static int iha_msgin_extended(struct iha_softc *);
static int iha_msgin_sdtr(struct iha_softc *);
static int iha_msgin_ignore_wid_resid(struct iha_softc *);
iha_busfree(struct iha_softc *sc)
static int iha_msgout(struct iha_softc *, uint8_t);
iha_resel(struct iha_softc *sc)
static void iha_msgout_abort(struct iha_softc *, uint8_t);
static int iha_msgout_reject(struct iha_softc *);
static int iha_msgout_extended(struct iha_softc *);
static int iha_msgout_wdtr(struct iha_softc *);
static int iha_msgout_sdtr(struct iha_softc *);
static void iha_wide_done(struct iha_softc *);
static void iha_sync_done(struct iha_softc *);
iha_msgin(struct iha_softc *sc)
static void iha_bad_seq(struct iha_softc *);
static void iha_read_eeprom(struct iha_softc *, struct iha_eeprom *);
static int iha_se2_rd_all(struct iha_softc *, uint16_t *);
static void iha_se2_instr(struct iha_softc *, int);
static uint16_t iha_se2_rd(struct iha_softc *, int);
iha_msgin_extended(struct iha_softc *sc)
static void iha_se2_update_all(struct iha_softc *);
static void iha_se2_wr(struct iha_softc *, int, uint16_t);
iha_msgin_sdtr(struct iha_softc *sc)
iha_append_free_scb(struct iha_softc *sc, struct iha_scb *scb)
iha_msgin_ignore_wid_resid(struct iha_softc *sc)
iha_msgout(struct iha_softc *sc, uint8_t msg)
iha_msgout_abort(struct iha_softc *sc, uint8_t aborttype)
iha_msgout_reject(struct iha_softc *sc)
iha_msgout_extended(struct iha_softc *sc)
iha_msgout_wdtr(struct iha_softc *sc)
iha_msgout_sdtr(struct iha_softc *sc)
iha_wide_done(struct iha_softc *sc)
iha_sync_done(struct iha_softc *sc)
iha_bad_seq(struct iha_softc *sc)
iha_read_eeprom(struct iha_softc *sc, struct iha_eeprom *eeprom)
iha_se2_update_all(struct iha_softc *sc)
iha_se2_wr(struct iha_softc *sc, int addr, uint16_t writeword)
iha_append_done_scb(struct iha_softc *sc, struct iha_scb *scb, uint8_t hastat)
iha_se2_rd(struct iha_softc *sc, int addr)
iha_se2_rd_all(struct iha_softc *sc, uint16_t *tbuf)
iha_se2_instr(struct iha_softc *sc, int instr)
iha_pop_done_scb(struct iha_softc *sc)
iha_find_pend_scb(struct iha_softc *sc)
iha_append_pend_scb(struct iha_softc *sc, struct iha_scb *scb)
iha_push_pend_scb(struct iha_softc *sc, struct iha_scb *scb)
iha_del_pend_scb(struct iha_softc *sc, struct iha_scb *scb)
iha_set_ssig(struct iha_softc *sc, uint8_t offsigs, uint8_t onsigs)
struct iha_softc *sc;
sc = (struct iha_softc *)arg;
iha_attach(struct iha_softc *sc)
iha_alloc_sglist(struct iha_softc *sc)
struct iha_softc *sc;
iha_update_xfer_mode(struct iha_softc *sc, int target)
iha_reset_scsi_bus(struct iha_softc *sc)
iha_reset_chip(struct iha_softc *sc)
iha_reset_dma(struct iha_softc *sc)
iha_main(struct iha_softc *sc)
iha_scsi(struct iha_softc *sc)
void iha_attach(struct iha_softc *);
struct iha_softc *sc = device_private(self);
CFATTACH_DECL_NEW(iha_pci, sizeof(struct iha_softc),