tag | line | file | source code |
current_SC | 205 | drivers/scsi/NCR53c406a.c | static Scsi_Cmnd *current_SC = NULL; |
current_SC | 651 | drivers/scsi/NCR53c406a.c | current_SC->result = DID_TIME_OUT << 16; |
current_SC | 652 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = idle; |
current_SC | 653 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done(current_SC); |
current_SC | 693 | drivers/scsi/NCR53c406a.c | current_SC = SCpnt; |
current_SC | 694 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done = done; |
current_SC | 695 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = command_ph; |
current_SC | 696 | drivers/scsi/NCR53c406a.c | current_SC->SCp.Status = 0; |
current_SC | 697 | drivers/scsi/NCR53c406a.c | current_SC->SCp.Message = 0; |
current_SC | 795 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = idle; |
current_SC | 796 | drivers/scsi/NCR53c406a.c | current_SC->result = DID_RESET << 16; |
current_SC | 797 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done(current_SC); |
current_SC | 804 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = idle; |
current_SC | 805 | drivers/scsi/NCR53c406a.c | current_SC->result = DID_ERROR << 16; |
current_SC | 806 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done(current_SC); |
current_SC | 813 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = idle; |
current_SC | 814 | drivers/scsi/NCR53c406a.c | current_SC->result = DID_PARITY << 16; |
current_SC | 815 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done(current_SC); |
current_SC | 821 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = idle; |
current_SC | 822 | drivers/scsi/NCR53c406a.c | current_SC->result = DID_ERROR << 16; |
current_SC | 823 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done(current_SC); |
current_SC | 829 | drivers/scsi/NCR53c406a.c | if(current_SC->SCp.phase != message_in){ /* Unexpected disconnect */ |
current_SC | 830 | drivers/scsi/NCR53c406a.c | current_SC->result = DID_NO_CONNECT << 16; |
current_SC | 833 | drivers/scsi/NCR53c406a.c | current_SC->result = (current_SC->SCp.Status & 0xff) |
current_SC | 834 | drivers/scsi/NCR53c406a.c | | ((current_SC->SCp.Message & 0xff) << 8) | (DID_OK << 16); |
current_SC | 838 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = idle; |
current_SC | 839 | drivers/scsi/NCR53c406a.c | current_SC->scsi_done( current_SC ); |
current_SC | 847 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = data_out; |
current_SC | 850 | drivers/scsi/NCR53c406a.c | LOAD_DMA_COUNT(current_SC->request_bufflen); /* Max transfer size */ |
current_SC | 852 | drivers/scsi/NCR53c406a.c | NCR53c406a_dma_write(current_SC->request_buffer, |
current_SC | 853 | drivers/scsi/NCR53c406a.c | current_SC->request_bufflen); |
current_SC | 857 | drivers/scsi/NCR53c406a.c | if (!current_SC->use_sg) /* Don't use scatter-gather */ |
current_SC | 858 | drivers/scsi/NCR53c406a.c | NCR53c406a_pio_write(current_SC->request_buffer, |
current_SC | 859 | drivers/scsi/NCR53c406a.c | current_SC->request_bufflen); |
current_SC | 861 | drivers/scsi/NCR53c406a.c | sgcount = current_SC->use_sg; |
current_SC | 862 | drivers/scsi/NCR53c406a.c | sglist = current_SC->request_buffer; |
current_SC | 876 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = data_in; |
current_SC | 879 | drivers/scsi/NCR53c406a.c | LOAD_DMA_COUNT(current_SC->request_bufflen); /* Max transfer size */ |
current_SC | 881 | drivers/scsi/NCR53c406a.c | NCR53c406a_dma_read(current_SC->request_buffer, |
current_SC | 882 | drivers/scsi/NCR53c406a.c | current_SC->request_bufflen); |
current_SC | 886 | drivers/scsi/NCR53c406a.c | if (!current_SC->use_sg) /* Don't use scatter-gather */ |
current_SC | 887 | drivers/scsi/NCR53c406a.c | NCR53c406a_pio_read(current_SC->request_buffer, |
current_SC | 888 | drivers/scsi/NCR53c406a.c | current_SC->request_bufflen); |
current_SC | 890 | drivers/scsi/NCR53c406a.c | sgcount = current_SC->use_sg; |
current_SC | 891 | drivers/scsi/NCR53c406a.c | sglist = current_SC->request_buffer; |
current_SC | 903 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = command_ph; |
current_SC | 909 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = status_ph; |
current_SC | 914 | drivers/scsi/NCR53c406a.c | for(i=0; i<current_SC->request_bufflen && i<256; i++) |
current_SC | 915 | drivers/scsi/NCR53c406a.c | printk("%02x ", *((unsigned char*)current_SC->request_buffer + i)); |
current_SC | 934 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = message_out; |
current_SC | 942 | drivers/scsi/NCR53c406a.c | current_SC->SCp.phase = message_in; |
current_SC | 944 | drivers/scsi/NCR53c406a.c | current_SC->SCp.Status = inb(SCSI_FIFO); |
current_SC | 945 | drivers/scsi/NCR53c406a.c | current_SC->SCp.Message = inb(SCSI_FIFO); |
current_SC | 949 | drivers/scsi/NCR53c406a.c | current_SC->SCp.Status, current_SC->SCp.Message)); |
current_SC | 951 | drivers/scsi/NCR53c406a.c | if(current_SC->SCp.Message == SAVE_POINTERS || |
current_SC | 952 | drivers/scsi/NCR53c406a.c | current_SC->SCp.Message == DISCONNECT) { |
current_SC | 351 | drivers/scsi/aha152x.c | #define CURRENT_SC (HOSTDATA(shpnt)->current_SC) |
current_SC | 362 | drivers/scsi/aha152x.c | Scsi_Cmnd *current_SC; |
current_SC | 315 | drivers/scsi/fdomain.c | static Scsi_Cmnd *current_SC = NULL; |
current_SC | 1202 | drivers/scsi/fdomain.c | current_SC->result = error; |
current_SC | 1203 | drivers/scsi/fdomain.c | if (current_SC->scsi_done) |
current_SC | 1204 | drivers/scsi/fdomain.c | current_SC->scsi_done( current_SC ); |
current_SC | 1231 | drivers/scsi/fdomain.c | if (!in_command || !current_SC) { /* Spurious interrupt */ |
current_SC | 1234 | drivers/scsi/fdomain.c | in_command, current_SC ); |
current_SC | 1240 | drivers/scsi/fdomain.c | if (current_SC->SCp.phase & aborted) { |
current_SC | 1252 | drivers/scsi/fdomain.c | if (current_SC->SCp.phase & in_arbitration) { |
current_SC | 1261 | drivers/scsi/fdomain.c | current_SC->SCp.phase = in_selection; |
current_SC | 1266 | drivers/scsi/fdomain.c | outb( adapter_mask | (1 << current_SC->target), SCSI_Data_NoACK_port ); |
current_SC | 1274 | drivers/scsi/fdomain.c | } else if (current_SC->SCp.phase & in_selection) { |
current_SC | 1278 | drivers/scsi/fdomain.c | if (fdomain_select( current_SC->target )) { |
current_SC | 1292 | drivers/scsi/fdomain.c | current_SC->SCp.phase = in_other; |
current_SC | 1310 | drivers/scsi/fdomain.c | outb( current_SC->cmnd[current_SC->SCp.sent_command++], |
current_SC | 1314 | drivers/scsi/fdomain.c | current_SC->cmnd[ current_SC->SCp.sent_command - 1] ); |
current_SC | 1318 | drivers/scsi/fdomain.c | if (chip != tmc1800 && !current_SC->SCp.have_data_in) { |
current_SC | 1319 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = -1; |
current_SC | 1324 | drivers/scsi/fdomain.c | if (chip != tmc1800 && !current_SC->SCp.have_data_in) { |
current_SC | 1325 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = 1; |
current_SC | 1330 | drivers/scsi/fdomain.c | current_SC->SCp.Status = inb( Read_SCSI_Data_port ); |
current_SC | 1332 | drivers/scsi/fdomain.c | printk( "Status = %x, ", current_SC->SCp.Status ); |
current_SC | 1335 | drivers/scsi/fdomain.c | if (current_SC->SCp.Status && current_SC->SCp.Status != 2) { |
current_SC | 1337 | drivers/scsi/fdomain.c | current_SC->target, |
current_SC | 1338 | drivers/scsi/fdomain.c | current_SC->cmnd[0], |
current_SC | 1339 | drivers/scsi/fdomain.c | current_SC->SCp.Status ); |
current_SC | 1347 | drivers/scsi/fdomain.c | current_SC->SCp.Message = inb( Read_SCSI_Data_port ); |
current_SC | 1349 | drivers/scsi/fdomain.c | printk( "Message = %x, ", current_SC->SCp.Message ); |
current_SC | 1351 | drivers/scsi/fdomain.c | if (!current_SC->SCp.Message) ++done; |
current_SC | 1353 | drivers/scsi/fdomain.c | if (current_SC->SCp.Message) { |
current_SC | 1354 | drivers/scsi/fdomain.c | printk( "fdomain: message = %x\n", current_SC->SCp.Message ); |
current_SC | 1362 | drivers/scsi/fdomain.c | && !current_SC->SCp.have_data_in |
current_SC | 1363 | drivers/scsi/fdomain.c | && (current_SC->SCp.sent_command |
current_SC | 1364 | drivers/scsi/fdomain.c | >= current_SC->cmd_len)) { |
current_SC | 1491 | drivers/scsi/fdomain.c | switch (current_SC->cmnd[0]) { |
current_SC | 1512 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = -1; |
current_SC | 1519 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = 1; |
current_SC | 1525 | drivers/scsi/fdomain.c | if (current_SC->SCp.have_data_in == -1) { /* DATA OUT */ |
current_SC | 1530 | drivers/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 1531 | drivers/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 1537 | drivers/scsi/fdomain.c | outb( *current_SC->SCp.ptr++, Write_FIFO_port ); |
current_SC | 1538 | drivers/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 1541 | drivers/scsi/fdomain.c | outsw( Write_FIFO_port, current_SC->SCp.ptr, data_count ); |
current_SC | 1542 | drivers/scsi/fdomain.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 1543 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 1546 | drivers/scsi/fdomain.c | if (!current_SC->SCp.this_residual) { |
current_SC | 1547 | drivers/scsi/fdomain.c | if (current_SC->SCp.buffers_residual) { |
current_SC | 1548 | drivers/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 1549 | drivers/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 1550 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1551 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1558 | drivers/scsi/fdomain.c | if (current_SC->SCp.have_data_in == 1) { /* DATA IN */ |
current_SC | 1563 | drivers/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 1564 | drivers/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 1570 | drivers/scsi/fdomain.c | *current_SC->SCp.ptr++ = inb( Read_FIFO_port ); |
current_SC | 1571 | drivers/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 1574 | drivers/scsi/fdomain.c | insw( Read_FIFO_port, current_SC->SCp.ptr, data_count ); |
current_SC | 1575 | drivers/scsi/fdomain.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 1576 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 1579 | drivers/scsi/fdomain.c | if (!current_SC->SCp.this_residual |
current_SC | 1580 | drivers/scsi/fdomain.c | && current_SC->SCp.buffers_residual) { |
current_SC | 1581 | drivers/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 1582 | drivers/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 1583 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1584 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1591 | drivers/scsi/fdomain.c | printk( " ** IN DONE %d ** ", current_SC->SCp.have_data_in ); |
current_SC | 1595 | drivers/scsi/fdomain.c | if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) { |
current_SC | 1596 | drivers/scsi/fdomain.c | if ((unsigned char)(*((char *)current_SC->request_buffer+2)) & 0x0f) { |
current_SC | 1601 | drivers/scsi/fdomain.c | key = (unsigned char)(*((char *)current_SC->request_buffer + 2)) |
current_SC | 1603 | drivers/scsi/fdomain.c | code = (unsigned char)(*((char *)current_SC->request_buffer + 12)); |
current_SC | 1604 | drivers/scsi/fdomain.c | qualifier = (unsigned char)(*((char *)current_SC->request_buffer |
current_SC | 1624 | drivers/scsi/fdomain.c | my_done( (current_SC->SCp.Status & 0xff) |
current_SC | 1625 | drivers/scsi/fdomain.c | | ((current_SC->SCp.Message & 0xff) << 8) | (DID_OK << 16) ); |
current_SC | 1631 | drivers/scsi/fdomain.c | if (current_SC->SCp.phase & disconnect) { |
current_SC | 1659 | drivers/scsi/fdomain.c | current_SC = SCpnt; /* Save this for the done function */ |
current_SC | 1660 | drivers/scsi/fdomain.c | current_SC->scsi_done = done; |
current_SC | 1664 | drivers/scsi/fdomain.c | if (current_SC->use_sg) { |
current_SC | 1665 | drivers/scsi/fdomain.c | current_SC->SCp.buffer = |
current_SC | 1666 | drivers/scsi/fdomain.c | (struct scatterlist *)current_SC->request_buffer; |
current_SC | 1667 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1668 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1669 | drivers/scsi/fdomain.c | current_SC->SCp.buffers_residual = current_SC->use_sg - 1; |
current_SC | 1671 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = (char *)current_SC->request_buffer; |
current_SC | 1672 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->request_bufflen; |
current_SC | 1673 | drivers/scsi/fdomain.c | current_SC->SCp.buffer = NULL; |
current_SC | 1674 | drivers/scsi/fdomain.c | current_SC->SCp.buffers_residual = 0; |
current_SC | 1678 | drivers/scsi/fdomain.c | current_SC->SCp.Status = 0; |
current_SC | 1679 | drivers/scsi/fdomain.c | current_SC->SCp.Message = 0; |
current_SC | 1680 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = 0; |
current_SC | 1681 | drivers/scsi/fdomain.c | current_SC->SCp.sent_command = 0; |
current_SC | 1682 | drivers/scsi/fdomain.c | current_SC->SCp.phase = in_arbitration; |
current_SC | 1812 | drivers/scsi/fdomain.c | current_SC->SCp.phase |= aborted; |
current_SC | 1814 | drivers/scsi/fdomain.c | current_SC->result = DID_ABORT << 16; |
current_SC | 1835 | drivers/scsi/fdomain.c | if (called_once) print_info( current_SC ); |