Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
scsi
scsi_lib_dma.c
Go to the documentation of this file.
1
/*
2
* SCSI library functions depending on DMA
3
*/
4
5
#include <
linux/blkdev.h
>
6
#include <linux/device.h>
7
#include <linux/export.h>
8
#include <linux/kernel.h>
9
10
#include <scsi/scsi.h>
11
#include <
scsi/scsi_cmnd.h
>
12
#include <
scsi/scsi_device.h
>
13
#include <
scsi/scsi_host.h
>
14
22
int
scsi_dma_map
(
struct
scsi_cmnd
*
cmd
)
23
{
24
int
nseg = 0;
25
26
if
(scsi_sg_count(cmd)) {
27
struct
device
*
dev
= cmd->
device
->host->dma_dev;
28
29
nseg =
dma_map_sg
(dev, scsi_sglist(cmd), scsi_sg_count(cmd),
30
cmd->
sc_data_direction
);
31
if
(
unlikely
(!nseg))
32
return
-
ENOMEM
;
33
}
34
return
nseg;
35
}
36
EXPORT_SYMBOL
(
scsi_dma_map
);
37
42
void
scsi_dma_unmap
(
struct
scsi_cmnd
*
cmd
)
43
{
44
if
(scsi_sg_count(cmd)) {
45
struct
device
*
dev
= cmd->
device
->host->dma_dev;
46
47
dma_unmap_sg
(dev, scsi_sglist(cmd), scsi_sg_count(cmd),
48
cmd->
sc_data_direction
);
49
}
50
}
51
EXPORT_SYMBOL
(
scsi_dma_unmap
);
Generated on Thu Jan 10 2013 14:24:20 for Linux Kernel by
1.8.2