scsi_lib_dma.c
来自「linux 内核源代码」· C语言 代码 · 共 51 行
C
51 行
/* * SCSI library functions depending on DMA */#include <linux/blkdev.h>#include <linux/device.h>#include <linux/kernel.h>#include <scsi/scsi.h>#include <scsi/scsi_cmnd.h>#include <scsi/scsi_device.h>#include <scsi/scsi_host.h>/** * scsi_dma_map - perform DMA mapping against command's sg lists * @cmd: scsi command * * Returns the number of sg lists actually used, zero if the sg lists * is NULL, or -ENOMEM if the mapping failed. */int scsi_dma_map(struct scsi_cmnd *cmd){ int nseg = 0; if (scsi_sg_count(cmd)) { struct device *dev = cmd->device->host->shost_gendev.parent; nseg = dma_map_sg(dev, scsi_sglist(cmd), scsi_sg_count(cmd), cmd->sc_data_direction); if (unlikely(!nseg)) return -ENOMEM; } return nseg;}EXPORT_SYMBOL(scsi_dma_map);/** * scsi_dma_unmap - unmap command's sg lists mapped by scsi_dma_map * @cmd: scsi command */void scsi_dma_unmap(struct scsi_cmnd *cmd){ if (scsi_sg_count(cmd)) { struct device *dev = cmd->device->host->shost_gendev.parent; dma_unmap_sg(dev, scsi_sglist(cmd), scsi_sg_count(cmd), cmd->sc_data_direction); }}EXPORT_SYMBOL(scsi_dma_unmap);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?