tag | line | file | source code |
scpnt | 596 | drivers/scsi/buslogic.c | int buslogic_queuecommand(Scsi_Cmnd *scpnt, void (*done)(Scsi_Cmnd *)) |
scpnt | 600 | drivers/scsi/buslogic.c | unsigned char *cmd = (unsigned char *)scpnt->cmnd; |
scpnt | 601 | drivers/scsi/buslogic.c | unsigned char target = scpnt->target; |
scpnt | 602 | drivers/scsi/buslogic.c | unsigned char lun = scpnt->lun; |
scpnt | 603 | drivers/scsi/buslogic.c | void *buff = scpnt->request_buffer; |
scpnt | 604 | drivers/scsi/buslogic.c | int bufflen = scpnt->request_bufflen; |
scpnt | 609 | drivers/scsi/buslogic.c | struct Scsi_Host *shpnt = scpnt->host; |
scpnt | 613 | drivers/scsi/buslogic.c | scpnt->result = DID_TIME_OUT << 16; |
scpnt | 614 | drivers/scsi/buslogic.c | done(scpnt); |
scpnt | 621 | drivers/scsi/buslogic.c | if (bufflen != sizeof scpnt->sense_buffer) { |
scpnt | 627 | drivers/scsi/buslogic.c | scpnt->result = 0; |
scpnt | 628 | drivers/scsi/buslogic.c | done(scpnt); |
scpnt | 645 | drivers/scsi/buslogic.c | for (i = 0; i < scpnt->cmd_len; i++) |
scpnt | 683 | drivers/scsi/buslogic.c | HOSTDATA(shpnt)->sc[mbo] = scpnt; /* This will effectively |
scpnt | 700 | drivers/scsi/buslogic.c | ccb[mbo].cdblen = scpnt->cmd_len; /* SCSI Command Descriptor |
scpnt | 711 | drivers/scsi/buslogic.c | if (scpnt->use_sg) { |
scpnt | 718 | drivers/scsi/buslogic.c | scpnt->host_scribble |
scpnt | 720 | drivers/scsi/buslogic.c | if (scpnt->host_scribble == NULL) { |
scpnt | 724 | drivers/scsi/buslogic.c | sgpnt = (struct scatterlist *)scpnt->request_buffer; |
scpnt | 725 | drivers/scsi/buslogic.c | cptr = (struct chain *)scpnt->host_scribble; |
scpnt | 726 | drivers/scsi/buslogic.c | if (scpnt->use_sg > shpnt->sg_tablesize) { |
scpnt | 728 | drivers/scsi/buslogic.c | scpnt->use_sg, shpnt->sg_tablesize); |
scpnt | 731 | drivers/scsi/buslogic.c | for (i = 0; i < scpnt->use_sg; i++) { |
scpnt | 737 | drivers/scsi/buslogic.c | ccb[mbo].datalen = scpnt->use_sg * sizeof (struct chain); |
scpnt | 752 | drivers/scsi/buslogic.c | scpnt->host_scribble = NULL; |
scpnt | 760 | drivers/scsi/buslogic.c | ccb[mbo].rsalen = sizeof scpnt->sense_buffer; |
scpnt | 761 | drivers/scsi/buslogic.c | ccb[mbo].senseptr = scpnt->sense_buffer; |
scpnt | 781 | drivers/scsi/buslogic.c | scpnt->scsi_done = done; |
scpnt | 797 | drivers/scsi/buslogic.c | scpnt->result = DID_ERROR << 16; |
scpnt | 798 | drivers/scsi/buslogic.c | done(scpnt); |
scpnt | 805 | drivers/scsi/buslogic.c | static void internal_done(Scsi_Cmnd *scpnt) |
scpnt | 807 | drivers/scsi/buslogic.c | scpnt->SCp.Status++; |
scpnt | 810 | drivers/scsi/buslogic.c | int buslogic_command(Scsi_Cmnd *scpnt) |
scpnt | 816 | drivers/scsi/buslogic.c | buslogic_queuecommand(scpnt, internal_done); |
scpnt | 818 | drivers/scsi/buslogic.c | scpnt->SCp.Status = 0; |
scpnt | 819 | drivers/scsi/buslogic.c | while (!scpnt->SCp.Status) |
scpnt | 821 | drivers/scsi/buslogic.c | return scpnt->result; |
scpnt | 1380 | drivers/scsi/buslogic.c | int buslogic_abort(Scsi_Cmnd *scpnt) |
scpnt | 1390 | drivers/scsi/buslogic.c | inb(STATUS(scpnt->host->io_port)), |
scpnt | 1391 | drivers/scsi/buslogic.c | inb(INTERRUPT(scpnt->host->io_port))); |
scpnt | 1395 | drivers/scsi/buslogic.c | mb = HOSTDATA(scpnt->host)->mb; |
scpnt | 1396 | drivers/scsi/buslogic.c | mbi = HOSTDATA(scpnt->host)->last_mbi_used + 1; |
scpnt | 1406 | drivers/scsi/buslogic.c | } while (mbi != HOSTDATA(scpnt->host)->last_mbi_used); |
scpnt | 1412 | drivers/scsi/buslogic.c | scpnt->host->irq); |
scpnt | 1416 | drivers/scsi/buslogic.c | intval[0] = scpnt->host->irq; |
scpnt | 1425 | drivers/scsi/buslogic.c | if (HOSTDATA(scpnt->host)->sc[i]) { |
scpnt | 1426 | drivers/scsi/buslogic.c | if (HOSTDATA(scpnt->host)->sc[i] == scpnt) { |
scpnt | 1428 | drivers/scsi/buslogic.c | scpnt->request.dev); |
scpnt | 1429 | drivers/scsi/buslogic.c | if (HOSTDATA(scpnt->host)->mb[i].status != MBX_NOT_IN_USE) { |
scpnt | 1431 | drivers/scsi/buslogic.c | buslogic_out(scpnt->host->io_port, buscmd, sizeof buscmd); |
scpnt | 1435 | drivers/scsi/buslogic.c | scpnt->request.dev); |
scpnt | 1449 | drivers/scsi/buslogic.c | if (scpnt == HOSTDATA(scpnt->host)->sc[mbo]) { |
scpnt | 1451 | drivers/scsi/buslogic.c | buslogic_out(scpnt->host->io_port, buscmd, sizeof buscmd); |
scpnt | 1465 | drivers/scsi/buslogic.c | int buslogic_reset(Scsi_Cmnd *scpnt) |
scpnt | 1475 | drivers/scsi/buslogic.c | outb(RSBUS, CONTROL(scpnt->host->io_port)); |
scpnt | 1480 | drivers/scsi/buslogic.c | if (HOSTDATA(scpnt->host)->sc[i] == scpnt) { |
scpnt | 1481 | drivers/scsi/buslogic.c | HOSTDATA(scpnt->host)->ccbs[i].op = CCB_OP_BUS_RESET; |
scpnt | 1485 | drivers/scsi/buslogic.c | buslogic_out(scpnt->host->io_port, buscmd, sizeof buscmd); |
scpnt | 1492 | drivers/scsi/buslogic.c | scpnt->target); |
scpnt | 1499 | drivers/scsi/buslogic.c | if (HOSTDATA(scpnt->host)->sc[i] |
scpnt | 1500 | drivers/scsi/buslogic.c | && HOSTDATA(scpnt->host)->sc[i]->target == scpnt->target) { |
scpnt | 1501 | drivers/scsi/buslogic.c | Scsi_Cmnd *sctmp = HOSTDATA(scpnt->host)->sc[i]; |
scpnt | 1507 | drivers/scsi/buslogic.c | scpnt->target); |
scpnt | 1508 | drivers/scsi/buslogic.c | sctmp->scsi_done(scpnt); |
scpnt | 1510 | drivers/scsi/buslogic.c | HOSTDATA(scpnt->host)->sc[i] = NULL; |
scpnt | 1511 | drivers/scsi/buslogic.c | HOSTDATA(scpnt->host)->mb[i].status = MBX_NOT_IN_USE; |