Lines Matching refs:p_sccb
814 static void FPT_sinits(struct sccb *p_sccb, unsigned char p_card);
3903 static void FPT_sinits(struct sccb *p_sccb, unsigned char p_card)
3907 if ((p_sccb->TargID >= MAX_SCSI_TAR) || (p_sccb->Lun >= MAX_LUN)) {
3910 currTar_Info = &FPT_sccbMgrTbl[p_card][p_sccb->TargID];
3912 p_sccb->Sccb_XferState = 0x00;
3913 p_sccb->Sccb_XferCnt = p_sccb->DataLength;
3915 if ((p_sccb->OperationCode == SCATTER_GATHER_COMMAND) ||
3916 (p_sccb->OperationCode == RESIDUAL_SG_COMMAND)) {
3918 p_sccb->Sccb_SGoffset = 0;
3919 p_sccb->Sccb_XferState = F_SG_XFER;
3920 p_sccb->Sccb_XferCnt = 0x00;
3923 if (p_sccb->DataLength == 0x00)
3925 p_sccb->Sccb_XferState |= F_ALL_XFERRED;
3927 if (p_sccb->ControlByte & F_USE_CMD_Q) {
3929 p_sccb->ControlByte &= ~F_USE_CMD_Q;
3946 p_sccb->Sccb_idmsg =
3947 (unsigned char)(SMIDENT | DISC_PRIV) | p_sccb->Lun;
3952 p_sccb->Sccb_idmsg = (unsigned char)SMIDENT | p_sccb->Lun;
3955 p_sccb->HostStatus = 0x00;
3956 p_sccb->TargetStatus = 0x00;
3957 p_sccb->Sccb_tag = 0x00;
3958 p_sccb->Sccb_MGRFlags = 0x00;
3959 p_sccb->Sccb_sgseg = 0x00;
3960 p_sccb->Sccb_ATC = 0x00;
3961 p_sccb->Sccb_savedATC = 0x00;
3963 p_sccb->SccbVirtDataPtr = 0x00;
3964 p_sccb->Sccb_forwardlink = NULL;
3965 p_sccb->Sccb_backlink = NULL;
3967 p_sccb->Sccb_scsistat = BUS_FREE_ST;
3968 p_sccb->SccbStatus = SCCB_IN_PROCESS;
3969 p_sccb->Sccb_scsimsg = SMNO_OP;
6861 struct sccb *p_sccb, unsigned char p_card)
6868 SCSIcmd = p_sccb->Cdb[0];
6870 if (!(p_sccb->Sccb_XferState & F_ALL_XFERRED)) {
6872 if ((p_sccb->
6874 && (p_sccb->HostStatus == SCCB_COMPLETE)
6875 && (p_sccb->TargetStatus != SSCHECK))
6885 p_sccb->HostStatus = SCCB_DATA_UNDER_RUN;
6888 if (p_sccb->SccbStatus == SCCB_IN_PROCESS) {
6889 if (p_sccb->HostStatus || p_sccb->TargetStatus)
6890 p_sccb->SccbStatus = SCCB_ERROR;
6892 p_sccb->SccbStatus = SCCB_SUCCESS;
6895 if (p_sccb->Sccb_XferState & F_AUTO_SENSE) {
6897 p_sccb->CdbLength = p_sccb->Save_CdbLen;
6899 p_sccb->Cdb[i] = p_sccb->Save_Cdb[i];
6903 if ((p_sccb->OperationCode == RESIDUAL_SG_COMMAND) ||
6904 (p_sccb->OperationCode == RESIDUAL_COMMAND)) {
6906 FPT_utilUpdateResidual(p_sccb);
6925 currTar_Info = &FPT_sccbMgrTbl[p_card][p_sccb->TargID];
6931 LunDiscQ_Idx[p_sccb->Lun]] = NULL;
6933 if (p_sccb->Sccb_tag) {
6935 pCurrCard->discQ_Tbl[p_sccb->Sccb_tag] = NULL;
6945 callback = (CALL_BK_FN) p_sccb->SccbCallback;
6946 callback(p_sccb);
6958 static void FPT_queueDisconnect(struct sccb *p_sccb, unsigned char p_card)
6962 currTar_Info = &FPT_sccbMgrTbl[p_card][p_sccb->TargID];
6967 LunDiscQ_Idx[p_sccb->Lun]] =
6968 p_sccb;
6970 if (p_sccb->Sccb_tag) {
6971 FPT_BL_Card[p_card].discQ_Tbl[p_sccb->Sccb_tag] =
6972 p_sccb;
6973 FPT_sccbMgrTbl[p_card][p_sccb->TargID].TarLUNBusy[0] =
6975 FPT_sccbMgrTbl[p_card][p_sccb->TargID].TarTagQ_Cnt++;
6978 LunDiscQ_Idx[0]] = p_sccb;