root/include/drm/drm_agpsupport.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. drm_free_agp
  2. drm_bind_agp
  3. drm_unbind_agp
  4. drm_agp_init
  5. drm_legacy_agp_clear
  6. drm_agp_acquire
  7. drm_agp_release
  8. drm_agp_enable
  9. drm_agp_info
  10. drm_agp_alloc
  11. drm_agp_free
  12. drm_agp_unbind
  13. drm_agp_bind

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

/* [<][>][^][v][top][bottom][index][help] */