tag | line | file | source code |
mbo | 240 | kernel/blk_drv/scsi/aha1542.c | int errstatus, mbi, mbo, mbistatus; |
mbo | 279 | kernel/blk_drv/scsi/aha1542.c | mbo = (scsi2int(mb[mbi].ccbptr) - ((unsigned int) &ccb[0])) / sizeof(struct ccb); |
mbo | 287 | kernel/blk_drv/scsi/aha1542.c | if (ccb[mbo].tarstat|ccb[mbo].hastat) |
mbo | 289 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].tarstat + ((int) ccb[mbo].hastat << 16), mb[mbi].status); |
mbo | 296 | kernel/blk_drv/scsi/aha1542.c | printk("...done %d %d\n",mbo, mbi); |
mbo | 299 | kernel/blk_drv/scsi/aha1542.c | SCtmp = SCint[mbo]; |
mbo | 311 | kernel/blk_drv/scsi/aha1542.c | if (ccb[mbo].tarstat == 2) |
mbo | 312 | kernel/blk_drv/scsi/aha1542.c | memcpy(SCtmp->sense_buffer, &ccb[mbo].cdb[ccb[mbo].cdblen], |
mbo | 321 | kernel/blk_drv/scsi/aha1542.c | errstatus = makecode(ccb[mbo].hastat, ccb[mbo].tarstat); |
mbo | 327 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].hastat, ccb[mbo].tarstat); |
mbo | 330 | kernel/blk_drv/scsi/aha1542.c | if (ccb[mbo].tarstat == 2) { |
mbo | 337 | kernel/blk_drv/scsi/aha1542.c | printk("%02x ", ccb[mbo].cdb[ccb[mbo].cdblen+i]); |
mbo | 349 | kernel/blk_drv/scsi/aha1542.c | SCint[mbo] = NULL; /* This effectively frees up the mailbox slot, as |
mbo | 365 | kernel/blk_drv/scsi/aha1542.c | int mbo; |
mbo | 407 | kernel/blk_drv/scsi/aha1542.c | mbo = aha1542_last_mbo_used + 1; |
mbo | 408 | kernel/blk_drv/scsi/aha1542.c | if (mbo >= AHA1542_MAILBOXES) mbo = 0; |
mbo | 411 | kernel/blk_drv/scsi/aha1542.c | if(mb[mbo].status == 0 && SCint[mbo] == NULL) |
mbo | 413 | kernel/blk_drv/scsi/aha1542.c | mbo++; |
mbo | 414 | kernel/blk_drv/scsi/aha1542.c | if (mbo >= AHA1542_MAILBOXES) mbo = 0; |
mbo | 415 | kernel/blk_drv/scsi/aha1542.c | } while (mbo != aha1542_last_mbo_used); |
mbo | 417 | kernel/blk_drv/scsi/aha1542.c | if(mb[mbo].status || SCint[mbo]) |
mbo | 420 | kernel/blk_drv/scsi/aha1542.c | SCint[mbo] = SCpnt; /* This will effectively prevent someone else from |
mbo | 423 | kernel/blk_drv/scsi/aha1542.c | aha1542_last_mbo_used = mbo; |
mbo | 427 | kernel/blk_drv/scsi/aha1542.c | printk("Sending command (%d %x)...",mbo, done); |
mbo | 430 | kernel/blk_drv/scsi/aha1542.c | memset(&ccb[mbo], 0, sizeof(struct ccb)); |
mbo | 432 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].cdblen = (*cmd<=0x1f)?6:10; /* SCSI Command Descriptor Block Length */ |
mbo | 440 | kernel/blk_drv/scsi/aha1542.c | memcpy(ccb[mbo].cdb, cmd, ccb[mbo].cdblen); |
mbo | 449 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].op = 2; /* SCSI Initiator Command w/scatter-gather*/ |
mbo | 471 | kernel/blk_drv/scsi/aha1542.c | any2scsi(ccb[mbo].datalen, SCpnt->use_sg * sizeof(struct chain)); |
mbo | 472 | kernel/blk_drv/scsi/aha1542.c | any2scsi(ccb[mbo].dataptr, cptr); |
mbo | 479 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].op = 0; /* SCSI Initiator Command */ |
mbo | 481 | kernel/blk_drv/scsi/aha1542.c | any2scsi(ccb[mbo].datalen, bufflen); |
mbo | 482 | kernel/blk_drv/scsi/aha1542.c | any2scsi(ccb[mbo].dataptr, buff); |
mbo | 484 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].idlun = (target&7)<<5 | direction | (lun & 7); /*SCSI Target Id*/ |
mbo | 485 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].rsalen = 12; |
mbo | 486 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].linkptr[0] = ccb[mbo].linkptr[1] = ccb[mbo].linkptr[2] = 0; |
mbo | 487 | kernel/blk_drv/scsi/aha1542.c | ccb[mbo].commlinkid = 0; |
mbo | 492 | kernel/blk_drv/scsi/aha1542.c | for (i = 0; i < sizeof(ccb[mbo])-10; i++) |
mbo | 493 | kernel/blk_drv/scsi/aha1542.c | printk("%02x ", ((unchar *)&ccb[mbo])[i]); |
mbo | 500 | kernel/blk_drv/scsi/aha1542.c | mb[mbo].status = 1; |
mbo | 752 | kernel/blk_drv/scsi/aha1542.c | int mbo; |
mbo | 757 | kernel/blk_drv/scsi/aha1542.c | for(mbo = 0; mbo < AHA1542_MAILBOXES; mbo++) |
mbo | 758 | kernel/blk_drv/scsi/aha1542.c | if (SCpnt == SCint[mbo]){ |
mbo | 759 | kernel/blk_drv/scsi/aha1542.c | mb[mbo].status = 2; /* Abort command */ |