Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1#ifndef _DRM_AGPSUPPORT_H_
  2#define _DRM_AGPSUPPORT_H_
  3
  4#include <linux/agp_backend.h>
  5#include <linux/kernel.h>
  6#include <linux/list.h>
  7#include <linux/mm.h>
  8#include <linux/mutex.h>
  9#include <linux/types.h>
 10#include <uapi/drm/drm.h>
 11
 12struct drm_device;
 13struct drm_file;
 14
 15struct drm_agp_head {
 16	struct agp_kern_info agp_info;
 17	struct list_head memory;
 18	unsigned long mode;
 19	struct agp_bridge_data *bridge;
 20	int enabled;
 21	int acquired;
 22	unsigned long base;
 23	int agp_mtrr;
 24	int cant_use_aperture;
 25	unsigned long page_mask;
 26};
 27
 28#if IS_ENABLED(CONFIG_AGP)
 29
 30void drm_free_agp(struct agp_memory * handle, int pages);
 31int drm_bind_agp(struct agp_memory * handle, unsigned int start);
 32int drm_unbind_agp(struct agp_memory * handle);
 33struct agp_memory *drm_agp_bind_pages(struct drm_device *dev,
 34				struct page **pages,
 35				unsigned long num_pages,
 36				uint32_t gtt_offset,
 37				uint32_t type);
 38
 39struct drm_agp_head *drm_agp_init(struct drm_device *dev);
 40void drm_agp_clear(struct drm_device *dev);
 41int drm_agp_acquire(struct drm_device *dev);
 42int drm_agp_acquire_ioctl(struct drm_device *dev, void *data,
 43			  struct drm_file *file_priv);
 44int drm_agp_release(struct drm_device *dev);
 45int drm_agp_release_ioctl(struct drm_device *dev, void *data,
 46			  struct drm_file *file_priv);
 47int drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode);
 48int drm_agp_enable_ioctl(struct drm_device *dev, void *data,
 49			 struct drm_file *file_priv);
 50int drm_agp_info(struct drm_device *dev, struct drm_agp_info *info);
 51int drm_agp_info_ioctl(struct drm_device *dev, void *data,
 52		       struct drm_file *file_priv);
 53int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request);
 54int drm_agp_alloc_ioctl(struct drm_device *dev, void *data,
 55			struct drm_file *file_priv);
 56int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request);
 57int drm_agp_free_ioctl(struct drm_device *dev, void *data,
 58		       struct drm_file *file_priv);
 59int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request);
 60int drm_agp_unbind_ioctl(struct drm_device *dev, void *data,
 61			 struct drm_file *file_priv);
 62int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request);
 63int drm_agp_bind_ioctl(struct drm_device *dev, void *data,
 64		       struct drm_file *file_priv);
 65
 66#else /* CONFIG_AGP */
 67
 68static inline void drm_free_agp(struct agp_memory * handle, int pages)
 69{
 70}
 71
 72static inline int drm_bind_agp(struct agp_memory * handle, unsigned int start)
 73{
 74	return -ENODEV;
 75}
 76
 77static inline int drm_unbind_agp(struct agp_memory * handle)
 78{
 79	return -ENODEV;
 80}
 81
 82static inline struct agp_memory *drm_agp_bind_pages(struct drm_device *dev,
 83					      struct page **pages,
 84					      unsigned long num_pages,
 85					      uint32_t gtt_offset,
 86					      uint32_t type)
 87{
 88	return NULL;
 89}
 90
 91static inline struct drm_agp_head *drm_agp_init(struct drm_device *dev)
 92{
 93	return NULL;
 94}
 95
 96static inline void drm_agp_clear(struct drm_device *dev)
 97{
 98}
 99
100static inline int drm_agp_acquire(struct drm_device *dev)
101{
102	return -ENODEV;
103}
104
105static inline int drm_agp_release(struct drm_device *dev)
106{
107	return -ENODEV;
108}
109
110static inline int drm_agp_enable(struct drm_device *dev,
111				 struct drm_agp_mode mode)
112{
113	return -ENODEV;
114}
115
116static inline int drm_agp_info(struct drm_device *dev,
117			       struct drm_agp_info *info)
118{
119	return -ENODEV;
120}
121
122static inline int drm_agp_alloc(struct drm_device *dev,
123				struct drm_agp_buffer *request)
124{
125	return -ENODEV;
126}
127
128static inline int drm_agp_free(struct drm_device *dev,
129			       struct drm_agp_buffer *request)
130{
131	return -ENODEV;
132}
133
134static inline int drm_agp_unbind(struct drm_device *dev,
135				 struct drm_agp_binding *request)
136{
137	return -ENODEV;
138}
139
140static inline int drm_agp_bind(struct drm_device *dev,
141			       struct drm_agp_binding *request)
142{
143	return -ENODEV;
144}
145
146#endif /* CONFIG_AGP */
147
148#endif /* _DRM_AGPSUPPORT_H_ */