1 
2 #ifndef _sis_drm_public_h_
3 #define _sis_drm_public_h_
4 
5 /* SiS specific ioctls */
6 #define SIS_IOCTL_FB_ALLOC		DRM_IOWR(0x44, drm_sis_mem_t)
7 #define SIS_IOCTL_FB_FREE		DRM_IOW( 0x45, drm_sis_mem_t)
8 #define SIS_IOCTL_AGP_INIT		DRM_IOWR(0x53, drm_sis_agp_t)
9 #define SIS_IOCTL_AGP_ALLOC		DRM_IOWR(0x54, drm_sis_mem_t)
10 #define SIS_IOCTL_AGP_FREE		DRM_IOW( 0x55, drm_sis_mem_t)
11 #define SIS_IOCTL_FLIP			DRM_IOW( 0x48, drm_sis_flip_t)
12 #define SIS_IOCTL_FLIP_INIT		DRM_IO(  0x49)
13 #define SIS_IOCTL_FLIP_FINAL		DRM_IO(  0x50)
14 
15 typedef struct {
16   int context;
17   unsigned int offset;
18   unsigned int size;
19   unsigned long free;
20 } drm_sis_mem_t;
21 
22 typedef struct {
23   unsigned int offset, size;
24 } drm_sis_agp_t;
25 
26 typedef struct {
27   unsigned int left, right;
28 } drm_sis_flip_t;
29 
30 #ifdef __KERNEL__
31 
32 int sis_fb_alloc(struct inode *inode, struct file *filp, unsigned int cmd,
33 		  unsigned long arg);
34 int sis_fb_free(struct inode *inode, struct file *filp, unsigned int cmd,
35 		  unsigned long arg);
36 
37 int sisp_agp_init(struct inode *inode, struct file *filp, unsigned int cmd,
38 		  unsigned long arg);
39 int sisp_agp_alloc(struct inode *inode, struct file *filp, unsigned int cmd,
40 		  unsigned long arg);
41 int sisp_agp_free(struct inode *inode, struct file *filp, unsigned int cmd,
42 		  unsigned long arg);
43 
44 #endif
45 
46 #endif
47