Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nouveau_abi16.h
Go to the documentation of this file.
1 #ifndef __NOUVEAU_ABI16_H__
2 #define __NOUVEAU_ABI16_H__
3 
4 #define ABI16_IOCTL_ARGS \
5  struct drm_device *dev, void *data, struct drm_file *file_priv
6 
14 
16  struct list_head head;
19 };
20 
22  struct list_head head;
25  struct nouveau_bo *ntfy;
27  struct nouveau_mm heap;
28 };
29 
30 struct nouveau_abi16 {
35 };
36 
37 struct nouveau_drm;
38 struct nouveau_abi16 *nouveau_abi16_get(struct drm_file *, struct drm_device *);
39 int nouveau_abi16_put(struct nouveau_abi16 *, int);
40 void nouveau_abi16_fini(struct nouveau_abi16 *);
42 
43 #define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1)
44 #define NOUVEAU_GEM_DOMAIN_GART (1 << 2)
45 
49 
50  int channel;
52 
53  /* Notifier memory */
55 
56  /* DRM-enforced subchannel assignments */
57  struct {
60  } subchan[8];
62 };
63 
65  int channel;
66 };
67 
69  int channel;
71  int class;
72 };
73 
79 };
80 
82  int channel;
84 };
85 
86 #define NOUVEAU_GETPARAM_PCI_VENDOR 3
87 #define NOUVEAU_GETPARAM_PCI_DEVICE 4
88 #define NOUVEAU_GETPARAM_BUS_TYPE 5
89 #define NOUVEAU_GETPARAM_FB_SIZE 8
90 #define NOUVEAU_GETPARAM_AGP_SIZE 9
91 #define NOUVEAU_GETPARAM_CHIPSET_ID 11
92 #define NOUVEAU_GETPARAM_VM_VRAM_BASE 12
93 #define NOUVEAU_GETPARAM_GRAPH_UNITS 13
94 #define NOUVEAU_GETPARAM_PTIMER_TIME 14
95 #define NOUVEAU_GETPARAM_HAS_BO_USAGE 15
96 #define NOUVEAU_GETPARAM_HAS_PAGEFLIP 16
100 };
101 
105 };
106 
107 #define DRM_IOCTL_NOUVEAU_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GETPARAM, struct drm_nouveau_getparam)
108 #define DRM_IOCTL_NOUVEAU_SETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_SETPARAM, struct drm_nouveau_setparam)
109 #define DRM_IOCTL_NOUVEAU_CHANNEL_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_CHANNEL_ALLOC, struct drm_nouveau_channel_alloc)
110 #define DRM_IOCTL_NOUVEAU_CHANNEL_FREE DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_CHANNEL_FREE, struct drm_nouveau_channel_free)
111 #define DRM_IOCTL_NOUVEAU_GROBJ_ALLOC DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GROBJ_ALLOC, struct drm_nouveau_grobj_alloc)
112 #define DRM_IOCTL_NOUVEAU_NOTIFIEROBJ_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_NOTIFIEROBJ_ALLOC, struct drm_nouveau_notifierobj_alloc)
113 #define DRM_IOCTL_NOUVEAU_GPUOBJ_FREE DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GPUOBJ_FREE, struct drm_nouveau_gpuobj_free)
114 
115 #endif