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

Lines Matching refs:scp

422  * @scp:		SCSI command from the mid-layer
429 megasas_make_sgl32(struct megasas_instance *instance, struct scsi_cmnd *scp,
439 if (!scp->request_buffer || !scp->request_bufflen)
442 if (!scp->use_sg) {
444 scp->
446 scp->
448 scp->
450 mfi_sgl->sge32[0].length = scp->request_bufflen;
455 os_sgl = (struct scatterlist *)scp->request_buffer;
456 sge_count = pci_map_sg(instance->pdev, os_sgl, scp->use_sg,
457 scp->sc_data_direction);
470 * @scp: SCSI command from the mid-layer
477 megasas_make_sgl64(struct megasas_instance *instance, struct scsi_cmnd *scp,
487 if (!scp->request_buffer || !scp->request_bufflen)
490 if (!scp->use_sg) {
492 scp->
494 scp->
496 scp->
499 mfi_sgl->sge64[0].length = scp->request_bufflen;
504 os_sgl = (struct scatterlist *)scp->request_buffer;
505 sge_count = pci_map_sg(instance->pdev, os_sgl, scp->use_sg,
506 scp->sc_data_direction);
559 * @scp: SCSI command
566 megasas_build_dcdb(struct megasas_instance *instance, struct scsi_cmnd *scp,
574 is_logical = MEGASAS_IS_LOGICAL(scp);
575 device_id = MEGASAS_DEV_INDEX(instance, scp);
578 if (scp->sc_data_direction == PCI_DMA_TODEVICE)
580 else if (scp->sc_data_direction == PCI_DMA_FROMDEVICE)
582 else if (scp->sc_data_direction == PCI_DMA_NONE)
592 pthru->lun = scp->device->lun;
593 pthru->cdb_len = scp->cmd_len;
596 pthru->data_xfer_len = scp->request_bufflen;
598 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len);
605 pthru->sge_count = megasas_make_sgl64(instance, scp,
608 pthru->sge_count = megasas_make_sgl32(instance, scp,
630 * @scp: SCSI command
636 megasas_build_ldio(struct megasas_instance *instance, struct scsi_cmnd *scp,
640 u8 sc = scp->cmnd[0];
644 device_id = MEGASAS_DEV_INDEX(instance, scp);
647 if (scp->sc_data_direction == PCI_DMA_TODEVICE)
649 else if (scp->sc_data_direction == PCI_DMA_FROMDEVICE)
664 ldio->access_byte = (scp->cmd_len != 6) ? scp->cmnd[1] : 0;
669 if (scp->cmd_len == 6) {
670 ldio->lba_count = (u32) scp->cmnd[4];
671 ldio->start_lba_lo = ((u32) scp->cmnd[1] << 16) |
672 ((u32) scp->cmnd[2] << 8) | (u32) scp->cmnd[3];
680 else if (scp->cmd_len == 10) {
681 ldio->lba_count = (u32) scp->cmnd[8] |
682 ((u32) scp->cmnd[7] << 8);
683 ldio->start_lba_lo = ((u32) scp->cmnd[2] << 24) |
684 ((u32) scp->cmnd[3] << 16) |
685 ((u32) scp->cmnd[4] << 8) | (u32) scp->cmnd[5];
691 else if (scp->cmd_len == 12) {
692 ldio->lba_count = ((u32) scp->cmnd[6] << 24) |
693 ((u32) scp->cmnd[7] << 16) |
694 ((u32) scp->cmnd[8] << 8) | (u32) scp->cmnd[9];
696 ldio->start_lba_lo = ((u32) scp->cmnd[2] << 24) |
697 ((u32) scp->cmnd[3] << 16) |
698 ((u32) scp->cmnd[4] << 8) | (u32) scp->cmnd[5];
704 else if (scp->cmd_len == 16) {
705 ldio->lba_count = ((u32) scp->cmnd[10] << 24) |
706 ((u32) scp->cmnd[11] << 16) |
707 ((u32) scp->cmnd[12] << 8) | (u32) scp->cmnd[13];
709 ldio->start_lba_lo = ((u32) scp->cmnd[6] << 24) |
710 ((u32) scp->cmnd[7] << 16) |
711 ((u32) scp->cmnd[8] << 8) | (u32) scp->cmnd[9];
713 ldio->start_lba_hi = ((u32) scp->cmnd[2] << 24) |
714 ((u32) scp->cmnd[3] << 16) |
715 ((u32) scp->cmnd[4] << 8) | (u32) scp->cmnd[5];
724 ldio->sge_count = megasas_make_sgl64(instance, scp, &ldio->sgl);
726 ldio->sge_count = megasas_make_sgl32(instance, scp, &ldio->sgl);