tag | line | file | source code |
current_SC | 333 | drivers/scsi/aha152x.c | static Scsi_Cmnd *current_SC = NULL; |
current_SC | 847 | drivers/scsi/aha152x.c | if(!current_SC) |
current_SC | 914 | drivers/scsi/aha152x.c | if ( TESTLO(SSTAT1, BUSFREE) || (current_SC && current_SC!=SCpnt)) |
current_SC | 918 | drivers/scsi/aha152x.c | if(!current_SC) |
current_SC | 927 | drivers/scsi/aha152x.c | if(current_SC) |
current_SC | 931 | drivers/scsi/aha152x.c | current_SC->result = DID_ERROR << 16; |
current_SC | 932 | drivers/scsi/aha152x.c | current_SC->done(current_SC); |
current_SC | 933 | drivers/scsi/aha152x.c | current_SC = (Scsi_Cmnd *) NULL; |
current_SC | 954 | drivers/scsi/aha152x.c | current_SC = ptr; |
current_SC | 956 | drivers/scsi/aha152x.c | SETPORT( SCSIID, (this_host << OID_) | current_SC->target ); |
current_SC | 1049 | drivers/scsi/aha152x.c | if(current_SC && !current_SC->device->soft_reset) |
current_SC | 1051 | drivers/scsi/aha152x.c | current_SC->host_scribble = NULL; |
current_SC | 1052 | drivers/scsi/aha152x.c | current_SC->result = DID_RESET << 16; |
current_SC | 1053 | drivers/scsi/aha152x.c | current_SC->done(current_SC); |
current_SC | 1054 | drivers/scsi/aha152x.c | current_SC=NULL; |
current_SC | 1154 | drivers/scsi/aha152x.c | if (current_SC) |
current_SC | 1164 | drivers/scsi/aha152x.c | done_SC = current_SC; |
current_SC | 1165 | drivers/scsi/aha152x.c | current_SC = NULL; |
current_SC | 1242 | drivers/scsi/aha152x.c | ( !current_SC || ( current_SC->SCp.phase & in_selection ) ) |
current_SC | 1249 | drivers/scsi/aha152x.c | if(current_SC) |
current_SC | 1257 | drivers/scsi/aha152x.c | append_SC( &issue_SC, current_SC); |
current_SC | 1258 | drivers/scsi/aha152x.c | current_SC=NULL; |
current_SC | 1326 | drivers/scsi/aha152x.c | current_SC = remove_SC( &disconnected_SC, |
current_SC | 1330 | drivers/scsi/aha152x.c | if(!current_SC) |
current_SC | 1336 | drivers/scsi/aha152x.c | current_SC->SCp.phase &= ~disconnected; |
current_SC | 1349 | drivers/scsi/aha152x.c | if(!current_SC) |
current_SC | 1360 | drivers/scsi/aha152x.c | current_SC = remove_first_SC( &issue_SC ); |
current_SC | 1367 | drivers/scsi/aha152x.c | current_SC->SCp.phase = in_selection; |
current_SC | 1371 | drivers/scsi/aha152x.c | printk("selecting %d, ", current_SC->target); |
current_SC | 1373 | drivers/scsi/aha152x.c | SETPORT( SCSIID, (this_host << OID_) | current_SC->target ); |
current_SC | 1405 | drivers/scsi/aha152x.c | if(current_SC->SCp.phase & in_selection) |
current_SC | 1430 | drivers/scsi/aha152x.c | if(current_SC->SCp.phase & aborted) |
current_SC | 1448 | drivers/scsi/aha152x.c | if((aha152x_debug & debug_abort) && (current_SC->SCp.phase & aborted)) |
current_SC | 1452 | drivers/scsi/aha152x.c | current_SC->SCp.phase &= ~in_selection; |
current_SC | 1453 | drivers/scsi/aha152x.c | current_SC->SCp.phase |= in_other; |
current_SC | 1487 | drivers/scsi/aha152x.c | if(current_SC->SCp.phase & aborted) |
current_SC | 1512 | drivers/scsi/aha152x.c | current_SC->SCp.phase = |
current_SC | 1513 | drivers/scsi/aha152x.c | (current_SC->SCp.phase & ~((P_MASK|1)<<16)) | (phase << 16 ); |
current_SC | 1527 | drivers/scsi/aha152x.c | if( current_SC->SCp.phase & aborted ) |
current_SC | 1539 | drivers/scsi/aha152x.c | if( !(current_SC->SCp.phase & sent_ident)) |
current_SC | 1541 | drivers/scsi/aha152x.c | message=IDENTIFY(can_disconnect,current_SC->lun); |
current_SC | 1545 | drivers/scsi/aha152x.c | can_disconnect ? "enabled" : "disabled", current_SC->lun); |
current_SC | 1577 | drivers/scsi/aha152x.c | if(message==IDENTIFY(can_disconnect,current_SC->lun)) |
current_SC | 1578 | drivers/scsi/aha152x.c | current_SC->SCp.phase |= sent_ident; |
current_SC | 1586 | drivers/scsi/aha152x.c | current_SC->SCp.phase = (current_SC->SCp.phase & ~(P_MASK<<16)); |
current_SC | 1604 | drivers/scsi/aha152x.c | if( !(current_SC->SCp.sent_command) ) |
current_SC | 1637 | drivers/scsi/aha152x.c | current_SC->cmd_len, current_SC->cmd_len >> 1 ); |
current_SC | 1642 | drivers/scsi/aha152x.c | outsw( DATAPORT, ¤t_SC->cmnd, current_SC->cmd_len >> 1 ); |
current_SC | 1682 | drivers/scsi/aha152x.c | current_SC->cmd_len); |
current_SC | 1702 | drivers/scsi/aha152x.c | current_SC->SCp.Message = GETPORT( SCSIBUS ); |
current_SC | 1703 | drivers/scsi/aha152x.c | switch(current_SC->SCp.Message) |
current_SC | 1710 | drivers/scsi/aha152x.c | current_SC->SCp.Message = 0; |
current_SC | 1711 | drivers/scsi/aha152x.c | current_SC->SCp.phase |= disconnected; |
current_SC | 1829 | drivers/scsi/aha152x.c | printk("unsupported inbound message %x, ", current_SC->SCp.Message); |
current_SC | 1842 | drivers/scsi/aha152x.c | if(current_SC->SCp.phase & disconnected) |
current_SC | 1850 | drivers/scsi/aha152x.c | append_SC( &disconnected_SC, current_SC); |
current_SC | 1851 | drivers/scsi/aha152x.c | current_SC = NULL; |
current_SC | 1877 | drivers/scsi/aha152x.c | current_SC->SCp.Status = GETPORT( SCSIBUS ); |
current_SC | 1885 | drivers/scsi/aha152x.c | print_status( current_SC->SCp.Status ); |
current_SC | 1949 | drivers/scsi/aha152x.c | while( fifodata && current_SC->SCp.this_residual ) |
current_SC | 1954 | drivers/scsi/aha152x.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 1955 | drivers/scsi/aha152x.c | data_count = current_SC->SCp.this_residual; |
current_SC | 1968 | drivers/scsi/aha152x.c | *current_SC->SCp.ptr++ = GETPORT( DATAPORT ); |
current_SC | 1969 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual--; |
current_SC | 1975 | drivers/scsi/aha152x.c | insw( DATAPORT, current_SC->SCp.ptr, data_count ); |
current_SC | 1986 | drivers/scsi/aha152x.c | data = (unsigned char *) current_SC->SCp.ptr; |
current_SC | 1992 | drivers/scsi/aha152x.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 1993 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 1997 | drivers/scsi/aha152x.c | if (!current_SC->SCp.this_residual && |
current_SC | 1998 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual) |
current_SC | 2001 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual--; |
current_SC | 2002 | drivers/scsi/aha152x.c | current_SC->SCp.buffer++; |
current_SC | 2003 | drivers/scsi/aha152x.c | current_SC->SCp.ptr = |
current_SC | 2004 | drivers/scsi/aha152x.c | current_SC->SCp.buffer->address; |
current_SC | 2005 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual = |
current_SC | 2006 | drivers/scsi/aha152x.c | current_SC->SCp.buffer->length; |
current_SC | 2034 | drivers/scsi/aha152x.c | if((aha152x_debug & debug_datai) && (current_SC->SCp.buffers_residual || current_SC->SCp.this_residual)) |
current_SC | 2036 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual, |
current_SC | 2037 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual); |
current_SC | 2050 | drivers/scsi/aha152x.c | current_SC->SCp.have_data_in++; |
current_SC | 2065 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual, |
current_SC | 2066 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual ); |
current_SC | 2087 | drivers/scsi/aha152x.c | (current_SC->SCp.this_residual || |
current_SC | 2088 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual) ) |
current_SC | 2093 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual, |
current_SC | 2094 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual); |
current_SC | 2097 | drivers/scsi/aha152x.c | data_count = current_SC->SCp.this_residual > 128 ? |
current_SC | 2098 | drivers/scsi/aha152x.c | 128 : current_SC->SCp.this_residual ; |
current_SC | 2109 | drivers/scsi/aha152x.c | SETPORT(DATAPORT, *current_SC->SCp.ptr++); |
current_SC | 2110 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual--; |
current_SC | 2116 | drivers/scsi/aha152x.c | outsw( DATAPORT, current_SC->SCp.ptr, data_count ); |
current_SC | 2117 | drivers/scsi/aha152x.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 2118 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 2133 | drivers/scsi/aha152x.c | !current_SC->SCp.this_residual && |
current_SC | 2134 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual) |
current_SC | 2137 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual--; |
current_SC | 2138 | drivers/scsi/aha152x.c | current_SC->SCp.buffer++; |
current_SC | 2139 | drivers/scsi/aha152x.c | current_SC->SCp.ptr = |
current_SC | 2140 | drivers/scsi/aha152x.c | current_SC->SCp.buffer->address; |
current_SC | 2141 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual = |
current_SC | 2142 | drivers/scsi/aha152x.c | current_SC->SCp.buffer->length; |
current_SC | 2146 | drivers/scsi/aha152x.c | if ( current_SC->SCp.this_residual || |
current_SC | 2147 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual ) |
current_SC | 2156 | drivers/scsi/aha152x.c | current_SC->SCp.ptr -= data_count; |
current_SC | 2157 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual += data_count; |
current_SC | 2161 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual, |
current_SC | 2162 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual, |
current_SC | 2181 | drivers/scsi/aha152x.c | current_SC->SCp.this_residual, |
current_SC | 2182 | drivers/scsi/aha152x.c | current_SC->SCp.buffers_residual); |
current_SC | 2208 | drivers/scsi/aha152x.c | current_SC->SCp.phase = (current_SC->SCp.phase & ~(P_MASK<<16)); |
current_SC | 2220 | drivers/scsi/aha152x.c | current_SC->SCp.phase = (current_SC->SCp.phase & ~(P_MASK<<16)); |
current_SC | 2248 | drivers/scsi/aha152x.c | aha152x_done( (current_SC->SCp.Status & 0xff) |
current_SC | 2249 | drivers/scsi/aha152x.c | | ( (current_SC->SCp.Message & 0xff) << 8) |
current_SC | 2254 | drivers/scsi/aha152x.c | current_SC->SCp.Status, current_SC->SCp.Message); |
current_SC | 2259 | drivers/scsi/aha152x.c | if(current_SC) |
current_SC | 2260 | drivers/scsi/aha152x.c | current_SC->SCp.phase |= 1<<16 ; |
current_SC | 2299 | drivers/scsi/aha152x.c | printk("\n%s: ", current_SC ? "on bus" : "waiting"); |
current_SC | 2611 | drivers/scsi/aha152x.c | if(current_SC) |
current_SC | 2612 | drivers/scsi/aha152x.c | show_command(current_SC); |
current_SC | 303 | drivers/scsi/fdomain.c | static Scsi_Cmnd *current_SC = NULL; |
current_SC | 1098 | drivers/scsi/fdomain.c | current_SC->result = error; |
current_SC | 1099 | drivers/scsi/fdomain.c | if (current_SC->scsi_done) |
current_SC | 1100 | drivers/scsi/fdomain.c | current_SC->scsi_done( current_SC ); |
current_SC | 1127 | drivers/scsi/fdomain.c | if (!in_command || !current_SC) { /* Spurious interrupt */ |
current_SC | 1130 | drivers/scsi/fdomain.c | in_command, current_SC ); |
current_SC | 1136 | drivers/scsi/fdomain.c | if (current_SC->SCp.phase & aborted) { |
current_SC | 1148 | drivers/scsi/fdomain.c | if (current_SC->SCp.phase & in_arbitration) { |
current_SC | 1157 | drivers/scsi/fdomain.c | current_SC->SCp.phase = in_selection; |
current_SC | 1162 | drivers/scsi/fdomain.c | outb( adapter_mask | (1 << current_SC->target), SCSI_Data_NoACK_port ); |
current_SC | 1170 | drivers/scsi/fdomain.c | } else if (current_SC->SCp.phase & in_selection) { |
current_SC | 1174 | drivers/scsi/fdomain.c | if (fdomain_select( current_SC->target )) { |
current_SC | 1188 | drivers/scsi/fdomain.c | current_SC->SCp.phase = in_other; |
current_SC | 1206 | drivers/scsi/fdomain.c | outb( current_SC->cmnd[current_SC->SCp.sent_command++], |
current_SC | 1210 | drivers/scsi/fdomain.c | current_SC->cmnd[ current_SC->SCp.sent_command - 1] ); |
current_SC | 1214 | drivers/scsi/fdomain.c | if (chip != tmc1800 && !current_SC->SCp.have_data_in) { |
current_SC | 1215 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = -1; |
current_SC | 1220 | drivers/scsi/fdomain.c | if (chip != tmc1800 && !current_SC->SCp.have_data_in) { |
current_SC | 1221 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = 1; |
current_SC | 1226 | drivers/scsi/fdomain.c | current_SC->SCp.Status = inb( Read_SCSI_Data_port ); |
current_SC | 1228 | drivers/scsi/fdomain.c | printk( "Status = %x, ", current_SC->SCp.Status ); |
current_SC | 1231 | drivers/scsi/fdomain.c | if (current_SC->SCp.Status && current_SC->SCp.Status != 2) { |
current_SC | 1233 | drivers/scsi/fdomain.c | current_SC->target, |
current_SC | 1234 | drivers/scsi/fdomain.c | current_SC->cmnd[0], |
current_SC | 1235 | drivers/scsi/fdomain.c | current_SC->SCp.Status ); |
current_SC | 1243 | drivers/scsi/fdomain.c | current_SC->SCp.Message = inb( Read_SCSI_Data_port ); |
current_SC | 1245 | drivers/scsi/fdomain.c | printk( "Message = %x, ", current_SC->SCp.Message ); |
current_SC | 1247 | drivers/scsi/fdomain.c | if (!current_SC->SCp.Message) ++done; |
current_SC | 1249 | drivers/scsi/fdomain.c | if (current_SC->SCp.Message) { |
current_SC | 1250 | drivers/scsi/fdomain.c | printk( "fdomain: message = %x\n", current_SC->SCp.Message ); |
current_SC | 1258 | drivers/scsi/fdomain.c | && !current_SC->SCp.have_data_in |
current_SC | 1259 | drivers/scsi/fdomain.c | && (current_SC->SCp.sent_command |
current_SC | 1260 | drivers/scsi/fdomain.c | >= current_SC->cmd_len)) { |
current_SC | 1387 | drivers/scsi/fdomain.c | switch (current_SC->cmnd[0]) { |
current_SC | 1408 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = -1; |
current_SC | 1415 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = 1; |
current_SC | 1421 | drivers/scsi/fdomain.c | if (current_SC->SCp.have_data_in == -1) { /* DATA OUT */ |
current_SC | 1426 | drivers/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 1427 | drivers/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 1433 | drivers/scsi/fdomain.c | outb( *current_SC->SCp.ptr++, Write_FIFO_port ); |
current_SC | 1434 | drivers/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 1437 | drivers/scsi/fdomain.c | outsw( Write_FIFO_port, current_SC->SCp.ptr, data_count ); |
current_SC | 1438 | drivers/scsi/fdomain.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 1439 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 1442 | drivers/scsi/fdomain.c | if (!current_SC->SCp.this_residual) { |
current_SC | 1443 | drivers/scsi/fdomain.c | if (current_SC->SCp.buffers_residual) { |
current_SC | 1444 | drivers/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 1445 | drivers/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 1446 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1447 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1454 | drivers/scsi/fdomain.c | if (current_SC->SCp.have_data_in == 1) { /* DATA IN */ |
current_SC | 1459 | drivers/scsi/fdomain.c | if (data_count > current_SC->SCp.this_residual) |
current_SC | 1460 | drivers/scsi/fdomain.c | data_count = current_SC->SCp.this_residual; |
current_SC | 1466 | drivers/scsi/fdomain.c | *current_SC->SCp.ptr++ = inb( Read_FIFO_port ); |
current_SC | 1467 | drivers/scsi/fdomain.c | --current_SC->SCp.this_residual; |
current_SC | 1470 | drivers/scsi/fdomain.c | insw( Read_FIFO_port, current_SC->SCp.ptr, data_count ); |
current_SC | 1471 | drivers/scsi/fdomain.c | current_SC->SCp.ptr += 2 * data_count; |
current_SC | 1472 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual -= 2 * data_count; |
current_SC | 1475 | drivers/scsi/fdomain.c | if (!current_SC->SCp.this_residual |
current_SC | 1476 | drivers/scsi/fdomain.c | && current_SC->SCp.buffers_residual) { |
current_SC | 1477 | drivers/scsi/fdomain.c | --current_SC->SCp.buffers_residual; |
current_SC | 1478 | drivers/scsi/fdomain.c | ++current_SC->SCp.buffer; |
current_SC | 1479 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1480 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1487 | drivers/scsi/fdomain.c | printk( " ** IN DONE %d ** ", current_SC->SCp.have_data_in ); |
current_SC | 1491 | drivers/scsi/fdomain.c | if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) { |
current_SC | 1492 | drivers/scsi/fdomain.c | if ((unsigned char)(*((char *)current_SC->request_buffer+2)) & 0x0f) { |
current_SC | 1497 | drivers/scsi/fdomain.c | key = (unsigned char)(*((char *)current_SC->request_buffer + 2)) |
current_SC | 1499 | drivers/scsi/fdomain.c | code = (unsigned char)(*((char *)current_SC->request_buffer + 12)); |
current_SC | 1500 | drivers/scsi/fdomain.c | qualifier = (unsigned char)(*((char *)current_SC->request_buffer |
current_SC | 1520 | drivers/scsi/fdomain.c | my_done( (current_SC->SCp.Status & 0xff) |
current_SC | 1521 | drivers/scsi/fdomain.c | | ((current_SC->SCp.Message & 0xff) << 8) | (DID_OK << 16) ); |
current_SC | 1527 | drivers/scsi/fdomain.c | if (current_SC->SCp.phase & disconnect) { |
current_SC | 1555 | drivers/scsi/fdomain.c | current_SC = SCpnt; /* Save this for the done function */ |
current_SC | 1556 | drivers/scsi/fdomain.c | current_SC->scsi_done = done; |
current_SC | 1560 | drivers/scsi/fdomain.c | if (current_SC->use_sg) { |
current_SC | 1561 | drivers/scsi/fdomain.c | current_SC->SCp.buffer = |
current_SC | 1562 | drivers/scsi/fdomain.c | (struct scatterlist *)current_SC->request_buffer; |
current_SC | 1563 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = current_SC->SCp.buffer->address; |
current_SC | 1564 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->SCp.buffer->length; |
current_SC | 1565 | drivers/scsi/fdomain.c | current_SC->SCp.buffers_residual = current_SC->use_sg - 1; |
current_SC | 1567 | drivers/scsi/fdomain.c | current_SC->SCp.ptr = (char *)current_SC->request_buffer; |
current_SC | 1568 | drivers/scsi/fdomain.c | current_SC->SCp.this_residual = current_SC->request_bufflen; |
current_SC | 1569 | drivers/scsi/fdomain.c | current_SC->SCp.buffer = NULL; |
current_SC | 1570 | drivers/scsi/fdomain.c | current_SC->SCp.buffers_residual = 0; |
current_SC | 1574 | drivers/scsi/fdomain.c | current_SC->SCp.Status = 0; |
current_SC | 1575 | drivers/scsi/fdomain.c | current_SC->SCp.Message = 0; |
current_SC | 1576 | drivers/scsi/fdomain.c | current_SC->SCp.have_data_in = 0; |
current_SC | 1577 | drivers/scsi/fdomain.c | current_SC->SCp.sent_command = 0; |
current_SC | 1578 | drivers/scsi/fdomain.c | current_SC->SCp.phase = in_arbitration; |
current_SC | 1708 | drivers/scsi/fdomain.c | current_SC->SCp.phase |= aborted; |
current_SC | 1710 | drivers/scsi/fdomain.c | current_SC->result = DID_ABORT << 16; |
current_SC | 1731 | drivers/scsi/fdomain.c | if (called_once) print_info( current_SC ); |