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 + -
显示快捷键?