Lines Matching defs:scsiq

6052 	ADV_SCSI_REQ_Q *scsiq;
6110 scsiq = &reqp->scsi_req_q;
6118 scsiq->done_status = QD_NO_ERROR;
6119 scsiq->host_status = scsiq->scsi_status = 0;
6120 scsiq->data_cnt = 0L;
6139 scsiq->cntl = 0;
6145 adv_isr_callback(asc_dvc, scsiq);
6147 * Note: After the driver callback function is called, 'scsiq'
6624 ASC_QDONE_INFO *scsiq, unsigned int max_dma_count)
6631 (uchar *)scsiq,
6636 scsiq->q_status = (uchar)_val;
6637 scsiq->q_no = (uchar)(_val >> 8);
6640 scsiq->cntl = (uchar)_val;
6645 scsiq->sense_len = (uchar)_val;
6646 scsiq->extra_bytes = (uchar)(_val >> 8);
6651 scsiq->remain_bytes = (((u32)AscReadLramWord(iop_base,
6659 scsiq->remain_bytes += AscReadLramWord(iop_base,
6663 scsiq->remain_bytes &= max_dma_count;
6780 ASC_QDONE_INFO *scsiq;
6785 scsiq = (ASC_QDONE_INFO *)&scsiq_buf;
6793 sg_queue_cnt = _AscCopyLramScsiDoneQ(iop_base, q_addr, scsiq,
6798 (uchar)(scsiq->
6801 tid_no = ASC_TIX_TO_TID(scsiq->d2.target_ix);
6802 target_id = ASC_TIX_TO_TARGET_ID(scsiq->d2.target_ix);
6803 if ((scsiq->cntl & QC_SG_HEAD) != 0) {
6815 scsiq->d3.done_stat = QD_WITH_ERROR;
6816 scsiq->d3.host_stat =
6833 scsiq->d2.
6852 scsiq->d3.done_stat = QD_WITH_ERROR;
6855 if ((scsiq->d2.srb_tag == 0UL) ||
6856 ((scsiq->q_status & QS_ABORTED) != 0)) {
6858 } else if (scsiq->q_status == QS_DONE) {
6864 if (scsiq->extra_bytes != 0) {
6865 scsiq->remain_bytes += scsiq->extra_bytes;
6867 if (scsiq->d3.done_stat == QD_WITH_ERROR) {
6868 if (scsiq->d3.host_stat ==
6870 if ((scsiq->
6873 scsiq->d3.done_stat =
6875 scsiq->d3.host_stat =
6878 scsiq->d3.done_stat =
6880 scsiq->d3.host_stat =
6883 } else if (scsiq->d3.host_stat ==
6897 if ((scsiq->cntl & QC_NO_CALLBACK) == 0) {
6898 asc_isr_callback(asc_dvc, scsiq);
6905 if (scsiq->d3.done_stat != QD_NO_ERROR) {
6915 if ((scsiq->cntl & QC_NO_CALLBACK) == 0) {
6916 asc_isr_callback(asc_dvc, scsiq);
7871 static int AscPutReadyQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar q_no)
7881 if (((asc_dvc->init_sdtr & scsiq->q1.target_id) != 0) &&
7882 ((asc_dvc->sdtr_done & scsiq->q1.target_id) == 0)) {
7883 tid_no = ASC_TIX_TO_TID(scsiq->q2.target_ix);
7891 scsiq->q1.cntl |= QC_MSG_OUT;
7894 if ((scsiq->q1.target_id & asc_dvc->use_tagged_qng) == 0) {
7895 scsiq->q2.tag_code &= ~SIMPLE_QUEUE_TAG;
7897 scsiq->q1.status = QS_FREE;
7900 (uchar *)scsiq->cdbptr, scsiq->q2.cdb_len >> 1);
7904 (uchar *)&scsiq->q1.cntl,
7908 (ushort)(((ushort)scsiq->q1.
7914 AscPutReadySgListQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar q_no)
7930 sg_head = scsiq->sg_head;
7931 saved_data_addr = scsiq->q1.data_addr;
7932 saved_data_cnt = scsiq->q1.data_cnt;
7933 scsiq->q1.data_addr = cpu_to_le32(sg_head->sg_list[0].addr);
7934 scsiq->q1.data_cnt = cpu_to_le32(sg_head->sg_list[0].bytes);
7943 scsiq->q1.cntl |= QC_SG_HEAD;
7946 scsiq->q1.sg_queue_cnt = sg_head->queue_cnt;
7995 scsiq->next_sg_index = sg_index;
7998 scsiq->q1.cntl &= ~QC_SG_HEAD;
8000 sta = AscPutReadyQueue(asc_dvc, scsiq, q_no);
8001 scsiq->q1.data_addr = saved_data_addr;
8002 scsiq->q1.data_cnt = saved_data_cnt;
8007 AscSendScsiQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq, uchar n_q_required)
8017 target_ix = scsiq->q2.target_ix;
8026 scsiq->sg_head->queue_cnt = n_q_required - 1;
8027 scsiq->q1.q_no = free_q_head;
8028 sta = AscPutReadySgListQueue(asc_dvc, scsiq,
8034 scsiq->q1.q_no = free_q_head;
8035 sta = AscPutReadyQueue(asc_dvc, scsiq, free_q_head);
8066 static int AscExeScsiQueue(ASC_DVC_VAR *asc_dvc, ASC_SCSI_Q *scsiq)
8086 sg_head = scsiq->sg_head;
8089 scsiq->q1.q_no = 0;
8090 if ((scsiq->q2.tag_code & ASC_TAG_FLAG_EXTRA_BYTES) == 0) {
8091 scsiq->q1.extra_bytes = 0;
8094 target_ix = scsiq->q2.target_ix;
8097 if (scsiq->cdbptr[0] == REQUEST_SENSE) {
8098 if ((asc_dvc->init_sdtr & scsiq->q1.target_id) != 0) {
8099 asc_dvc->sdtr_done &= ~scsiq->q1.target_id;
8109 scsiq->q1.cntl |= (QC_MSG_OUT | QC_URGENT);
8117 if ((scsiq->q1.cntl & QC_SG_HEAD) != 0) {
8127 scsiq->q1.data_addr = cpu_to_le32(sg_head->sg_list[0].addr);
8128 scsiq->q1.data_cnt = cpu_to_le32(sg_head->sg_list[0].bytes);
8129 scsiq->q1.cntl &= ~(QC_SG_HEAD | QC_SG_SWAP_QUEUE);
8133 scsi_cmd = scsiq->cdbptr[0];
8135 if ((asc_dvc->pci_fix_asyn_xfer & scsiq->q1.target_id) &&
8136 !(asc_dvc->pci_fix_asyn_xfer_always & scsiq->q1.target_id)) {
8137 if (scsiq->q1.cntl & QC_SG_HEAD) {
8144 data_cnt = le32_to_cpu(scsiq->q1.data_cnt);
8167 scsiq->q2.tag_code &= ~SIMPLE_QUEUE_TAG;
8168 scsiq->q2.tag_code |= (ASC_TAG_FLAG_DISABLE_ASYN_USE_SYN_FIX |
8171 scsiq->q2.tag_code &= 0x27;
8173 if ((scsiq->q1.cntl & QC_SG_HEAD) != 0) {
8190 ((scsiq->q2.
8194 scsiq->q2.tag_code |=
8196 scsiq->q1.extra_bytes =
8217 || ((scsiq->q1.cntl & QC_URGENT) != 0)) {
8219 AscSendScsiQueue(asc_dvc, scsiq,
8231 le32_to_cpu(scsiq->q1.data_addr) +
8232 le32_to_cpu(scsiq->q1.data_cnt);
8237 ((scsiq->q2.
8242 le32_to_cpu(scsiq->q1.
8246 scsiq->q2.tag_code |=
8249 scsiq->q1.data_cnt =
8252 scsiq->q1.extra_bytes =
8261 ((scsiq->q1.cntl & QC_URGENT) != 0)) {
8262 if ((sta = AscSendScsiQueue(asc_dvc, scsiq,
8298 ADV_SCSI_REQ_Q *scsiq = &reqp->scsi_req_q;
8303 if (scsiq->target_id > ADV_MAX_TID) {
8304 scsiq->host_status = QHSTA_M_INVALID_DEVICE;
8305 scsiq->done_status = QD_WITH_ERROR;
8324 scsiq->scsiq_ptr = cpu_to_le32(scsiq->srb_tag);
8325 scsiq->scsiq_rptr = cpu_to_le32(reqp->req_addr);
8327 scsiq->carr_va = asc_dvc->icq_sp->carr_va;
8328 scsiq->carr_pa = asc_dvc->icq_sp->carr_pa;
8335 asc_dvc->icq_sp->areq_vpa = scsiq->scsiq_rptr;