tag | line | file | source code |
scsiq | 1949 | drivers/scsi/advansys.c | ASC_SCSI_Q dosfar * scsiq, |
scsiq | 3680 | drivers/scsi/advansys.c | ASC_SCSI_Q scsiq; |
scsiq | 3703 | drivers/scsi/advansys.c | memset(&scsiq, 0, sizeof(ASC_SCSI_Q)); |
scsiq | 3708 | drivers/scsi/advansys.c | scsiq.q2.srb_ptr = (ulong) scp; |
scsiq | 3713 | drivers/scsi/advansys.c | scsiq.cdbptr = &scp->cmnd[0]; |
scsiq | 3714 | drivers/scsi/advansys.c | scsiq.q2.cdb_len = scp->cmd_len; |
scsiq | 3715 | drivers/scsi/advansys.c | scsiq.q1.target_id = ASC_TID_TO_TARGET_ID(scp->target); |
scsiq | 3716 | drivers/scsi/advansys.c | scsiq.q1.target_lun = scp->lun; |
scsiq | 3717 | drivers/scsi/advansys.c | scsiq.q2.target_ix = ASC_TIDLUN_TO_IX(scp->target, scp->lun); |
scsiq | 3718 | drivers/scsi/advansys.c | scsiq.q1.sense_addr = (ulong) &scp->sense_buffer[0]; |
scsiq | 3719 | drivers/scsi/advansys.c | scsiq.q1.sense_len = sizeof(scp->sense_buffer); |
scsiq | 3720 | drivers/scsi/advansys.c | scsiq.q2.tag_code = M2_QTAG_MSG_SIMPLE; |
scsiq | 3732 | drivers/scsi/advansys.c | scsiq.q1.data_addr = (ulong) scp->request_buffer; |
scsiq | 3733 | drivers/scsi/advansys.c | scsiq.q1.data_cnt = scp->request_bufflen; |
scsiq | 3735 | drivers/scsi/advansys.c | scsiq.q1.sg_queue_cnt = 0; |
scsiq | 3736 | drivers/scsi/advansys.c | scsiq.sg_head = NULL; |
scsiq | 3760 | drivers/scsi/advansys.c | scsiq.q1.cntl |= QC_SG_HEAD; |
scsiq | 3761 | drivers/scsi/advansys.c | scsiq.sg_head = &sghead; |
scsiq | 3762 | drivers/scsi/advansys.c | scsiq.q1.data_cnt = 0; |
scsiq | 3763 | drivers/scsi/advansys.c | scsiq.q1.data_addr = 0; |
scsiq | 3764 | drivers/scsi/advansys.c | sghead.entry_cnt = scsiq.q1.sg_queue_cnt = scp->use_sg; |
scsiq | 3778 | drivers/scsi/advansys.c | ASC_DBG_PRT_SCSI_Q(2, &scsiq); |
scsiq | 3781 | drivers/scsi/advansys.c | switch (ret = AscExeScsiQueue(boardp, &scsiq)) { |
scsiq | 5547 | drivers/scsi/advansys.c | ASC_QDONE_INFO dosfar * scsiq, |
scsiq | 5556 | drivers/scsi/advansys.c | (ushort dosfar *) scsiq, |
scsiq | 5560 | drivers/scsi/advansys.c | AscAdjEndianQDoneInfo(scsiq); |
scsiq | 5565 | drivers/scsi/advansys.c | scsiq->q_status = (uchar) _val; |
scsiq | 5566 | drivers/scsi/advansys.c | scsiq->q_no = (uchar) (_val >> 8); |
scsiq | 5570 | drivers/scsi/advansys.c | scsiq->cntl = (uchar) _val; |
scsiq | 5575 | drivers/scsi/advansys.c | scsiq->sense_len = (uchar) _val; |
scsiq | 5576 | drivers/scsi/advansys.c | scsiq->user_def = (uchar) (_val >> 8); |
scsiq | 5578 | drivers/scsi/advansys.c | scsiq->remain_bytes = AscReadLramDWord(iop_base, |
scsiq | 5580 | drivers/scsi/advansys.c | scsiq->remain_bytes &= max_dma_count; |
scsiq | 5605 | drivers/scsi/advansys.c | ASC_QDONE_INFO dosfar *scsiq; |
scsiq | 5620 | drivers/scsi/advansys.c | scsiq = (ASC_QDONE_INFO dosfar *) & scsiq_buf; |
scsiq | 5630 | drivers/scsi/advansys.c | sg_queue_cnt = _AscCopyLramScsiDoneQ(iop_base, q_addr, scsiq, asc_dvc->max_dma_count); |
scsiq | 5634 | drivers/scsi/advansys.c | (uchar) (scsiq->q_status & (uchar) ~ (QS_READY | QS_ABORTED))); |
scsiq | 5635 | drivers/scsi/advansys.c | tid_no = ASC_TIX_TO_TID(scsiq->d2.target_ix); |
scsiq | 5636 | drivers/scsi/advansys.c | target_id = ASC_TIX_TO_TARGET_ID(scsiq->d2.target_ix); |
scsiq | 5637 | drivers/scsi/advansys.c | if ((scsiq->cntl & QC_SG_HEAD) != 0) { |
scsiq | 5646 | drivers/scsi/advansys.c | scsiq->d3.done_stat = QD_WITH_ERROR; |
scsiq | 5647 | drivers/scsi/advansys.c | scsiq->d3.host_stat = QHSTA_D_QDONE_SG_LIST_CORRUPTED; |
scsiq | 5661 | drivers/scsi/advansys.c | (ushort) ((ushort) ASC_QADR_BEG + (ushort) scsiq->d2.target_ix)); |
scsiq | 5678 | drivers/scsi/advansys.c | scsiq->d3.done_stat = QD_WITH_ERROR; |
scsiq | 5682 | drivers/scsi/advansys.c | if ((scsiq->d2.srb_ptr == 0UL) || |
scsiq | 5683 | drivers/scsi/advansys.c | ((scsiq->q_status & QS_ABORTED) != 0)) { |
scsiq | 5686 | drivers/scsi/advansys.c | } else if (scsiq->q_status == QS_DONE) { |
scsiq | 5695 | drivers/scsi/advansys.c | if (scsiq->remain_bytes != 0UL) { |
scsiq | 5696 | drivers/scsi/advansys.c | scsiq->remain_bytes--; |
scsiq | 5697 | drivers/scsi/advansys.c | if (scsiq->remain_bytes == 0UL) { |
scsiq | 5704 | drivers/scsi/advansys.c | if ((scsiq->d3.done_stat == QD_WITH_ERROR) && |
scsiq | 5705 | drivers/scsi/advansys.c | (scsiq->d3.host_stat == QHSTA_M_DATA_OVER_RUN)) { |
scsiq | 5706 | drivers/scsi/advansys.c | if ((scsiq->cntl & (QC_DATA_IN | QC_DATA_OUT)) == 0) { |
scsiq | 5707 | drivers/scsi/advansys.c | scsiq->d3.done_stat = QD_NO_ERROR; |
scsiq | 5708 | drivers/scsi/advansys.c | scsiq->d3.host_stat = QHSTA_NO_ERROR; |
scsiq | 5710 | drivers/scsi/advansys.c | scsiq->d3.done_stat = QD_NO_ERROR; |
scsiq | 5711 | drivers/scsi/advansys.c | scsiq->d3.host_stat = QHSTA_NO_ERROR; |
scsiq | 5720 | drivers/scsi/advansys.c | if ((scsiq->cntl & QC_NO_CALLBACK) == 0) { |
scsiq | 5721 | drivers/scsi/advansys.c | (*asc_isr_callback) (asc_dvc, scsiq); |
scsiq | 5728 | drivers/scsi/advansys.c | if (scsiq->d3.done_stat != QD_NO_ERROR) { |
scsiq | 5760 | drivers/scsi/advansys.c | if ((scsiq->cntl & QC_NO_CALLBACK) == 0) { |
scsiq | 5761 | drivers/scsi/advansys.c | (*asc_isr_callback) (asc_dvc, scsiq); |
scsiq | 5856 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 5863 | drivers/scsi/advansys.c | scsiq->r1.cntl = 0; |
scsiq | 5864 | drivers/scsi/advansys.c | scsiq->r1.sg_queue_cnt = 0; |
scsiq | 5865 | drivers/scsi/advansys.c | scsiq->r1.q_no = 0; |
scsiq | 5866 | drivers/scsi/advansys.c | scsiq->r1.user_def = 0; |
scsiq | 5867 | drivers/scsi/advansys.c | scsiq->cdbptr = (uchar dosfar *) scsiq->cdb; |
scsiq | 5868 | drivers/scsi/advansys.c | scsiq->r3.scsi_stat = 0; |
scsiq | 5869 | drivers/scsi/advansys.c | scsiq->r3.scsi_msg = 0; |
scsiq | 5870 | drivers/scsi/advansys.c | scsiq->r3.host_stat = 0; |
scsiq | 5871 | drivers/scsi/advansys.c | scsiq->r3.done_stat = 0; |
scsiq | 5872 | drivers/scsi/advansys.c | scsiq->r2.vm_id = 0; |
scsiq | 5873 | drivers/scsi/advansys.c | scsiq->r1.data_cnt = buf_len; |
scsiq | 5875 | drivers/scsi/advansys.c | scsiq->r2.tag_code = (uchar) M2_QTAG_MSG_SIMPLE; |
scsiq | 5876 | drivers/scsi/advansys.c | scsiq->r2.flag = (uchar) ASC_FLAG_SCSIQ_REQ; |
scsiq | 5877 | drivers/scsi/advansys.c | scsiq->r2.srb_ptr = (ulong) scsiq; |
scsiq | 5878 | drivers/scsi/advansys.c | scsiq->r1.status = (uchar) QS_READY; |
scsiq | 5879 | drivers/scsi/advansys.c | scsiq->r1.data_addr = 0L; |
scsiq | 5883 | drivers/scsi/advansys.c | (uchar dosfar *) buf_addr, scsiq->r1.data_cnt)) == 0L) { |
scsiq | 5886 | drivers/scsi/advansys.c | scsiq->r1.data_addr = phy_addr; |
scsiq | 6044 | drivers/scsi/advansys.c | ASC_SCSI_Q dosfar * scsiq |
scsiq | 6074 | drivers/scsi/advansys.c | if (scsiq == (ASC_SCSI_Q dosfar *) 0L) { |
scsiq | 6078 | drivers/scsi/advansys.c | scsiq->q1.q_no = 0; |
scsiq | 6080 | drivers/scsi/advansys.c | target_ix = scsiq->q2.target_ix; |
scsiq | 6085 | drivers/scsi/advansys.c | if (scsiq->cdbptr[0] == SCSICMD_RequestSense) { |
scsiq | 6087 | drivers/scsi/advansys.c | if (((asc_dvc->init_sdtr & scsiq->q1.target_id) != 0) && |
scsiq | 6088 | drivers/scsi/advansys.c | ((asc_dvc->sdtr_done & scsiq->q1.target_id) != 0)) { |
scsiq | 6094 | drivers/scsi/advansys.c | scsiq->q1.cntl |= (QC_MSG_OUT | QC_URGENT); |
scsiq | 6105 | drivers/scsi/advansys.c | if ((scsiq->q1.cntl & QC_SG_HEAD) != 0) { |
scsiq | 6107 | drivers/scsi/advansys.c | if ((sg_entry_cnt = scsiq->sg_head->entry_cnt) == 0) { |
scsiq | 6113 | drivers/scsi/advansys.c | scsiq->q1.data_addr = scsiq->sg_head->sg_list[0].addr; |
scsiq | 6114 | drivers/scsi/advansys.c | scsiq->q1.data_cnt = scsiq->sg_head->sg_list[0].bytes; |
scsiq | 6115 | drivers/scsi/advansys.c | scsiq->q1.cntl &= ~(QC_SG_HEAD | QC_SG_SWAP_QUEUE); |
scsiq | 6128 | drivers/scsi/advansys.c | addr = scsiq->sg_head->sg_list[i].addr + |
scsiq | 6129 | drivers/scsi/advansys.c | scsiq->sg_head->sg_list[i].bytes; |
scsiq | 6144 | drivers/scsi/advansys.c | addr = scsiq->sg_head->sg_list[sg_entry_cnt_minus_one].addr + |
scsiq | 6145 | drivers/scsi/advansys.c | scsiq->sg_head->sg_list[sg_entry_cnt_minus_one].bytes; |
scsiq | 6147 | drivers/scsi/advansys.c | if ((scsiq->cdbptr[0] == SCSICMD_Read6) || |
scsiq | 6148 | drivers/scsi/advansys.c | (scsiq->cdbptr[0] == SCSICMD_Read10)) { |
scsiq | 6149 | drivers/scsi/advansys.c | if ((scsiq->q2.tag_code & ASC_TAG_FLAG_ADD_ONE_BYTE) == 0) { |
scsiq | 6151 | drivers/scsi/advansys.c | scsiq->sg_head->sg_list[sg_entry_cnt_minus_one].bytes++; |
scsiq | 6152 | drivers/scsi/advansys.c | scsiq->q2.tag_code |= ASC_TAG_FLAG_ADD_ONE_BYTE; |
scsiq | 6158 | drivers/scsi/advansys.c | scsiq->sg_head->entry_to_copy = scsiq->sg_head->entry_cnt; |
scsiq | 6170 | drivers/scsi/advansys.c | ((scsiq->q1.cntl & QC_URGENT) != 0)) { |
scsiq | 6171 | drivers/scsi/advansys.c | if ((sta = AscSendScsiQueue(asc_dvc, scsiq, |
scsiq | 6176 | drivers/scsi/advansys.c | (*asc_exe_callback) (asc_dvc, scsiq); |
scsiq | 6189 | drivers/scsi/advansys.c | addr = scsiq->q1.data_addr + scsiq->q1.data_cnt; |
scsiq | 6190 | drivers/scsi/advansys.c | if ((scsiq->cdbptr[0] == SCSICMD_Read6) || |
scsiq | 6191 | drivers/scsi/advansys.c | (scsiq->cdbptr[0] == SCSICMD_Read10)) { |
scsiq | 6193 | drivers/scsi/advansys.c | if (((ushort) scsiq->q1.data_cnt & 0x01FF) == 0) { |
scsiq | 6195 | drivers/scsi/advansys.c | if ((scsiq->q2.tag_code & ASC_TAG_FLAG_ADD_ONE_BYTE) == 0) { |
scsiq | 6197 | drivers/scsi/advansys.c | scsiq->q2.tag_code |= ASC_TAG_FLAG_ADD_ONE_BYTE; |
scsiq | 6198 | drivers/scsi/advansys.c | scsiq->q1.data_cnt++; |
scsiq | 6214 | drivers/scsi/advansys.c | ((scsiq->q1.cntl & QC_URGENT) != 0)) { |
scsiq | 6215 | drivers/scsi/advansys.c | if ((sta = AscSendScsiQueue(asc_dvc, scsiq, |
scsiq | 6220 | drivers/scsi/advansys.c | (*asc_exe_callback) (asc_dvc, scsiq); |
scsiq | 6232 | drivers/scsi/advansys.c | scsiq->ext.q_required = n_q_required; |
scsiq | 6234 | drivers/scsi/advansys.c | asc_dvc->scsiq_busy_head[tid_no] = (ASC_SCSI_Q dosfar *) scsiq; |
scsiq | 6235 | drivers/scsi/advansys.c | asc_dvc->scsiq_busy_tail[tid_no] = (ASC_SCSI_Q dosfar *) scsiq; |
scsiq | 6236 | drivers/scsi/advansys.c | scsiq->ext.next = (ASC_SCSI_Q dosfar *) 0L; |
scsiq | 6237 | drivers/scsi/advansys.c | scsiq->ext.join = (ASC_SCSI_Q dosfar *) 0L; |
scsiq | 6238 | drivers/scsi/advansys.c | scsiq->q1.status = QS_BUSY; |
scsiq | 6243 | drivers/scsi/advansys.c | if ((scsiq->q1.cntl & QC_URGENT) != 0) { |
scsiq | 6245 | drivers/scsi/advansys.c | asc_dvc->scsiq_busy_head[tid_no] = (ASC_SCSI_Q dosfar *) scsiq; |
scsiq | 6246 | drivers/scsi/advansys.c | scsiq->ext.next = scsiq_next; |
scsiq | 6247 | drivers/scsi/advansys.c | scsiq->ext.join = (ASC_SCSI_Q dosfar *) 0L; |
scsiq | 6249 | drivers/scsi/advansys.c | if (scsiq->ext.cntl & QCX_SORT) { |
scsiq | 6253 | drivers/scsi/advansys.c | if (scsiq->ext.lba < scsiq_prev->ext.lba) |
scsiq | 6257 | drivers/scsi/advansys.c | scsiq_prev->ext.next = scsiq; |
scsiq | 6258 | drivers/scsi/advansys.c | scsiq->ext.next = scsiq_next; |
scsiq | 6260 | drivers/scsi/advansys.c | asc_dvc->scsiq_busy_tail[tid_no] = (ASC_SCSI_Q dosfar *) scsiq; |
scsiq | 6262 | drivers/scsi/advansys.c | scsiq->ext.join = (ASC_SCSI_Q dosfar *) 0L; |
scsiq | 6265 | drivers/scsi/advansys.c | scsiq_tail->ext.next = (ASC_SCSI_Q dosfar *) scsiq; |
scsiq | 6266 | drivers/scsi/advansys.c | asc_dvc->scsiq_busy_tail[tid_no] = (ASC_SCSI_Q dosfar *) scsiq; |
scsiq | 6267 | drivers/scsi/advansys.c | scsiq->ext.next = (ASC_SCSI_Q dosfar *) 0L; |
scsiq | 6268 | drivers/scsi/advansys.c | scsiq->ext.join = (ASC_SCSI_Q dosfar *) 0L; |
scsiq | 6271 | drivers/scsi/advansys.c | scsiq->q1.status = QS_BUSY; |
scsiq | 6289 | drivers/scsi/advansys.c | ASC_SCSI_Q dosfar * scsiq, |
scsiq | 6301 | drivers/scsi/advansys.c | target_ix = scsiq->q2.target_ix; |
scsiq | 6310 | drivers/scsi/advansys.c | scsiq->sg_head->queue_cnt = n_q_required - 1; |
scsiq | 6311 | drivers/scsi/advansys.c | scsiq->q1.q_no = free_q_head; |
scsiq | 6313 | drivers/scsi/advansys.c | if ((sta = AscPutReadySgListQueue(asc_dvc, scsiq, |
scsiq | 6331 | drivers/scsi/advansys.c | scsiq->q1.q_no = free_q_head; |
scsiq | 6332 | drivers/scsi/advansys.c | if ((sta = AscPutReadyQueue(asc_dvc, scsiq, |
scsiq | 6407 | drivers/scsi/advansys.c | ASC_SCSI_Q dosfar * scsiq, |
scsiq | 6420 | drivers/scsi/advansys.c | if (((asc_dvc->init_sdtr & scsiq->q1.target_id) != 0) && |
scsiq | 6421 | drivers/scsi/advansys.c | ((asc_dvc->sdtr_done & scsiq->q1.target_id) == 0)) { |
scsiq | 6423 | drivers/scsi/advansys.c | tid_no = ASC_TIX_TO_TID(scsiq->q2.target_ix); |
scsiq | 6433 | drivers/scsi/advansys.c | scsiq->q1.cntl |= QC_MSG_OUT; |
scsiq | 6437 | drivers/scsi/advansys.c | if ((scsiq->q1.target_id & asc_dvc->use_tagged_qng) == 0) { |
scsiq | 6438 | drivers/scsi/advansys.c | scsiq->q2.tag_code &= ~M2_QTAG_MSG_SIMPLE; |
scsiq | 6440 | drivers/scsi/advansys.c | scsiq->q1.status = QS_FREE; |
scsiq | 6444 | drivers/scsi/advansys.c | (ushort dosfar *) scsiq->cdbptr, |
scsiq | 6445 | drivers/scsi/advansys.c | (ushort) ((ushort) scsiq->q2.cdb_len >> 1)); |
scsiq | 6448 | drivers/scsi/advansys.c | AscAdjEndianScsiQ(scsiq); |
scsiq | 6453 | drivers/scsi/advansys.c | (ushort dosfar *) & scsiq->q1.cntl, |
scsiq | 6468 | drivers/scsi/advansys.c | (ushort dosfar *) scsiq->cdbptr, |
scsiq | 6469 | drivers/scsi/advansys.c | (ushort) (scsiq->q2.cdb_len >> 1)) != 0) { |
scsiq | 6475 | drivers/scsi/advansys.c | (ushort dosfar *) & scsiq->q1.cntl, |
scsiq | 6495 | drivers/scsi/advansys.c | (ushort) (((ushort) scsiq->q1.q_no << 8) | (ushort) QS_READY)); |
scsiq | 6502 | drivers/scsi/advansys.c | ASC_SCSI_Q dosfar * scsiq, |
scsiq | 6520 | drivers/scsi/advansys.c | sg_head = scsiq->sg_head; |
scsiq | 6522 | drivers/scsi/advansys.c | saved_data_addr = scsiq->q1.data_addr; |
scsiq | 6523 | drivers/scsi/advansys.c | saved_data_cnt = scsiq->q1.data_cnt; |
scsiq | 6524 | drivers/scsi/advansys.c | scsiq->q1.data_addr = sg_head->sg_list[0].addr; |
scsiq | 6525 | drivers/scsi/advansys.c | scsiq->q1.data_cnt = sg_head->sg_list[0].bytes; |
scsiq | 6528 | drivers/scsi/advansys.c | scsiq->q1.cntl |= QC_SG_HEAD; |
scsiq | 6531 | drivers/scsi/advansys.c | scsiq->q1.sg_queue_cnt = sg_head->queue_cnt; |
scsiq | 6578 | drivers/scsi/advansys.c | scsiq->q1.cntl &= ~QC_SG_HEAD; |
scsiq | 6580 | drivers/scsi/advansys.c | sta = AscPutReadyQueue(asc_dvc, scsiq, q_no); |
scsiq | 6582 | drivers/scsi/advansys.c | scsiq->q1.data_addr = saved_data_addr; |
scsiq | 6583 | drivers/scsi/advansys.c | scsiq->q1.data_cnt = saved_data_cnt; |
scsiq | 6629 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar *scsiq; |
scsiq | 6649 | drivers/scsi/advansys.c | scsiq = (ASC_SCSI_REQ_Q dosfar *) & scsiq_buf; |
scsiq | 6655 | drivers/scsi/advansys.c | scsiq->r1.status = (uchar) QS_READY; |
scsiq | 6656 | drivers/scsi/advansys.c | scsiq->r2.cdb_len = 6; |
scsiq | 6657 | drivers/scsi/advansys.c | scsiq->r2.tag_code = M2_QTAG_MSG_SIMPLE; |
scsiq | 6658 | drivers/scsi/advansys.c | scsiq->r1.target_id = target_id; |
scsiq | 6660 | drivers/scsi/advansys.c | scsiq->r2.target_ix = ASC_TIDLUN_TO_IX(tid_no, 0); |
scsiq | 6661 | drivers/scsi/advansys.c | scsiq->cdbptr = (uchar dosfar *) scsiq->cdb; |
scsiq | 6663 | drivers/scsi/advansys.c | scsiq->r1.cntl = QC_NO_CALLBACK | QC_MSG_OUT | QC_URGENT; |
scsiq | 6671 | drivers/scsi/advansys.c | if (AscExeScsiQueue(asc_dvc, (ASC_SCSI_Q dosfar *) scsiq) |
scsiq | 6675 | drivers/scsi/advansys.c | _AscWaitQDone(iop_base, (ASC_SCSI_Q dosfar *) scsiq); |
scsiq | 6917 | drivers/scsi/advansys.c | ASC_SCSI_Q dosfar * scsiq |
scsiq | 6924 | drivers/scsi/advansys.c | while (scsiq->q1.q_no == 0) ; |
scsiq | 6925 | drivers/scsi/advansys.c | q_addr = ASC_QNO_TO_QADDR(scsiq->q1.q_no); |
scsiq | 7098 | drivers/scsi/advansys.c | ASC_QDONE_INFO dosfar *scsiq; |
scsiq | 7105 | drivers/scsi/advansys.c | scsiq = (ASC_QDONE_INFO dosfar *) & scsiq_buf; |
scsiq | 7108 | drivers/scsi/advansys.c | _AscAbortSrbBusyQueue(asc_dvc, scsiq, srb_ptr); |
scsiq | 7114 | drivers/scsi/advansys.c | scsiq->d2.srb_ptr = AscReadLramDWord(iop_base, |
scsiq | 7116 | drivers/scsi/advansys.c | if (scsiq->d2.srb_ptr == srb_ptr) { |
scsiq | 7117 | drivers/scsi/advansys.c | _AscCopyLramScsiDoneQ(iop_base, q_addr, scsiq, asc_dvc->max_dma_count); |
scsiq | 7118 | drivers/scsi/advansys.c | if (((scsiq->q_status & QS_READY) != 0) && |
scsiq | 7119 | drivers/scsi/advansys.c | ((scsiq->q_status & QS_ABORTED) == 0) && |
scsiq | 7120 | drivers/scsi/advansys.c | ((scsiq->cntl & QCSG_SG_XFER_LIST) == 0)) { |
scsiq | 7122 | drivers/scsi/advansys.c | scsiq->q_status |= QS_ABORTED; |
scsiq | 7123 | drivers/scsi/advansys.c | scsiq->d3.done_stat = QD_ABORTED_BY_HOST; |
scsiq | 7129 | drivers/scsi/advansys.c | scsiq->q_status); |
scsiq | 7130 | drivers/scsi/advansys.c | (*asc_isr_callback) (asc_dvc, scsiq); |
scsiq | 7149 | drivers/scsi/advansys.c | ASC_QDONE_INFO dosfar *scsiq; |
scsiq | 7161 | drivers/scsi/advansys.c | scsiq = (ASC_QDONE_INFO dosfar *) & scsiq_buf; |
scsiq | 7166 | drivers/scsi/advansys.c | _AscAbortTidBusyQueue(asc_dvc, scsiq, tid_no); |
scsiq | 7173 | drivers/scsi/advansys.c | _AscCopyLramScsiDoneQ(iop_base, q_addr, scsiq, asc_dvc->max_dma_count); |
scsiq | 7174 | drivers/scsi/advansys.c | if (((scsiq->q_status & QS_READY) != 0) && |
scsiq | 7175 | drivers/scsi/advansys.c | ((scsiq->q_status & QS_ABORTED) == 0) && |
scsiq | 7176 | drivers/scsi/advansys.c | ((scsiq->cntl & QCSG_SG_XFER_LIST) == 0)) { |
scsiq | 7177 | drivers/scsi/advansys.c | if (scsiq->d2.target_ix == target_ix) { |
scsiq | 7178 | drivers/scsi/advansys.c | scsiq->q_status |= QS_ABORTED; |
scsiq | 7179 | drivers/scsi/advansys.c | scsiq->d3.done_stat = QD_ABORTED_BY_HOST; |
scsiq | 7187 | drivers/scsi/advansys.c | scsiq->q_status); |
scsiq | 7188 | drivers/scsi/advansys.c | (*asc_isr_callback) (asc_dvc, scsiq); |
scsiq | 8423 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 8438 | drivers/scsi/advansys.c | tid_bits = scsiq->r1.target_id; |
scsiq | 8439 | drivers/scsi/advansys.c | lun = scsiq->r1.target_lun; |
scsiq | 8440 | drivers/scsi/advansys.c | tid_no = ASC_TIX_TO_TID(scsiq->r2.target_ix); |
scsiq | 8442 | drivers/scsi/advansys.c | (uchar dosfar *) scsiq->sense_ptr, |
scsiq | 8443 | drivers/scsi/advansys.c | (ulong) scsiq->r1.sense_len)) == 0L) { |
scsiq | 8446 | drivers/scsi/advansys.c | scsiq->r1.sense_addr = phy_addr; |
scsiq | 8454 | drivers/scsi/advansys.c | if (PollScsiInquiry(asc_dvc, scsiq, (uchar dosfar *) inq, |
scsiq | 8535 | drivers/scsi/advansys.c | if (InitTestUnitReady(asc_dvc, scsiq) != 1) { |
scsiq | 8540 | drivers/scsi/advansys.c | if (PollScsiReadCapacity(asc_dvc, scsiq, |
scsiq | 8561 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 8572 | drivers/scsi/advansys.c | (ASC_SCSI_Q dosfar *) scsiq)) == 1) { |
scsiq | 8574 | drivers/scsi/advansys.c | if ((status = AscPollQDone(asc_dvc, scsiq, |
scsiq | 8581 | drivers/scsi/advansys.c | scsiq->r3.done_stat = 0; |
scsiq | 8582 | drivers/scsi/advansys.c | scsiq->r3.host_stat = 0; |
scsiq | 8583 | drivers/scsi/advansys.c | scsiq->r3.scsi_stat = 0; |
scsiq | 8584 | drivers/scsi/advansys.c | scsiq->r3.scsi_msg = 0; |
scsiq | 8588 | drivers/scsi/advansys.c | scsiq->r3.done_stat = 0; |
scsiq | 8589 | drivers/scsi/advansys.c | scsiq->r3.host_stat = 0; |
scsiq | 8590 | drivers/scsi/advansys.c | scsiq->r3.scsi_stat = 0; |
scsiq | 8591 | drivers/scsi/advansys.c | scsiq->r3.scsi_msg = 0; |
scsiq | 8593 | drivers/scsi/advansys.c | (unsigned) scsiq); |
scsiq | 8595 | drivers/scsi/advansys.c | AscAbortSRB(asc_dvc, (ulong) scsiq); |
scsiq | 8597 | drivers/scsi/advansys.c | ASC_DBG1(3, "PollQueueDone: done_stat %x\n", scsiq->r3.done_stat); |
scsiq | 8598 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat); |
scsiq | 8602 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 8608 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 8613 | drivers/scsi/advansys.c | if (AscScsiInquiry(asc_dvc, scsiq, buf, buf_len) == ERR) { |
scsiq | 8614 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 8616 | drivers/scsi/advansys.c | return (PollQueueDone(asc_dvc, (ASC_SCSI_REQ_Q dosfar *) scsiq, 4)); |
scsiq | 8622 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 8629 | drivers/scsi/advansys.c | if (AscScsiReadCapacity(asc_dvc, scsiq, |
scsiq | 8631 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 8633 | drivers/scsi/advansys.c | status = PollQueueDone(asc_dvc, (ASC_SCSI_REQ_Q dosfar *) scsiq, 8); |
scsiq | 8642 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat); |
scsiq | 8644 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 8668 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq |
scsiq | 8671 | drivers/scsi/advansys.c | if (AscScsiTestUnitReady(asc_dvc, scsiq) == ERR) { |
scsiq | 8672 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 8674 | drivers/scsi/advansys.c | return (PollQueueDone(asc_dvc, (ASC_SCSI_REQ_Q dosfar *) scsiq, 12)); |
scsiq | 8680 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq |
scsiq | 8683 | drivers/scsi/advansys.c | if (AscScsiStartStopUnit(asc_dvc, scsiq, 1) == ERR) { |
scsiq | 8684 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 8686 | drivers/scsi/advansys.c | return (PollQueueDone(asc_dvc, (ASC_SCSI_REQ_Q dosfar *) scsiq, 40)); |
scsiq | 8692 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq |
scsiq | 8700 | drivers/scsi/advansys.c | tid_bits = scsiq->r1.target_id; |
scsiq | 8703 | drivers/scsi/advansys.c | PollScsiTestUnitReady(asc_dvc, scsiq); |
scsiq | 8704 | drivers/scsi/advansys.c | ASC_DBG1(3, "InitTestUnitReady: done_stat %x\n", scsiq->r3.done_stat); |
scsiq | 8705 | drivers/scsi/advansys.c | if (scsiq->r3.done_stat == 0x01) { |
scsiq | 8707 | drivers/scsi/advansys.c | } else if (scsiq->r3.done_stat == QD_WITH_ERROR) { |
scsiq | 8710 | drivers/scsi/advansys.c | sen = (ASC_REQ_SENSE dosfar *) scsiq->sense_ptr; |
scsiq | 8712 | drivers/scsi/advansys.c | if ((scsiq->r3.scsi_stat == SS_CHK_CONDITION) && |
scsiq | 8718 | drivers/scsi/advansys.c | if (PollScsiStartUnit(asc_dvc, scsiq) == 1) { |
scsiq | 8736 | drivers/scsi/advansys.c | } else if (scsiq->r3.done_stat == QD_ABORTED_BY_HOST) { |
scsiq | 8752 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 8768 | drivers/scsi/advansys.c | loop, asc_dvc->err_code, scsiq->r3.done_stat, scsiq->r3.scsi_stat); |
scsiq | 8770 | drivers/scsi/advansys.c | scsiq->r3.done_stat = QD_WITH_ERROR; |
scsiq | 8774 | drivers/scsi/advansys.c | if (scsiq->r3.done_stat != QD_IN_PROGRESS) { |
scsiq | 8775 | drivers/scsi/advansys.c | if ((scsiq->r3.done_stat == QD_WITH_ERROR) && |
scsiq | 8776 | drivers/scsi/advansys.c | (scsiq->r3.scsi_stat == SS_TARGET_BUSY)) { |
scsiq | 9027 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 9031 | drivers/scsi/advansys.c | if (AscScsiSetupCmdQ(asc_dvc, scsiq, buf, |
scsiq | 9033 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 9035 | drivers/scsi/advansys.c | scsiq->cdb[0] = (uchar) SCSICMD_Inquiry; |
scsiq | 9036 | drivers/scsi/advansys.c | scsiq->cdb[1] = scsiq->r1.target_lun << 5; |
scsiq | 9037 | drivers/scsi/advansys.c | scsiq->cdb[2] = 0; |
scsiq | 9038 | drivers/scsi/advansys.c | scsiq->cdb[3] = 0; |
scsiq | 9039 | drivers/scsi/advansys.c | scsiq->cdb[4] = buf_len; |
scsiq | 9040 | drivers/scsi/advansys.c | scsiq->cdb[5] = 0; |
scsiq | 9041 | drivers/scsi/advansys.c | scsiq->r2.cdb_len = 6; |
scsiq | 9048 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 9052 | drivers/scsi/advansys.c | if (AscScsiSetupCmdQ(asc_dvc, scsiq, info, 8L) == ERR) { |
scsiq | 9053 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 9055 | drivers/scsi/advansys.c | scsiq->cdb[0] = (uchar) SCSICMD_ReadCapacity; |
scsiq | 9056 | drivers/scsi/advansys.c | scsiq->cdb[1] = scsiq->r1.target_lun << 5; |
scsiq | 9057 | drivers/scsi/advansys.c | scsiq->cdb[2] = 0; |
scsiq | 9058 | drivers/scsi/advansys.c | scsiq->cdb[3] = 0; |
scsiq | 9059 | drivers/scsi/advansys.c | scsiq->cdb[4] = 0; |
scsiq | 9060 | drivers/scsi/advansys.c | scsiq->cdb[5] = 0; |
scsiq | 9061 | drivers/scsi/advansys.c | scsiq->cdb[6] = 0; |
scsiq | 9062 | drivers/scsi/advansys.c | scsiq->cdb[7] = 0; |
scsiq | 9063 | drivers/scsi/advansys.c | scsiq->cdb[8] = 0; |
scsiq | 9064 | drivers/scsi/advansys.c | scsiq->cdb[9] = 0; |
scsiq | 9065 | drivers/scsi/advansys.c | scsiq->r2.cdb_len = 10; |
scsiq | 9072 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq |
scsiq | 9075 | drivers/scsi/advansys.c | if (AscScsiSetupCmdQ(asc_dvc, scsiq, FNULLPTR, |
scsiq | 9077 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 9079 | drivers/scsi/advansys.c | scsiq->r1.cntl = (uchar) ASC_SCSIDIR_NODATA; |
scsiq | 9080 | drivers/scsi/advansys.c | scsiq->cdb[0] = (uchar) SCSICMD_TestUnitReady; |
scsiq | 9081 | drivers/scsi/advansys.c | scsiq->cdb[1] = scsiq->r1.target_lun << 5; |
scsiq | 9082 | drivers/scsi/advansys.c | scsiq->cdb[2] = 0; |
scsiq | 9083 | drivers/scsi/advansys.c | scsiq->cdb[3] = 0; |
scsiq | 9084 | drivers/scsi/advansys.c | scsiq->cdb[4] = 0; |
scsiq | 9085 | drivers/scsi/advansys.c | scsiq->cdb[5] = 0; |
scsiq | 9086 | drivers/scsi/advansys.c | scsiq->r2.cdb_len = 6; |
scsiq | 9093 | drivers/scsi/advansys.c | ASC_SCSI_REQ_Q dosfar * scsiq, |
scsiq | 9097 | drivers/scsi/advansys.c | if (AscScsiSetupCmdQ(asc_dvc, scsiq, FNULLPTR, (ulong) 0L) == ERR) { |
scsiq | 9098 | drivers/scsi/advansys.c | return (scsiq->r3.done_stat = QD_WITH_ERROR); |
scsiq | 9100 | drivers/scsi/advansys.c | scsiq->r1.cntl = (uchar) ASC_SCSIDIR_NODATA; |
scsiq | 9101 | drivers/scsi/advansys.c | scsiq->cdb[0] = (uchar) SCSICMD_StartStopUnit; |
scsiq | 9102 | drivers/scsi/advansys.c | scsiq->cdb[1] = scsiq->r1.target_lun << 5; |
scsiq | 9103 | drivers/scsi/advansys.c | scsiq->cdb[2] = 0; |
scsiq | 9104 | drivers/scsi/advansys.c | scsiq->cdb[3] = 0; |
scsiq | 9105 | drivers/scsi/advansys.c | scsiq->cdb[4] = op_mode; |
scsiq | 9107 | drivers/scsi/advansys.c | scsiq->cdb[5] = 0; |
scsiq | 9108 | drivers/scsi/advansys.c | scsiq->r2.cdb_len = 6; |