Lines Matching refs:SCp
1251 if (current_SC->SCp.phase & aborted) { in do_fdomain_16x0_intr()
1263 if (current_SC->SCp.phase & in_arbitration) { in do_fdomain_16x0_intr()
1274 current_SC->SCp.phase = in_selection; in do_fdomain_16x0_intr()
1287 } else if (current_SC->SCp.phase & in_selection) { in do_fdomain_16x0_intr()
1307 current_SC->SCp.phase = in_other; in do_fdomain_16x0_intr()
1325 outb( current_SC->cmnd[current_SC->SCp.sent_command++], in do_fdomain_16x0_intr()
1329 current_SC->cmnd[ current_SC->SCp.sent_command - 1] ); in do_fdomain_16x0_intr()
1333 if (chip != tmc1800 && !current_SC->SCp.have_data_in) { in do_fdomain_16x0_intr()
1334 current_SC->SCp.have_data_in = -1; in do_fdomain_16x0_intr()
1339 if (chip != tmc1800 && !current_SC->SCp.have_data_in) { in do_fdomain_16x0_intr()
1340 current_SC->SCp.have_data_in = 1; in do_fdomain_16x0_intr()
1345 current_SC->SCp.Status = inb( Read_SCSI_Data_port ); in do_fdomain_16x0_intr()
1347 printk( "Status = %x, ", current_SC->SCp.Status ); in do_fdomain_16x0_intr()
1350 if (current_SC->SCp.Status in do_fdomain_16x0_intr()
1351 && current_SC->SCp.Status != 2 in do_fdomain_16x0_intr()
1352 && current_SC->SCp.Status != 8) { in do_fdomain_16x0_intr()
1356 current_SC->SCp.Status ); in do_fdomain_16x0_intr()
1364 current_SC->SCp.Message = inb( Read_SCSI_Data_port ); in do_fdomain_16x0_intr()
1366 printk( "Message = %x, ", current_SC->SCp.Message ); in do_fdomain_16x0_intr()
1368 if (!current_SC->SCp.Message) ++done; in do_fdomain_16x0_intr()
1370 if (current_SC->SCp.Message) { in do_fdomain_16x0_intr()
1372 current_SC->SCp.Message ); in do_fdomain_16x0_intr()
1380 && !current_SC->SCp.have_data_in in do_fdomain_16x0_intr()
1381 && (current_SC->SCp.sent_command in do_fdomain_16x0_intr()
1530 current_SC->SCp.have_data_in = -1; in do_fdomain_16x0_intr()
1537 current_SC->SCp.have_data_in = 1; in do_fdomain_16x0_intr()
1543 if (current_SC->SCp.have_data_in == -1) { /* DATA OUT */ in do_fdomain_16x0_intr()
1548 if (data_count > current_SC->SCp.this_residual) in do_fdomain_16x0_intr()
1549 data_count = current_SC->SCp.this_residual; in do_fdomain_16x0_intr()
1555 outb( *current_SC->SCp.ptr++, Write_FIFO_port ); in do_fdomain_16x0_intr()
1556 --current_SC->SCp.this_residual; in do_fdomain_16x0_intr()
1559 outsw( Write_FIFO_port, current_SC->SCp.ptr, data_count ); in do_fdomain_16x0_intr()
1560 current_SC->SCp.ptr += 2 * data_count; in do_fdomain_16x0_intr()
1561 current_SC->SCp.this_residual -= 2 * data_count; in do_fdomain_16x0_intr()
1564 if (!current_SC->SCp.this_residual) { in do_fdomain_16x0_intr()
1565 if (current_SC->SCp.buffers_residual) { in do_fdomain_16x0_intr()
1566 --current_SC->SCp.buffers_residual; in do_fdomain_16x0_intr()
1567 ++current_SC->SCp.buffer; in do_fdomain_16x0_intr()
1568 current_SC->SCp.ptr = current_SC->SCp.buffer->address; in do_fdomain_16x0_intr()
1569 current_SC->SCp.this_residual = current_SC->SCp.buffer->length; in do_fdomain_16x0_intr()
1576 if (current_SC->SCp.have_data_in == 1) { /* DATA IN */ in do_fdomain_16x0_intr()
1581 if (data_count > current_SC->SCp.this_residual) in do_fdomain_16x0_intr()
1582 data_count = current_SC->SCp.this_residual; in do_fdomain_16x0_intr()
1588 *current_SC->SCp.ptr++ = inb( Read_FIFO_port ); in do_fdomain_16x0_intr()
1589 --current_SC->SCp.this_residual; in do_fdomain_16x0_intr()
1592 insw( Read_FIFO_port, current_SC->SCp.ptr, data_count ); in do_fdomain_16x0_intr()
1593 current_SC->SCp.ptr += 2 * data_count; in do_fdomain_16x0_intr()
1594 current_SC->SCp.this_residual -= 2 * data_count; in do_fdomain_16x0_intr()
1597 if (!current_SC->SCp.this_residual in do_fdomain_16x0_intr()
1598 && current_SC->SCp.buffers_residual) { in do_fdomain_16x0_intr()
1599 --current_SC->SCp.buffers_residual; in do_fdomain_16x0_intr()
1600 ++current_SC->SCp.buffer; in do_fdomain_16x0_intr()
1601 current_SC->SCp.ptr = current_SC->SCp.buffer->address; in do_fdomain_16x0_intr()
1602 current_SC->SCp.this_residual = current_SC->SCp.buffer->length; in do_fdomain_16x0_intr()
1609 printk( " ** IN DONE %d ** ", current_SC->SCp.have_data_in ); in do_fdomain_16x0_intr()
1613 if (current_SC->cmnd[0] == REQUEST_SENSE && !current_SC->SCp.Status) { in do_fdomain_16x0_intr()
1643 my_done( (current_SC->SCp.Status & 0xff) in do_fdomain_16x0_intr()
1644 | ((current_SC->SCp.Message & 0xff) << 8) | (DID_OK << 16) ); in do_fdomain_16x0_intr()
1651 if (current_SC->SCp.phase & disconnect) { in do_fdomain_16x0_intr()
1685 current_SC->SCp.buffer = in fdomain_16x0_queue()
1687 current_SC->SCp.ptr = current_SC->SCp.buffer->address; in fdomain_16x0_queue()
1688 current_SC->SCp.this_residual = current_SC->SCp.buffer->length; in fdomain_16x0_queue()
1689 current_SC->SCp.buffers_residual = current_SC->use_sg - 1; in fdomain_16x0_queue()
1691 current_SC->SCp.ptr = (char *)current_SC->request_buffer; in fdomain_16x0_queue()
1692 current_SC->SCp.this_residual = current_SC->request_bufflen; in fdomain_16x0_queue()
1693 current_SC->SCp.buffer = NULL; in fdomain_16x0_queue()
1694 current_SC->SCp.buffers_residual = 0; in fdomain_16x0_queue()
1698 current_SC->SCp.Status = 0; in fdomain_16x0_queue()
1699 current_SC->SCp.Message = 0; in fdomain_16x0_queue()
1700 current_SC->SCp.have_data_in = 0; in fdomain_16x0_queue()
1701 current_SC->SCp.sent_command = 0; in fdomain_16x0_queue()
1702 current_SC->SCp.phase = in_arbitration; in fdomain_16x0_queue()
1753 switch (SCpnt->SCp.phase) { in print_info()
1761 SCpnt->SCp.phase, in print_info()
1767 SCpnt->SCp.sent_command, in print_info()
1768 SCpnt->SCp.have_data_in, in print_info()
1833 current_SC->SCp.phase |= aborted; in fdomain_16x0_abort()