mscp 223 dev/eisa/uha_eisa.c u24_start_mbox(sc, mscp) mscp 225 dev/eisa/uha_eisa.c struct uha_mscp *mscp; mscp 242 dev/eisa/uha_eisa.c bus_space_write_4(iot, ioh, U24_OGMPTR, KVTOPHYS(mscp)); mscp 243 dev/eisa/uha_eisa.c if (mscp->flags & MSCP_ABORT) mscp 249 dev/eisa/uha_eisa.c if ((mscp->xs->flags & SCSI_POLL) == 0) mscp 250 dev/eisa/uha_eisa.c timeout_add(&mscp->xs->stimeout, (mscp->timeout * hz) / 1000); mscp 284 dev/eisa/uha_eisa.c struct uha_mscp *mscp; mscp 312 dev/eisa/uha_eisa.c mscp = uha_mscp_phys_kv(sc, mboxval); mscp 313 dev/eisa/uha_eisa.c if (!mscp) { mscp 318 dev/eisa/uha_eisa.c timeout_del(&mscp->xs->stimeout); mscp 319 dev/eisa/uha_eisa.c uha_done(sc, mscp); mscp 163 dev/ic/uha.c uha_reset_mscp(sc, mscp) mscp 165 dev/ic/uha.c struct uha_mscp *mscp; mscp 168 dev/ic/uha.c mscp->flags = 0; mscp 175 dev/ic/uha.c uha_free_mscp(sc, mscp) mscp 177 dev/ic/uha.c struct uha_mscp *mscp; mscp 183 dev/ic/uha.c uha_reset_mscp(sc, mscp); mscp 184 dev/ic/uha.c TAILQ_INSERT_HEAD(&sc->sc_free_mscp, mscp, chain); mscp 190 dev/ic/uha.c if (TAILQ_NEXT(mscp, chain) == NULL) mscp 197 dev/ic/uha.c uha_init_mscp(sc, mscp) mscp 199 dev/ic/uha.c struct uha_mscp *mscp; mscp 203 dev/ic/uha.c bzero(mscp, sizeof(struct uha_mscp)); mscp 208 dev/ic/uha.c mscp->hashkey = KVTOPHYS(mscp); mscp 209 dev/ic/uha.c hashnum = MSCP_HASH(mscp->hashkey); mscp 210 dev/ic/uha.c mscp->nexthash = sc->sc_mscphash[hashnum]; mscp 211 dev/ic/uha.c sc->sc_mscphash[hashnum] = mscp; mscp 212 dev/ic/uha.c uha_reset_mscp(sc, mscp); mscp 226 dev/ic/uha.c struct uha_mscp *mscp; mscp 236 dev/ic/uha.c mscp = TAILQ_FIRST(&sc->sc_free_mscp); mscp 237 dev/ic/uha.c if (mscp) { mscp 238 dev/ic/uha.c TAILQ_REMOVE(&sc->sc_free_mscp, mscp, chain); mscp 242 dev/ic/uha.c mscp = (struct uha_mscp *) malloc(sizeof(struct uha_mscp), mscp 244 dev/ic/uha.c if (!mscp) { mscp 249 dev/ic/uha.c uha_init_mscp(sc, mscp); mscp 258 dev/ic/uha.c mscp->flags |= MSCP_ALLOC; mscp 262 dev/ic/uha.c return (mscp); mscp 274 dev/ic/uha.c struct uha_mscp *mscp = sc->sc_mscphash[hashnum]; mscp 276 dev/ic/uha.c while (mscp) { mscp 277 dev/ic/uha.c if (mscp->hashkey == mscp_phys) mscp 279 dev/ic/uha.c mscp = mscp->nexthash; mscp 281 dev/ic/uha.c return (mscp); mscp 289 dev/ic/uha.c uha_done(sc, mscp) mscp 291 dev/ic/uha.c struct uha_mscp *mscp; mscp 294 dev/ic/uha.c struct scsi_xfer *xs = mscp->xs; mscp 301 dev/ic/uha.c if ((mscp->flags & MSCP_ALLOC) == 0) { mscp 307 dev/ic/uha.c if (mscp->host_stat != UHA_NO_ERR) { mscp 308 dev/ic/uha.c switch (mscp->host_stat) { mscp 314 dev/ic/uha.c sc->sc_dev.dv_xname, mscp->host_stat); mscp 317 dev/ic/uha.c } else if (mscp->target_stat != SCSI_OK) { mscp 318 dev/ic/uha.c switch (mscp->target_stat) { mscp 320 dev/ic/uha.c s1 = &mscp->mscp_sense; mscp 330 dev/ic/uha.c sc->sc_dev.dv_xname, mscp->target_stat); mscp 336 dev/ic/uha.c uha_free_mscp(sc, mscp); mscp 361 dev/ic/uha.c struct uha_mscp *mscp; mscp 375 dev/ic/uha.c if ((mscp = uha_get_mscp(sc, flags)) == NULL) { mscp 378 dev/ic/uha.c mscp->xs = xs; mscp 379 dev/ic/uha.c mscp->timeout = xs->timeout; mscp 386 dev/ic/uha.c mscp->opcode = UHA_SDR; mscp 387 dev/ic/uha.c mscp->ca = 0x01; mscp 389 dev/ic/uha.c mscp->opcode = UHA_TSP; mscp 391 dev/ic/uha.c mscp->ca = 0x01; mscp 392 dev/ic/uha.c bcopy(xs->cmd, &mscp->scsi_cmd, mscp->scsi_cmd_length); mscp 394 dev/ic/uha.c mscp->xdir = UHA_SDET; mscp 395 dev/ic/uha.c mscp->dcn = 0x00; mscp 396 dev/ic/uha.c mscp->chan = 0x00; mscp 397 dev/ic/uha.c mscp->target = sc_link->target; mscp 398 dev/ic/uha.c mscp->lun = sc_link->lun; mscp 399 dev/ic/uha.c mscp->scsi_cmd_length = xs->cmdlen; mscp 400 dev/ic/uha.c mscp->sense_ptr = KVTOPHYS(&mscp->mscp_sense); mscp 401 dev/ic/uha.c mscp->req_sense_length = sizeof(mscp->mscp_sense); mscp 402 dev/ic/uha.c mscp->host_stat = 0x00; mscp 403 dev/ic/uha.c mscp->target_stat = 0x00; mscp 406 dev/ic/uha.c sg = mscp->uha_dma; mscp 487 dev/ic/uha.c mscp->data_addr = KVTOPHYS(mscp->uha_dma); mscp 488 dev/ic/uha.c mscp->data_length = xs->datalen; mscp 489 dev/ic/uha.c mscp->sgth = 0x01; mscp 490 dev/ic/uha.c mscp->sg_num = seg; mscp 492 dev/ic/uha.c mscp->data_addr = (physaddr)0; mscp 493 dev/ic/uha.c mscp->data_length = 0; mscp 494 dev/ic/uha.c mscp->sgth = 0x00; mscp 495 dev/ic/uha.c mscp->sg_num = 0; mscp 497 dev/ic/uha.c mscp->link_id = 0; mscp 498 dev/ic/uha.c mscp->link_addr = (physaddr)0; mscp 501 dev/ic/uha.c (sc->start_mbox)(sc, mscp); mscp 513 dev/ic/uha.c if ((sc->poll)(sc, xs, mscp->timeout)) { mscp 514 dev/ic/uha.c uha_timeout(mscp); mscp 515 dev/ic/uha.c if ((sc->poll)(sc, xs, mscp->timeout)) mscp 516 dev/ic/uha.c uha_timeout(mscp); mscp 522 dev/ic/uha.c uha_free_mscp(sc, mscp); mscp 530 dev/ic/uha.c struct uha_mscp *mscp = arg; mscp 531 dev/ic/uha.c struct scsi_xfer *xs = mscp->xs; mscp 541 dev/ic/uha.c if (mscp->flags & MSCP_ABORT) { mscp 548 dev/ic/uha.c mscp->xs->error = XS_TIMEOUT; mscp 549 dev/ic/uha.c mscp->timeout = UHA_ABORT_TIMEOUT; mscp 550 dev/ic/uha.c mscp->flags |= MSCP_ABORT; mscp 551 dev/ic/uha.c (sc->start_mbox)(sc, mscp); mscp 246 dev/isa/uha_isa.c u14_start_mbox(sc, mscp) mscp 248 dev/isa/uha_isa.c struct uha_mscp *mscp; mscp 265 dev/isa/uha_isa.c bus_space_write_4(iot, ioh, U14_OGMPTR, KVTOPHYS(mscp)); mscp 266 dev/isa/uha_isa.c if (mscp->flags & MSCP_ABORT) mscp 271 dev/isa/uha_isa.c if ((mscp->xs->flags & SCSI_POLL) == 0) mscp 272 dev/isa/uha_isa.c timeout_add(&mscp->xs->stimeout, (mscp->timeout * hz) / 1000); mscp 314 dev/isa/uha_isa.c struct uha_mscp *mscp; mscp 342 dev/isa/uha_isa.c mscp = uha_mscp_phys_kv(sc, mboxval); mscp 343 dev/isa/uha_isa.c if (!mscp) { mscp 349 dev/isa/uha_isa.c timeout_del(&mscp->xs->stimeout); mscp 350 dev/isa/uha_isa.c uha_done(sc, mscp);