• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/

Lines Matching refs:current_SC

228 #define current_SC            (HOSTDATA(shpnt)->_current_SC)
611 current_SC->result = error;
612 current_SC->scsi_done(current_SC);
650 if (current_SC->SCp.phase & aborted) {
660 if (current_SC->SCp.phase & in_arbitration) {
671 current_SC->SCp.phase = in_selection;
676 outb(adapter_mask | (1 << scmd_id(current_SC)), SCSI_Data_NoACK_port);
684 } else if (current_SC->SCp.phase & in_selection) {
688 if (fd_mcs_select(shpnt, scmd_id(current_SC))) {
704 current_SC->SCp.phase = in_other;
713 /* current_SC->SCp.phase == in_other: this is the body of the routine */
722 outb(current_SC->cmnd[current_SC->SCp.sent_command++], Write_SCSI_Data_port);
724 printk("CMD = %x,", current_SC->cmnd[current_SC->SCp.sent_command - 1]);
728 if (chip != tmc1800 && !current_SC->SCp.have_data_in) {
729 current_SC->SCp.have_data_in = -1;
734 if (chip != tmc1800 && !current_SC->SCp.have_data_in) {
735 current_SC->SCp.have_data_in = 1;
740 current_SC->SCp.Status = inb(Read_SCSI_Data_port);
742 printk("Status = %x, ", current_SC->SCp.Status);
745 if (current_SC->SCp.Status && current_SC->SCp.Status != 2 && current_SC->SCp.Status != 8) {
746 printk("ERROR fd_mcs: target = %d, command = %x, status = %x\n", current_SC->device->id, current_SC->cmnd[0], current_SC->SCp.Status);
754 current_SC->SCp.Message = inb(Read_SCSI_Data_port);
756 printk("Message = %x, ", current_SC->SCp.Message);
758 if (!current_SC->SCp.Message)
761 if (current_SC->SCp.Message) {
762 printk("fd_mcs: message = %x\n", current_SC->SCp.Message);
769 if (chip == tmc1800 && !current_SC->SCp.have_data_in && (current_SC->SCp.sent_command >= current_SC->cmd_len)) {
896 switch (current_SC->cmnd[0]) {
934 current_SC->SCp.have_data_in = -1;
941 current_SC->SCp.have_data_in = 1;
947 if (current_SC->SCp.have_data_in == -1) { /* DATA OUT */
952 if (data_count > current_SC->SCp.this_residual)
953 data_count = current_SC->SCp.this_residual;
961 outb(*current_SC->SCp.ptr++, Write_FIFO_port);
962 --current_SC->SCp.this_residual;
966 outsw(Write_FIFO_port, current_SC->SCp.ptr, data_count);
967 current_SC->SCp.ptr += tmp_count;
969 current_SC->SCp.this_residual -= tmp_count;
972 if (!current_SC->SCp.this_residual) {
973 if (current_SC->SCp.buffers_residual) {
974 --current_SC->SCp.buffers_residual;
975 ++current_SC->SCp.buffer;
976 current_SC->SCp.ptr = sg_virt(current_SC->SCp.buffer);
977 current_SC->SCp.this_residual = current_SC->SCp.buffer->length;
982 } else if (current_SC->SCp.have_data_in == 1) { /* DATA IN */
987 if (data_count > current_SC->SCp.this_residual)
988 data_count = current_SC->SCp.this_residual;
995 *current_SC->SCp.ptr++ = inb(Read_FIFO_port);
996 --current_SC->SCp.this_residual;
1000 insw(Read_FIFO_port, current_SC->SCp.ptr, data_count);
1001 current_SC->SCp.ptr += tmp_count;
1003 current_SC->SCp.this_residual -= tmp_count;
1006 if (!current_SC->SCp.this_residual && current_SC->SCp.buffers_residual) {
1007 --current_SC->SCp.buffers_residual;
1008 ++current_SC->SCp.buffer;
1009 current_SC->SCp.ptr = sg_virt(current_SC->SCp.buffer);
1010 current_SC->SCp.this_residual = current_SC->SCp.buffer->length;
1017 printk(" ** IN DONE %d ** ", current_SC->SCp.have_data_in);
1024 my_done(shpnt, (current_SC->SCp.Status & 0xff)
1025 | ((current_SC->SCp.Message & 0xff) << 8) | (DID_OK << 16));
1032 if (current_SC->SCp.phase & disconnect) {
1090 current_SC = SCpnt;
1094 if (scsi_bufflen(current_SC)) {
1095 current_SC->SCp.buffer = scsi_sglist(current_SC);
1096 current_SC->SCp.ptr = sg_virt(current_SC->SCp.buffer);
1097 current_SC->SCp.this_residual = current_SC->SCp.buffer->length;
1098 current_SC->SCp.buffers_residual = scsi_sg_count(current_SC) - 1;
1100 current_SC->SCp.ptr = NULL;
1101 current_SC->SCp.this_residual = 0;
1102 current_SC->SCp.buffer = NULL;
1103 current_SC->SCp.buffers_residual = 0;
1107 current_SC->SCp.Status = 0;
1108 current_SC->SCp.Message = 0;
1109 current_SC->SCp.have_data_in = 0;
1110 current_SC->SCp.sent_command = 0;
1111 current_SC->SCp.phase = in_arbitration;
1221 current_SC->SCp.phase |= aborted;
1223 current_SC->result = DID_ABORT << 16;
1247 fd_mcs_print_info(current_SC);