hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/include/drm/drm_legacy.h
....@@ -1,8 +1,5 @@
11 #ifndef __DRM_DRM_LEGACY_H__
22 #define __DRM_DRM_LEGACY_H__
3
-
4
-#include <drm/drm_auth.h>
5
-
63 /*
74 * Legacy driver interfaces for the Direct Rendering Manager
85 *
....@@ -36,6 +33,14 @@
3633 * OTHER DEALINGS IN THE SOFTWARE.
3734 */
3835
36
+#include <drm/drm.h>
37
+#include <drm/drm_auth.h>
38
+#include <drm/drm_hashtab.h>
39
+
40
+struct drm_device;
41
+struct drm_driver;
42
+struct file;
43
+struct pci_driver;
3944
4045 /*
4146 * Legacy Support for palateontologic DRM drivers
....@@ -131,7 +136,7 @@
131136 * Kernel side of a mapping
132137 */
133138 struct drm_local_map {
134
- resource_size_t offset; /**< Requested physical address (0 for SAREA)*/
139
+ dma_addr_t offset; /**< Requested physical address (0 for SAREA)*/
135140 unsigned long size; /**< Requested physical size (bytes) */
136141 enum drm_map_type type; /**< Type of memory to map */
137142 enum drm_map_flags flags; /**< Flags */
....@@ -156,10 +161,9 @@
156161 int drm_legacy_addmap(struct drm_device *d, resource_size_t offset,
157162 unsigned int size, enum drm_map_type type,
158163 enum drm_map_flags flags, struct drm_local_map **map_p);
164
+struct drm_local_map *drm_legacy_findmap(struct drm_device *dev, unsigned int token);
159165 void drm_legacy_rmmap(struct drm_device *d, struct drm_local_map *map);
160166 int drm_legacy_rmmap_locked(struct drm_device *d, struct drm_local_map *map);
161
-void drm_legacy_master_rmmaps(struct drm_device *dev,
162
- struct drm_master *master);
163167 struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev);
164168 int drm_legacy_mmap(struct file *filp, struct vm_area_struct *vma);
165169
....@@ -186,22 +190,46 @@
186190 void drm_legacy_idlelock_take(struct drm_lock_data *lock);
187191 void drm_legacy_idlelock_release(struct drm_lock_data *lock);
188192
189
-/* drm_pci.c dma alloc wrappers */
190
-void __drm_legacy_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
193
+/* drm_pci.c */
194
+
195
+#ifdef CONFIG_PCI
196
+
197
+struct drm_dma_handle *drm_pci_alloc(struct drm_device *dev, size_t size,
198
+ size_t align);
199
+void drm_pci_free(struct drm_device *dev, struct drm_dma_handle *dmah);
200
+
201
+int drm_legacy_pci_init(struct drm_driver *driver, struct pci_driver *pdriver);
202
+void drm_legacy_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver);
203
+
204
+#else
205
+
206
+static inline struct drm_dma_handle *drm_pci_alloc(struct drm_device *dev,
207
+ size_t size, size_t align)
208
+{
209
+ return NULL;
210
+}
211
+
212
+static inline void drm_pci_free(struct drm_device *dev,
213
+ struct drm_dma_handle *dmah)
214
+{
215
+}
216
+
217
+static inline int drm_legacy_pci_init(struct drm_driver *driver,
218
+ struct pci_driver *pdriver)
219
+{
220
+ return -EINVAL;
221
+}
222
+
223
+static inline void drm_legacy_pci_exit(struct drm_driver *driver,
224
+ struct pci_driver *pdriver)
225
+{
226
+}
227
+
228
+#endif
191229
192230 /* drm_memory.c */
193231 void drm_legacy_ioremap(struct drm_local_map *map, struct drm_device *dev);
194232 void drm_legacy_ioremap_wc(struct drm_local_map *map, struct drm_device *dev);
195233 void drm_legacy_ioremapfree(struct drm_local_map *map, struct drm_device *dev);
196
-
197
-static inline struct drm_local_map *drm_legacy_findmap(struct drm_device *dev,
198
- unsigned int token)
199
-{
200
- struct drm_map_list *_entry;
201
- list_for_each_entry(_entry, &dev->maplist, head)
202
- if (_entry->user_token == token)
203
- return _entry->map;
204
- return NULL;
205
-}
206234
207235 #endif /* __DRM_DRM_LEGACY_H__ */