• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/fc4/

Lines Matching refs:fcmd

78 static void fcp_scsi_insert_queue (fc_channel *fc, fcp_cmnd *fcmd)
81 fc->scsi_que = fcmd;
82 fcmd->next = fcmd;
83 fcmd->prev = fcmd;
85 fc->scsi_que->prev->next = fcmd;
86 fcmd->prev = fc->scsi_que->prev;
87 fc->scsi_que->prev = fcmd;
88 fcmd->next = fc->scsi_que;
92 static void fcp_scsi_remove_queue (fc_channel *fc, fcp_cmnd *fcmd)
94 if (fcmd == fcmd->next) {
98 if (fcmd == fc->scsi_que)
99 fc->scsi_que = fcmd->next;
100 fcmd->prev->next = fcmd->next;
101 fcmd->next->prev = fcmd->prev;
148 fcp_cmnd *fcmd;
163 fcmd = l->fcmds + i;
165 dma_unmap_single (fc->dev, fcmd->cmd, 3 * sizeof(logi),
172 fch = &fcmd->fch;
173 fcmd->token += l->count;
186 fcmd->cmd = dma_map_single (fc->dev, plogi, 3 * sizeof(logi),
188 fcmd->rsp = fcmd->cmd + 2 * sizeof(logi);
189 if (fc->hw_enque (fc, fcmd))
245 fcp_cmnd *fcmd;
300 fcmd = l->fcmds + i;
301 dma_unmap_single(fc->dev, fcmd->cmd, 3 * sizeof(logi),
303 fch = &fcmd->fch;
312 fcmd->cmd = dma_map_single (fc->dev, l->logi + 3 * i, 3 * sizeof(logi),
314 fcmd->rsp = fcmd->cmd + sizeof(logi);
315 fcmd->cmdlen = sizeof(logi);
316 fcmd->rsplen = sizeof(logi);
317 fcmd->data = (dma_addr_t)NULL;
318 fcmd->class = FC_CLASS_SIMPLE;
319 fcmd->proto = TYPE_EXTENDED_LS;
320 if (fc->hw_enque (fc, fcmd))
373 fcp_cmnd *fcmd;
380 fcmd = fc->cmd_slots[token];
381 if (!fcmd) return;
383 SCpnt = SC_FCMND(fcmd);
418 if (fcmd->data) {
424 dma_unmap_single(fc->dev, fcmd->data, SCpnt->request_bufflen,
443 SCpnt->done = fcmd->done;
444 fcmd->done=NULL;
478 fcp_cmnd *fcmd;
480 fcmd = fc->cmd_slots[token];
481 if (fcmd && fcmd->ls && ((ls *)(fcmd->ls))->magic == LSEMAGIC) {
482 lse *l = (lse *)fcmd->ls;
522 fcp_cmnd *fcmd;
558 fcmd = l->fcmds + i;
559 fc->login = fcmd;
562 fcmd->cmd = dma_map_single (fc->dev, l->logi + 3 * i, 3 * sizeof(logi),
564 fcmd->proto = PROTO_REPORT_AL_MAP;
565 fcmd->token = i;
566 fcmd->fc = fc;
598 fcmd = l->fcmds + i;
599 dma_unmap_single(fc->dev, fcmd->cmd, 3 * sizeof(logi), DMA_BIDIRECTIONAL);
600 fch = &fcmd->fch;
608 fcmd->cmd = dma_map_single (fc->dev, l->logi + 3 * i, 3 * sizeof(logi), DMA_BIDIRECTIONAL);
609 fcmd->rsp = fcmd->cmd + sizeof(logi);
610 fcmd->cmdlen = sizeof(logi);
611 fcmd->rsplen = sizeof(logi);
612 fcmd->data = (dma_addr_t)NULL;
613 fcmd->class = FC_CLASS_SIMPLE;
614 fcmd->proto = TYPE_EXTENDED_LS;
650 fcp_cmnd *fcmd;
671 fcmd = l.fcmds + i;
672 fc->login = fcmd;
674 fcmd->did = fc->did;
675 fcmd->class = FC_CLASS_OFFLINE;
676 fcmd->proto = PROTO_OFFLINE;
677 fcmd->token = i;
678 fcmd->fc = fc;
755 fcp_cmnd *fcmd, int prepare)
763 fcmd->token = i;
766 if (fc->encode_addr (SCpnt, cmd->fcp_addr, fc, fcmd)) {
774 fc->cmd_slots[fcmd->token] = fcmd;
786 fcmd->data = (dma_addr_t)NULL;
798 fcmd->data = dma_map_single (fc->dev, (char *)SCpnt->request_buffer,
809 fcmd->data = sg_dma_address(sg);
817 FCD(("Trying to enque %p\n", fcmd))
819 if (!fc->hw_enque (fc, fcmd)) {
820 FCD(("hw_enque succeeded for %p\n", fcmd))
824 FCD(("Putting into que1 %p\n", fcmd))
825 fcp_scsi_insert_queue (fc, fcmd);
832 fcp_cmnd *fcmd = FCP_CMND(SCpnt);
835 FCD(("Entering SCSI queuecommand %p\n", fcmd))
837 fcmd->done = SCpnt->done;
840 fcmd->proto = TYPE_SCSI_FCP;
848 return fcp_scsi_queue_it(fc, SCpnt, fcmd, 1);
850 return fcp_scsi_queue_it(fc, SCpnt, fcmd, 0);
855 fcp_cmnd *fcmd;
858 while ((fcmd = fc->scsi_que)) {
860 if (fc->hw_enque (fc, fcmd))
862 fcp_scsi_remove_queue (fc, fcmd);
869 fcp_cmnd *fcmd = FCP_CMND(SCpnt);
893 fcmd->done(SCpnt);
913 fcp_cmnd *fcmd = FCP_CMND(SCpnt);
921 fcmd->done(SCpnt);
943 static int fcp_els_queue_it(fc_channel *fc, fcp_cmnd *fcmd)
949 fcmd->token = i;
951 fc->cmd_slots[fcmd->token] = fcmd;
952 return fcp_scsi_queue_it(fc, NULL, fcmd, 0);
957 fcp_cmnd _fcmd, *fcmd;
962 fcmd = &_fcmd;
963 memset(fcmd, 0, sizeof(fcp_cmnd));
965 fch = &fcmd->fch;
972 fcmd->cmd = dma_map_single (fc->dev, data, 2 * len, DMA_BIDIRECTIONAL);
973 fcmd->rsp = fcmd->cmd + len;
974 fcmd->cmdlen = len;
975 fcmd->rsplen = len;
976 fcmd->data = (dma_addr_t)NULL;
977 fcmd->fc = fc;
978 fcmd->class = FC_CLASS_SIMPLE;
979 fcmd->proto = TYPE_EXTENDED_LS;
987 fcmd->ls = (void *)&l;
990 fcp_els_queue_it(fc, fcmd);
1001 fcp_scsi_queue_it(fc, NULL, fcmd, 0);
1005 clear_bit(fcmd->token, fc->scsi_bitmap);
1007 dma_unmap_single (fc->dev, fcmd->cmd, 2 * len, DMA_BIDIRECTIONAL);