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
arch
mips
include
asm
mach-generic
dma-coherence.h
Go to the documentation of this file.
1
/*
2
* This file is subject to the terms and conditions of the GNU General Public
3
* License. See the file "COPYING" in the main directory of this archive
4
* for more details.
5
*
6
* Copyright (C) 2006 Ralf Baechle <
[email protected]
>
7
*
8
*/
9
#ifndef __ASM_MACH_GENERIC_DMA_COHERENCE_H
10
#define __ASM_MACH_GENERIC_DMA_COHERENCE_H
11
12
struct
device
;
13
14
static
inline
dma_addr_t
plat_map_dma_mem(
struct
device
*
dev
,
void
*
addr
,
15
size_t
size
)
16
{
17
return
virt_to_phys
(addr);
18
}
19
20
static
inline
dma_addr_t
plat_map_dma_mem_page(
struct
device
*
dev
,
21
struct
page
*
page
)
22
{
23
return
page_to_phys
(page);
24
}
25
26
static
inline
unsigned
long
plat_dma_addr_to_phys(
struct
device
*
dev
,
27
dma_addr_t
dma_addr
)
28
{
29
return
dma_addr
;
30
}
31
32
static
inline
void
plat_unmap_dma_mem(
struct
device
*
dev
,
dma_addr_t
dma_addr
,
33
size_t
size
,
enum
dma_data_direction
direction
)
34
{
35
}
36
37
static
inline
int
plat_dma_supported(
struct
device
*
dev
,
u64
mask
)
38
{
39
/*
40
* we fall back to GFP_DMA when the mask isn't all 1s,
41
* so we can't guarantee allocations that must be
42
* within a tighter range than GFP_DMA..
43
*/
44
if
(mask <
DMA_BIT_MASK
(24))
45
return
0;
46
47
return
1;
48
}
49
50
static
inline
void
plat_extra_sync_for_device(
struct
device
*dev)
51
{
52
}
53
54
static
inline
int
plat_dma_mapping_error(
struct
device
*dev,
55
dma_addr_t
dma_addr
)
56
{
57
return
0;
58
}
59
60
static
inline
int
plat_device_is_coherent(
struct
device
*dev)
61
{
62
#ifdef CONFIG_DMA_COHERENT
63
return
1;
64
#endif
65
#ifdef CONFIG_DMA_NONCOHERENT
66
return
0;
67
#endif
68
}
69
70
#endif
/* __ASM_MACH_GENERIC_DMA_COHERENCE_H */
Generated on Thu Jan 10 2013 13:09:45 for Linux Kernel by
1.8.2