tag | line | file | source code |
current_SC | 173 | kernel/blk_drv/scsi/fdomain.c | static Scsi_Cmnd *current_SC = NULL; |
current_SC | 652 | kernel/blk_drv/scsi/fdomain.c | current_SC->result = error; |
current_SC | 653 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->scsi_done) current_SC->scsi_done( current_SC ); |
current_SC | 675 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & aborted) { |
current_SC | 677 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & (in_other || disconnect)) |
current_SC | 679 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase & in_other |
current_SC | 681 | kernel/blk_drv/scsi/fdomain.c | current_SC->result ); |
current_SC | 684 | kernel/blk_drv/scsi/fdomain.c | current_SC->result ); |
current_SC | 687 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & (in_other || disconnect)) { |
current_SC | 691 | kernel/blk_drv/scsi/fdomain.c | my_done( current_SC->result << 16 ); |
current_SC | 703 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & disconnect) { |
current_SC | 705 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase = in_other; |
current_SC | 714 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & in_arbitration) { |
current_SC | 723 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase = in_selection; |
current_SC | 727 | kernel/blk_drv/scsi/fdomain.c | outb( 0x40 | (1 << current_SC->target), SCSI_Data_NoACK_port ); |
current_SC | 740 | kernel/blk_drv/scsi/fdomain.c | } else if (current_SC->SCp.phase & in_selection) { |
current_SC | 744 | kernel/blk_drv/scsi/fdomain.c | if (fdomain_select( current_SC->target )) { |
current_SC | 758 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase = in_other; |
current_SC | 771 | kernel/blk_drv/scsi/fdomain.c | switch (current_SC->cmnd[0]) { |
current_SC | 778 | kernel/blk_drv/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 779 | kernel/blk_drv/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 785 | kernel/blk_drv/scsi/fdomain.c | outb( *current_SC->SCp.ptr++, Write_FIFO_port ); |
current_SC | 786 | kernel/blk_drv/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 789 | kernel/blk_drv/scsi/fdomain.c | outsw( current_SC->SCp.ptr, data_count, Write_FIFO_port ); |
current_SC | 790 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 791 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 794 | kernel/blk_drv/scsi/fdomain.c | if (!current_SC->SCp.this_residual) { |
current_SC | 795 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.buffers_residual) { |
current_SC | 796 | kernel/blk_drv/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 797 | kernel/blk_drv/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 798 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 799 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 806 | kernel/blk_drv/scsi/fdomain.c | if (!current_SC->SCp.have_data_in) { |
current_SC | 808 | kernel/blk_drv/scsi/fdomain.c | ++current_SC->SCp.have_data_in; |
current_SC | 814 | kernel/blk_drv/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 815 | kernel/blk_drv/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 821 | kernel/blk_drv/scsi/fdomain.c | *current_SC->SCp.ptr++ = inb( Read_FIFO_port ); |
current_SC | 822 | kernel/blk_drv/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 825 | kernel/blk_drv/scsi/fdomain.c | insw( current_SC->SCp.ptr, data_count, Read_FIFO_port ); |
current_SC | 826 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 827 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 830 | kernel/blk_drv/scsi/fdomain.c | if (!current_SC->SCp.this_residual && current_SC->SCp.buffers_residual) { |
current_SC | 831 | kernel/blk_drv/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 832 | kernel/blk_drv/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 833 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 834 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 848 | kernel/blk_drv/scsi/fdomain.c | if (!current_SC->SCp.sent_command) { |
current_SC | 851 | kernel/blk_drv/scsi/fdomain.c | ++current_SC->SCp.sent_command; |
current_SC | 853 | kernel/blk_drv/scsi/fdomain.c | for (i = 0; i < COMMAND_SIZE( current_SC->cmnd[0] ); i++) { |
current_SC | 854 | kernel/blk_drv/scsi/fdomain.c | outb( current_SC->cmnd[i], Write_SCSI_Data_port ); |
current_SC | 856 | kernel/blk_drv/scsi/fdomain.c | printk( "CMD = %x,", current_SC->cmnd[i] ); |
current_SC | 861 | kernel/blk_drv/scsi/fdomain.c | outb( current_SC->cmnd[current_SC->SCp.sent_command++], |
current_SC | 865 | kernel/blk_drv/scsi/fdomain.c | current_SC->cmnd[ current_SC->SCp.sent_command - 1] ); |
current_SC | 871 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.Status = inb( Read_SCSI_Data_port ); |
current_SC | 873 | kernel/blk_drv/scsi/fdomain.c | printk( "Status = %x, ", current_SC->SCp.Status ); |
current_SC | 876 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.Status && current_SC->SCp.Status != 2) { |
current_SC | 878 | kernel/blk_drv/scsi/fdomain.c | current_SC->target, current_SC->cmnd[0], current_SC->SCp.Status ); |
current_SC | 884 | kernel/blk_drv/scsi/fdomain.c | if (!(current_SC->SCp.phase & sent_ident)) { |
current_SC | 890 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase |= sent_ident; |
current_SC | 897 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.Message = inb( Read_SCSI_Data_port ); |
current_SC | 899 | kernel/blk_drv/scsi/fdomain.c | printk( "Message = %x, ", current_SC->SCp.Message ); |
current_SC | 901 | kernel/blk_drv/scsi/fdomain.c | if (!current_SC->SCp.Message) ++done; |
current_SC | 903 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.Message == DISCONNECT) { |
current_SC | 905 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase = disconnect; |
current_SC | 909 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.Message) { |
current_SC | 911 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.Message ); |
current_SC | 923 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.have_data_in) { |
current_SC | 925 | kernel/blk_drv/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 926 | kernel/blk_drv/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 933 | kernel/blk_drv/scsi/fdomain.c | *current_SC->SCp.ptr++ = inb( Read_FIFO_port ); |
current_SC | 934 | kernel/blk_drv/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 937 | kernel/blk_drv/scsi/fdomain.c | insw( current_SC->SCp.ptr, data_count, Read_FIFO_port ); |
current_SC | 938 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 942 | kernel/blk_drv/scsi/fdomain.c | if (!current_SC->SCp.this_residual |
current_SC | 943 | kernel/blk_drv/scsi/fdomain.c | && current_SC->SCp.buffers_residual) { |
current_SC | 945 | kernel/blk_drv/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 946 | kernel/blk_drv/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 947 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 948 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 957 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) { |
current_SC | 958 | kernel/blk_drv/scsi/fdomain.c | if ((unsigned char)(*((char *)current_SC->request_buffer + 2)) & 0x0f) { |
current_SC | 962 | kernel/blk_drv/scsi/fdomain.c | key = (unsigned char)(*((char *)current_SC->request_buffer + 2)) & 0x0f; |
current_SC | 963 | kernel/blk_drv/scsi/fdomain.c | code = (unsigned char)(*((char *)current_SC->request_buffer + 12)); |
current_SC | 976 | kernel/blk_drv/scsi/fdomain.c | my_done( (current_SC->SCp.Status & 0xff) | ((current_SC->SCp.Message & 0xff) << 8) | (DID_OK << 16) ); |
current_SC | 983 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & disconnect) { |
current_SC | 1009 | kernel/blk_drv/scsi/fdomain.c | current_SC = SCpnt; /* Save this for the done function */ |
current_SC | 1010 | kernel/blk_drv/scsi/fdomain.c | current_SC->scsi_done = done; |
current_SC | 1014 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->use_sg) { |
current_SC | 1015 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.buffer = |
current_SC | 1016 | kernel/blk_drv/scsi/fdomain.c | (struct scatterlist *)current_SC->request_buffer; |
current_SC | 1017 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1018 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1019 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.buffers_residual = current_SC->use_sg - 1; |
current_SC | 1021 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->request_buffer; |
current_SC | 1022 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->request_bufflen; |
current_SC | 1023 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.buffer = NULL; |
current_SC | 1024 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.buffers_residual = 0; |
current_SC | 1028 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.Status = 0; |
current_SC | 1029 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.Message = 0; |
current_SC | 1030 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.have_data_in = 0; |
current_SC | 1031 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.sent_command = 0; |
current_SC | 1032 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase = in_arbitration; |
current_SC | 1063 | kernel/blk_drv/scsi/fdomain.c | current_SC = SCpnt; |
current_SC | 1086 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase = non_queueing; |
current_SC | 1111 | kernel/blk_drv/scsi/fdomain.c | && !done && !(current_SC->SCp.phase & aborted) |
current_SC | 1191 | kernel/blk_drv/scsi/fdomain.c | if (current_SC->SCp.phase & aborted) { |
current_SC | 1243 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase, |
current_SC | 1245 | kernel/blk_drv/scsi/fdomain.c | current_SC->target, |
current_SC | 1246 | kernel/blk_drv/scsi/fdomain.c | *(unsigned char *)current_SC->cmnd, |
current_SC | 1247 | kernel/blk_drv/scsi/fdomain.c | current_SC->use_sg, |
current_SC | 1248 | kernel/blk_drv/scsi/fdomain.c | current_SC->request_bufflen ); |
current_SC | 1275 | kernel/blk_drv/scsi/fdomain.c | current_SC->SCp.phase |= aborted; |
current_SC | 1277 | kernel/blk_drv/scsi/fdomain.c | current_SC->result = code ? code : DID_ABORT; |