Home | History | Annotate | Download | only in ic

Lines Matching defs:mbi

130 bha_nextmbi(struct bha_softc *sc, struct bha_mbx_in *mbi)
132 if (mbi == &sc->sc_mbi[sc->sc_mbox_count - 1])
134 return (mbi + 1);
1355 struct bha_mbx_in *mbi;
1363 mbi = &sc->sc_mbi[i];
1368 mbi->comp_stat = BHA_MBI_FREE;
1369 BHA_MBI_SYNC(sc, mbi, BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
1503 struct bha_mbx_in *mbi;
1507 mbi = sc->sc_tmbi;
1509 BHA_MBI_SYNC(sc, mbi, BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
1511 if (mbi->comp_stat == BHA_MBI_FREE) {
1513 if (mbi->comp_stat != BHA_MBI_FREE) {
1519 printf("%s: mbi not in round-robin order\n",
1524 mbi = bha_nextmbi(sc, mbi);
1525 BHA_MBI_SYNC(sc, mbi,
1529 printf("%s: mbi interrupt with no full mailboxes\n",
1537 ccb = bha_ccb_phys_kv(sc, phystol(mbi->ccb_addr));
1539 aprint_error_dev(sc->sc_dev, "bad mbi ccb pointer 0x%08x; skipping\n",
1540 phystol(mbi->ccb_addr));
1552 printf("comp_stat %x for mbi addr = %p, ",
1553 mbi->comp_stat, mbi);
1558 switch (mbi->comp_stat) {
1584 aprint_error_dev(sc->sc_dev, "bad mbi comp_stat %02x; skipping\n",
1585 mbi->comp_stat);
1593 mbi->comp_stat = BHA_MBI_FREE;
1597 mbi = bha_nextmbi(sc, mbi);
1598 BHA_MBI_SYNC(sc, mbi,
1600 } while (mbi->comp_stat != BHA_MBI_FREE);
1602 sc->sc_tmbi = mbi;