LCOV - code coverage report
Current view: top level - lkbce/drivers/scsi - scsi_lib_dma.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 14 0.0 %
Date: 2017-01-25 Functions: 0 2 0.0 %

          Line data    Source code
       1             : /*
       2             :  * SCSI library functions depending on DMA
       3             :  */
       4             : 
       5             : #include <linux/blkdev.h>
       6             : #include <linux/device.h>
       7             : #include <linux/kernel.h>
       8             : 
       9             : #include <scsi/scsi.h>
      10             : #include <scsi/scsi_cmnd.h>
      11             : #include <scsi/scsi_device.h>
      12             : #include <scsi/scsi_host.h>
      13             : 
      14             : /**
      15             :  * scsi_dma_map - perform DMA mapping against command's sg lists
      16             :  * @cmd:        scsi command
      17             :  *
      18             :  * Returns the number of sg lists actually used, zero if the sg lists
      19             :  * is NULL, or -ENOMEM if the mapping failed.
      20             :  */
      21             : int scsi_dma_map(struct scsi_cmnd *cmd)
      22             : {
      23           0 :         int nseg = 0;
      24           0 : 
      25           0 :         if (scsi_sg_count(cmd)) {
      26           0 :                 struct device *dev = cmd->device->host->dma_dev;
      27           0 : 
      28           0 :                 nseg = dma_map_sg(dev, scsi_sglist(cmd), scsi_sg_count(cmd),
      29             :                                   cmd->sc_data_direction);
      30           0 :                 if (unlikely(!nseg))
      31           0 :                         return -ENOMEM;
      32             :         }
      33           0 :         return nseg;
      34             : }
      35             : EXPORT_SYMBOL(scsi_dma_map);
      36             : 
      37             : /**
      38             :  * scsi_dma_unmap - unmap command's sg lists mapped by scsi_dma_map
      39             :  * @cmd:        scsi command
      40             :  */
      41             : void scsi_dma_unmap(struct scsi_cmnd *cmd)
      42             : {
      43           0 :         if (scsi_sg_count(cmd)) {
      44           0 :                 struct device *dev = cmd->device->host->dma_dev;
      45           0 : 
      46           0 :                 dma_unmap_sg(dev, scsi_sglist(cmd), scsi_sg_count(cmd),
      47             :                              cmd->sc_data_direction);
      48           0 :         }
      49             : }
      50             : EXPORT_SYMBOL(scsi_dma_unmap);

Generated by: LCOV version 1.10