Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
[deliverable/linux.git] / include / drm / drm_agpsupport.h
1 #ifndef _DRM_AGPSUPPORT_H_
2 #define _DRM_AGPSUPPORT_H_
3
4 #include <linux/kernel.h>
5 #include <linux/mm.h>
6 #include <linux/mutex.h>
7 #include <linux/types.h>
8 #include <linux/agp_backend.h>
9 #include <drm/drmP.h>
10
11 #if __OS_HAS_AGP
12
13 void drm_free_agp(struct agp_memory * handle, int pages);
14 int drm_bind_agp(struct agp_memory * handle, unsigned int start);
15 int drm_unbind_agp(struct agp_memory * handle);
16 struct agp_memory *drm_agp_bind_pages(struct drm_device *dev,
17 struct page **pages,
18 unsigned long num_pages,
19 uint32_t gtt_offset,
20 uint32_t type);
21
22 struct drm_agp_head *drm_agp_init(struct drm_device *dev);
23 void drm_agp_clear(struct drm_device *dev);
24 int drm_agp_acquire(struct drm_device *dev);
25 int drm_agp_acquire_ioctl(struct drm_device *dev, void *data,
26 struct drm_file *file_priv);
27 int drm_agp_release(struct drm_device *dev);
28 int drm_agp_release_ioctl(struct drm_device *dev, void *data,
29 struct drm_file *file_priv);
30 int drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode);
31 int drm_agp_enable_ioctl(struct drm_device *dev, void *data,
32 struct drm_file *file_priv);
33 int drm_agp_info(struct drm_device *dev, struct drm_agp_info *info);
34 int drm_agp_info_ioctl(struct drm_device *dev, void *data,
35 struct drm_file *file_priv);
36 int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request);
37 int drm_agp_alloc_ioctl(struct drm_device *dev, void *data,
38 struct drm_file *file_priv);
39 int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request);
40 int drm_agp_free_ioctl(struct drm_device *dev, void *data,
41 struct drm_file *file_priv);
42 int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request);
43 int drm_agp_unbind_ioctl(struct drm_device *dev, void *data,
44 struct drm_file *file_priv);
45 int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request);
46 int drm_agp_bind_ioctl(struct drm_device *dev, void *data,
47 struct drm_file *file_priv);
48 #else /* __OS_HAS_AGP */
49
50 static inline void drm_free_agp(struct agp_memory * handle, int pages)
51 {
52 }
53
54 static inline int drm_bind_agp(struct agp_memory * handle, unsigned int start)
55 {
56 return -ENODEV;
57 }
58
59 static inline int drm_unbind_agp(struct agp_memory * handle)
60 {
61 return -ENODEV;
62 }
63
64 static inline struct agp_memory *drm_agp_bind_pages(struct drm_device *dev,
65 struct page **pages,
66 unsigned long num_pages,
67 uint32_t gtt_offset,
68 uint32_t type)
69 {
70 return NULL;
71 }
72
73 static inline struct drm_agp_head *drm_agp_init(struct drm_device *dev)
74 {
75 return NULL;
76 }
77
78 static inline void drm_agp_clear(struct drm_device *dev)
79 {
80 }
81
82 static inline int drm_agp_acquire(struct drm_device *dev)
83 {
84 return -ENODEV;
85 }
86
87 static inline int drm_agp_acquire_ioctl(struct drm_device *dev, void *data,
88 struct drm_file *file_priv)
89 {
90 return -ENODEV;
91 }
92
93 static inline int drm_agp_release(struct drm_device *dev)
94 {
95 return -ENODEV;
96 }
97
98 static inline int drm_agp_release_ioctl(struct drm_device *dev, void *data,
99 struct drm_file *file_priv)
100 {
101 return -ENODEV;
102 }
103
104 static inline int drm_agp_enable(struct drm_device *dev,
105 struct drm_agp_mode mode)
106 {
107 return -ENODEV;
108 }
109
110 static inline int drm_agp_enable_ioctl(struct drm_device *dev, void *data,
111 struct drm_file *file_priv)
112 {
113 return -ENODEV;
114 }
115
116 static inline int drm_agp_info(struct drm_device *dev,
117 struct drm_agp_info *info)
118 {
119 return -ENODEV;
120 }
121
122 static inline int drm_agp_info_ioctl(struct drm_device *dev, void *data,
123 struct drm_file *file_priv)
124 {
125 return -ENODEV;
126 }
127
128 static inline int drm_agp_alloc(struct drm_device *dev,
129 struct drm_agp_buffer *request)
130 {
131 return -ENODEV;
132 }
133
134 static inline int drm_agp_alloc_ioctl(struct drm_device *dev, void *data,
135 struct drm_file *file_priv)
136 {
137 return -ENODEV;
138 }
139
140 static inline int drm_agp_free(struct drm_device *dev,
141 struct drm_agp_buffer *request)
142 {
143 return -ENODEV;
144 }
145
146 static inline int drm_agp_free_ioctl(struct drm_device *dev, void *data,
147 struct drm_file *file_priv)
148 {
149 return -ENODEV;
150 }
151
152 static inline int drm_agp_unbind(struct drm_device *dev,
153 struct drm_agp_binding *request)
154 {
155 return -ENODEV;
156 }
157
158 static inline int drm_agp_unbind_ioctl(struct drm_device *dev, void *data,
159 struct drm_file *file_priv)
160 {
161 return -ENODEV;
162 }
163
164 static inline int drm_agp_bind(struct drm_device *dev,
165 struct drm_agp_binding *request)
166 {
167 return -ENODEV;
168 }
169
170 static inline int drm_agp_bind_ioctl(struct drm_device *dev, void *data,
171 struct drm_file *file_priv)
172 {
173 return -ENODEV;
174 }
175 #endif /* __OS_HAS_AGP */
176
177 #endif /* _DRM_AGPSUPPORT_H_ */
This page took 0.034738 seconds and 5 git commands to generate.