• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/

Lines Matching defs:currSCCB

866 static void FPT_hostDataXferRestart(struct sccb *currSCCB);
1744 struct sccb *currSCCB;
1768 currSCCB = ((struct sccb_card *)pCurrCard)->currentSCCB;
1826 currSCCB->Sccb_XferState |= F_NO_DATA_YET;
1828 currSCCB->Sccb_savedATC = currSCCB->Sccb_ATC;
1831 currSCCB->Sccb_scsistat = DISCONNECT_ST;
1832 FPT_queueDisconnect(currSCCB, thisCard);
1881 currSCCB->Sccb_XferState |=
1883 currSCCB->Sccb_savedATC =
1884 currSCCB->Sccb_ATC;
1889 currSCCB->Sccb_scsistat = DISCONNECT_ST;
1890 FPT_queueDisconnect(currSCCB, thisCard);
1949 currSCCB);
2326 struct sccb *currSCCB;
2331 currSCCB = CurrCard->currentSCCB;
2332 target = currSCCB->TargID;
2339 currSCCB->ControlByte &= ~F_USE_CMD_Q;
2344 lun = currSCCB->Lun;
2349 if (!(currSCCB->ControlByte & F_USE_CMD_Q)) {
2392 || (!(currSCCB->ControlByte & F_USE_CMD_Q)))) {
2405 CurrCard->discQ_Tbl[lastTag] = currSCCB;
2423 if (currSCCB->OperationCode == RESET_COMMAND) {
2425 (currSCCB->
2430 currSCCB->Sccb_scsimsg = SMDEV_RESET;
2434 currSCCB->Sccb_scsistat = SELECT_BDR_ST;
2450 else if (currSCCB->Sccb_scsistat == ABORT_ST) {
2452 (currSCCB->
2459 char)(currSCCB->
2465 (MPM_OP + AMSG_OUT + currSCCB->Sccb_tag));
2475 currSCCB->Sccb_scsistat = SELECT_WN_ST;
2481 currSCCB->Sccb_scsistat = SELECT_SN_ST;
2486 if (currSCCB->ControlByte & F_USE_CMD_Q) {
2492 currSCCB->ControlByte &= ~F_USE_CMD_Q;
2501 currSCCB->Sccb_idmsg));
2508 currSCCB->Sccb_scsistat = SELECT_ST;
2516 currSCCB->Sccb_idmsg));
2520 (((unsigned char)(currSCCB->
2535 currSCCB->Sccb_tag = lastTag;
2537 currSCCB;
2550 currSCCB->Sccb_scsistat = SELECT_Q_ST;
2563 (MPM_OP + AMSG_OUT + currSCCB->Sccb_idmsg));
2565 currSCCB->Sccb_scsistat = SELECT_ST;
2571 theCCB = (unsigned char *)&currSCCB->Cdb[0];
2575 for (i = 0; i < currSCCB->CdbLength; i++) {
2581 if (currSCCB->CdbLength != TWELVE_BYTE_CMD)
2593 if (!(currSCCB->Sccb_MGRFlags & F_DEV_SELECTED)) {
2625 struct sccb *currSCCB;
2634 currSCCB = pCurrCard->currentSCCB;
2635 if (currSCCB->Sccb_scsistat == SELECT_WN_ST) {
2637 currSCCB->Sccb_scsistat = BUS_FREE_ST;
2639 if (currSCCB->Sccb_scsistat == SELECT_SN_ST) {
2641 currSCCB->Sccb_scsistat = BUS_FREE_ST;
2646 currTar_Info->TarLUNBusy[currSCCB->Lun] = 0;
2647 if (currSCCB->Sccb_scsistat != ABORT_ST) {
2650 LunDiscQ_Idx[currSCCB->
2656 if (currSCCB->Sccb_tag) {
2657 if (currSCCB->Sccb_scsistat != ABORT_ST) {
2659 pCurrCard->discQ_Tbl[currSCCB->
2663 if (currSCCB->Sccb_scsistat != ABORT_ST) {
2904 struct sccb *currSCCB;
2909 currSCCB = CurrCard->currentSCCB;
2911 currTar_Info = &FPT_sccbMgrTbl[p_card][currSCCB->TargID];
2914 if (!(currSCCB->Sccb_XferState & F_NO_DATA_YET)) {
2915 currSCCB->Sccb_ATC = currSCCB->Sccb_savedATC;
2917 FPT_hostDataXferRestart(currSCCB);
2927 if (currSCCB->Sccb_scsistat == SELECT_Q_ST) {
2947 if ((currSCCB->Sccb_scsistat == SELECT_SN_ST) ||
2948 (currSCCB->Sccb_scsistat == SELECT_WN_ST) ||
2962 if (currSCCB->Lun == 0x00) {
2963 if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
2972 else if ((currSCCB->Sccb_scsistat ==
2993 currSCCB->ControlByte &= ~F_USE_CMD_Q;
2995 CurrCard->discQ_Tbl[currSCCB->
2997 currSCCB->Sccb_tag = 0x00;
3004 if (currSCCB->Lun == 0x00) {
3017 currTar_Info->TarLUNBusy[currSCCB->
3022 currSCCB->ControlByte &=
3049 FPT_shandem(port, p_card, currSCCB);
3056 message = FPT_sfm(port, currSCCB);
3058 if (currSCCB->Sccb_scsimsg != SMPARITY)
3066 currSCCB->HostStatus = SCCB_PHASE_SEQUENCE_FAIL;
3067 currSCCB->Sccb_scsimsg = SMREJECT;
3153 struct sccb *currSCCB;
3156 currSCCB = FPT_BL_Card[p_card].currentSCCB;
3157 currTar_Info = &FPT_sccbMgrTbl[p_card][currSCCB->TargID];
3163 (currSCCB->
3234 struct sccb *currSCCB;
3237 currSCCB = FPT_BL_Card[p_card].currentSCCB;
3238 currTar_Info = &FPT_sccbMgrTbl[p_card][currSCCB->TargID];
3240 sync_msg = FPT_sfm(port, currSCCB);
3242 if ((sync_msg == 0x00) && (currSCCB->Sccb_scsimsg == SMPARITY)) {
3250 offset = FPT_sfm(port, currSCCB);
3252 if ((offset == 0x00) && (currSCCB->Sccb_scsimsg == SMPARITY)) {
3327 FPT_sssyncv(port, currSCCB->TargID, sync_reg, currTar_Info);
3329 if (currSCCB->Sccb_scsistat == SELECT_SN_ST) {
3393 struct sccb *currSCCB;
3396 currSCCB = FPT_BL_Card[p_card].currentSCCB;
3397 currTar_Info = &FPT_sccbMgrTbl[p_card][currSCCB->TargID];
3403 (currSCCB->
3449 struct sccb *currSCCB;
3452 currSCCB = FPT_BL_Card[p_card].currentSCCB;
3453 currTar_Info = &FPT_sccbMgrTbl[p_card][currSCCB->TargID];
3455 width = FPT_sfm(port, currSCCB);
3457 if ((width == 0x00) && (currSCCB->Sccb_scsimsg == SMPARITY)) {
3474 FPT_sssyncv(port, currSCCB->TargID, width, currTar_Info);
3476 if (currSCCB->Sccb_scsistat == SELECT_WN_ST) {
3486 currSCCB->Sccb_scsistat = SELECT_SN_ST;
3691 struct sccb *currSCCB;
3693 currSCCB = pCurrCard->currentSCCB;
3695 currSCCB->Save_CdbLen = currSCCB->CdbLength;
3699 currSCCB->Save_Cdb[i] = currSCCB->Cdb[i];
3702 currSCCB->CdbLength = SIX_BYTE_CMD;
3703 currSCCB->Cdb[0] = SCSI_REQUEST_SENSE;
3704 currSCCB->Cdb[1] = currSCCB->Cdb[1] & (unsigned char)0xE0; /*Keep LUN. */
3705 currSCCB->Cdb[2] = 0x00;
3706 currSCCB->Cdb[3] = 0x00;
3707 currSCCB->Cdb[4] = currSCCB->RequestSenseLength;
3708 currSCCB->Cdb[5] = 0x00;
3710 currSCCB->Sccb_XferCnt = (unsigned long)currSCCB->RequestSenseLength;
3712 currSCCB->Sccb_ATC = 0x00;
3714 currSCCB->Sccb_XferState |= F_AUTO_SENSE;
3716 currSCCB->Sccb_XferState &= ~F_SG_XFER;
3718 currSCCB->Sccb_idmsg = currSCCB->Sccb_idmsg & ~(unsigned char)DISC_PRIV;
3720 currSCCB->ControlByte = 0x00;
3722 currSCCB->Sccb_MGRFlags &= F_STATUSLOADED;
3821 struct sccb *currSCCB;
3823 currSCCB = FPT_BL_Card[p_card].currentSCCB;
3825 if ((currSCCB->Sccb_scsistat != DATA_OUT_ST) &&
3826 (currSCCB->Sccb_scsistat != DATA_IN_ST)) {
3830 if (currSCCB->Sccb_XferState & F_ODD_BALL_CNT) {
3832 currSCCB->Sccb_ATC += (currSCCB->Sccb_XferCnt - 1);
3834 currSCCB->Sccb_XferCnt = 1;
3836 currSCCB->Sccb_XferState &= ~F_ODD_BALL_CNT;
3843 currSCCB->Sccb_ATC += currSCCB->Sccb_XferCnt;
3845 currSCCB->Sccb_XferCnt = 0;
3849 (currSCCB->HostStatus == SCCB_COMPLETE)) {
3851 currSCCB->HostStatus = SCCB_PARITY_ERR;
3855 FPT_hostDataXferAbort(port, p_card, currSCCB);
3885 if (!(currSCCB->Sccb_XferState & F_ALL_XFERRED)) {
3886 if (currSCCB->Sccb_XferState & F_HOST_XFER_DIR) {
4021 struct sccb *currSCCB;
4023 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4024 if (currSCCB == NULL) {
4028 currSCCB->Sccb_scsistat = DATA_OUT_ST;
4029 currSCCB->Sccb_XferState &= ~(F_HOST_XFER_DIR | F_NO_DATA_YET);
4039 if (currSCCB->Sccb_XferCnt == 0) {
4041 if ((currSCCB->ControlByte & SCCB_DATA_XFER_OUT) &&
4042 (currSCCB->HostStatus == SCCB_COMPLETE))
4043 currSCCB->HostStatus = SCCB_DATA_OVER_RUN;
4062 struct sccb *currSCCB;
4064 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4066 if (currSCCB == NULL) {
4070 currSCCB->Sccb_scsistat = DATA_IN_ST;
4071 currSCCB->Sccb_XferState |= F_HOST_XFER_DIR;
4072 currSCCB->Sccb_XferState &= ~F_NO_DATA_YET;
4082 if (currSCCB->Sccb_XferCnt == 0) {
4084 if ((currSCCB->ControlByte & SCCB_DATA_XFER_IN) &&
4085 (currSCCB->HostStatus == SCCB_COMPLETE))
4086 currSCCB->HostStatus = SCCB_DATA_OVER_RUN;
4105 struct sccb *currSCCB;
4109 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4111 if (currSCCB->OperationCode == RESET_COMMAND) {
4113 currSCCB->HostStatus = SCCB_PHASE_SEQUENCE_FAIL;
4114 currSCCB->CdbLength = SIX_BYTE_CMD;
4123 for (i = 0; i < currSCCB->CdbLength; i++) {
4125 if (currSCCB->OperationCode == RESET_COMMAND)
4131 (MPM_OP + ACOMMAND + currSCCB->Cdb[i]));
4135 if (currSCCB->CdbLength != TWELVE_BYTE_CMD)
4140 currSCCB->Sccb_scsistat = COMMAND_ST;
4178 struct sccb *currSCCB;
4181 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4183 if (currSCCB != NULL) {
4185 message = currSCCB->Sccb_scsimsg;
4186 scsiID = currSCCB->TargID;
4211 } else if (currSCCB->Sccb_scsistat == ABORT_ST) {
4212 currSCCB->HostStatus = SCCB_COMPLETE;
4213 if (FPT_BL_Card[p_card].discQ_Tbl[currSCCB->Sccb_tag] !=
4215 FPT_BL_Card[p_card].discQ_Tbl[currSCCB->
4222 else if (currSCCB->Sccb_scsistat < COMMAND_ST) {
4225 currSCCB->Sccb_MGRFlags |= F_DEV_SELECTED;
4262 if (currSCCB != NULL) {
4267 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4270 FPT_sccbMgrTbl[p_card][currSCCB->
4272 TarLUNBusy[currSCCB->Lun] = 0;
4274 FPT_sccbMgrTbl[p_card][currSCCB->
4279 currSCCB, p_card);
4297 currSCCB->Sccb_scsimsg = SMNO_OP;
4317 struct sccb *currSCCB;
4319 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4336 message = FPT_sfm(port, currSCCB);
4342 if (currSCCB->Sccb_scsimsg != SMPARITY)
4363 struct sccb *currSCCB;
4365 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4368 if (currSCCB != NULL) {
4370 currSCCB->HostStatus = SCCB_PHASE_SEQUENCE_FAIL;
4371 currSCCB->Sccb_scsistat = ABORT_ST;
4372 currSCCB->Sccb_scsimsg = SMABORT;
4390 struct sccb *currSCCB;
4392 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4394 if (currSCCB->Sccb_scsistat == DATA_IN_ST) {
4401 currSCCB->Sccb_ATC += currSCCB->Sccb_XferCnt;
4403 currSCCB->Sccb_XferCnt = 0;
4406 (currSCCB->HostStatus == SCCB_COMPLETE)) {
4407 currSCCB->HostStatus = SCCB_PARITY_ERR;
4411 FPT_hostDataXferAbort(port, p_card, currSCCB);
4430 currSCCB->Sccb_ATC += (currSCCB->Sccb_XferCnt - xfercnt);
4432 currSCCB->Sccb_XferCnt = xfercnt;
4435 (currSCCB->HostStatus == SCCB_COMPLETE)) {
4437 currSCCB->HostStatus = SCCB_PARITY_ERR;
4441 FPT_hostDataXferAbort(port, p_card, currSCCB);
4460 struct sccb *currSCCB;
4462 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4464 if (currSCCB != NULL) {
4468 if (currSCCB->OperationCode == RESET_COMMAND) {
4471 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4473 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4474 TarLUNBusy[currSCCB->Lun] = 0;
4476 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4479 FPT_queueCmdComplete(&FPT_BL_Card[p_card], currSCCB,
4486 else if (currSCCB->Sccb_scsistat == SELECT_SN_ST) {
4487 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarStatus |=
4489 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarEEValue &=
4493 else if (currSCCB->Sccb_scsistat == SELECT_WN_ST) {
4494 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarStatus =
4495 (FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4498 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarEEValue &=
4502 else if (currSCCB->Sccb_scsistat == SELECT_Q_ST) {
4509 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4511 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4522 currSCCB->Sccb_scsistat = BUS_FREE_ST;
4524 if (!currSCCB->HostStatus) {
4525 currSCCB->HostStatus = SCCB_PHASE_SEQUENCE_FAIL;
4529 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4531 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4532 TarLUNBusy[currSCCB->Lun] = 0;
4534 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4537 FPT_queueCmdComplete(&FPT_BL_Card[p_card], currSCCB,
4662 struct sccb *currSCCB;
4665 currSCCB = FPT_BL_Card[p_card].currentSCCB;
4669 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarLUN_CA = 0;
4676 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4678 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4679 TarLUNBusy[currSCCB->Lun] = 1;
4684 [currSCCB->TargID].
4685 LunDiscQ_Idx[currSCCB->Lun]] =
4688 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4690 if (currSCCB->Sccb_tag) {
4694 FPT_BL_Card[p_card].discQ_Tbl[currSCCB->
4703 [currSCCB->TargID].
4708 currSCCB->Sccb_MGRFlags |= F_STATUSLOADED;
4715 if (currSCCB->Sccb_scsistat == SELECT_SN_ST) {
4716 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarStatus |=
4719 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarEEValue &=
4724 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4726 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4727 TarLUNBusy[currSCCB->Lun] = 1;
4732 [currSCCB->TargID].
4733 LunDiscQ_Idx[currSCCB->Lun]] =
4736 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4738 if (currSCCB->Sccb_tag) {
4742 FPT_BL_Card[p_card].discQ_Tbl[currSCCB->
4751 [currSCCB->TargID].
4759 if (currSCCB->Sccb_scsistat == SELECT_WN_ST) {
4761 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarStatus =
4762 (FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4765 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarEEValue &=
4770 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4772 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4773 TarLUNBusy[currSCCB->Lun] = 1;
4778 [currSCCB->TargID].
4779 LunDiscQ_Idx[currSCCB->Lun]] =
4782 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4784 if (currSCCB->Sccb_tag) {
4788 FPT_BL_Card[p_card].discQ_Tbl[currSCCB->
4797 [currSCCB->TargID].
4807 if (FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4809 FPT_sccbMgrTbl[p_card][currSCCB->
4813 if (FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4815 FPT_sccbMgrTbl[p_card][currSCCB->
4822 if (!(currSCCB->Sccb_XferState & F_AUTO_SENSE)) {
4824 currSCCB->SccbStatus = SCCB_ERROR;
4825 currSCCB->TargetStatus = status_byte;
4829 FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4832 if (currSCCB->RequestSenseLength !=
4835 if (currSCCB->RequestSenseLength == 0)
4836 currSCCB->RequestSenseLength =
4847 [currSCCB->TargID].
4851 [currSCCB->TargID].
4852 TarLUNBusy[currSCCB->Lun] =
4861 [currSCCB->
4864 [currSCCB->Lun]] =
4868 [currSCCB->TargID].
4870 if (currSCCB->Sccb_tag) {
4877 discQ_Tbl[currSCCB->
4889 [p_card][currSCCB->
4902 ((FPT_sccbMgrTbl[p_card][currSCCB->TargID].
4904 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarLUNBusy[currSCCB->
4907 FPT_sccbMgrTbl[p_card][currSCCB->TargID].TarLUNBusy[0] = 0;
4909 FPT_queueCmdComplete(&FPT_BL_Card[p_card], currSCCB, p_card);
4936 struct sccb *currSCCB;
4938 currSCCB = pCurrCard->currentSCCB;
4940 if (currSCCB->Sccb_XferState & F_SG_XFER) {
4943 currSCCB->Sccb_sgseg += (unsigned char)SG_BUF_CNT;
4944 currSCCB->Sccb_SGoffset = 0x00;
4948 FPT_busMstrSGDataXferStart(port, currSCCB);
4955 FPT_busMstrDataXferStart(port, currSCCB);
5447 static void FPT_hostDataXferRestart(struct sccb *currSCCB)
5453 if (currSCCB->Sccb_XferState & F_SG_XFER) {
5455 currSCCB->Sccb_XferCnt = 0;
5460 sg_ptr = (unsigned long *)currSCCB->DataPointer;
5462 while (data_count < currSCCB->Sccb_ATC) {
5468 if (data_count == currSCCB->Sccb_ATC) {
5470 currSCCB->Sccb_SGoffset = 0;
5475 currSCCB->Sccb_SGoffset =
5476 data_count - currSCCB->Sccb_ATC;
5479 currSCCB->Sccb_sgseg = (unsigned short)sg_index;
5483 currSCCB->Sccb_XferCnt =
5484 currSCCB->DataLength - currSCCB->Sccb_ATC;
7038 struct sccb *currSCCB;
7041 currSCCB = FPT_BL_Card[p_card].currentSCCB;
7042 if (currSCCB != NULL) {
7043 thisTarg = (unsigned char)currSCCB->TargID;