LCOV - code coverage report
Current view: top level - drivers/scsi - scsi_lib_dma.c (source / functions) Hit Total Coverage
Test: landlock.info Lines: 0 12 0.0 %
Date: 2021-04-22 12:43:58 Functions: 0 2 0.0 %

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

Generated by: LCOV version 1.14