aboutsummaryrefslogtreecommitdiff
path: root/shared-core/sis_drm.h
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2003-08-29 19:24:36 +0000
committerEric Anholt <anholt@freebsd.org>2003-08-29 19:24:36 +0000
commitfabc64dd573f01a2160be474b4abc65a3a9aa5ea (patch)
tree03d8b6a2a7a7b3ea0348a320aa4e44841ff6dd51 /shared-core/sis_drm.h
parenta7aebb6dac3287374721dd2101a4584f12c63c82 (diff)
Port the SiS DRM to FreeBSD. This includes the ability for the DRM to
allocate framebuffer memory without sisfb, and a new ioctl to be used by the X Server which tells the DRM what region of framebuffer memory to allocate from. Also fixes a possibility to panic the kernel I believe. Tested on linux with sisfb and FreeBSD (without sisfb) with new DRI only.
Diffstat (limited to 'shared-core/sis_drm.h')
-rw-r--r--shared-core/sis_drm.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/shared-core/sis_drm.h b/shared-core/sis_drm.h
new file mode 100644
index 00000000..49505719
--- /dev/null
+++ b/shared-core/sis_drm.h
@@ -0,0 +1,33 @@
+
+#ifndef __SIS_DRM_H__
+#define __SIS_DRM_H__
+
+/* SiS specific ioctls */
+#define DRM_IOCTL_SIS_FB_ALLOC DRM_IOWR(0x44, drm_sis_mem_t)
+#define DRM_IOCTL_SIS_FB_FREE DRM_IOW( 0x45, drm_sis_mem_t)
+#define DRM_IOCTL_SIS_AGP_INIT DRM_IOWR(0x53, drm_sis_agp_t)
+#define DRM_IOCTL_SIS_AGP_ALLOC DRM_IOWR(0x54, drm_sis_mem_t)
+#define DRM_IOCTL_SIS_AGP_FREE DRM_IOW( 0x55, drm_sis_mem_t)
+#define DRM_IOCTL_SIS_FB_INIT DRM_IOW( 0x56, drm_sis_fb_t)
+/*
+#define DRM_IOCTL_SIS_FLIP DRM_IOW( 0x48, drm_sis_flip_t)
+#define DRM_IOCTL_SIS_FLIP_INIT DRM_IO( 0x49)
+#define DRM_IOCTL_SIS_FLIP_FINAL DRM_IO( 0x50)
+*/
+
+typedef struct {
+ int context;
+ unsigned int offset;
+ unsigned int size;
+ unsigned long free;
+} drm_sis_mem_t;
+
+typedef struct {
+ unsigned int offset, size;
+} drm_sis_agp_t;
+
+typedef struct {
+ unsigned int offset, size;
+} drm_sis_fb_t;
+
+#endif /* __SIS_DRM_H__ */