summaryrefslogtreecommitdiff
path: root/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c')
-rw-r--r--package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c25
1 files changed, 25 insertions, 0 deletions
diff --git a/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c b/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c
new file mode 100644
index 000000000..d28b1e4e4
--- /dev/null
+++ b/package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c
@@ -0,0 +1,25 @@
+--- xorg-server-1.7.5.orig/hw/xfree86/os-support/linux/lnx_video.c 2010-02-16 01:24:23.000000000 +0100
++++ xorg-server-1.7.5/hw/xfree86/os-support/linux/lnx_video.c 2010-03-07 16:38:06.000000000 +0100
+@@ -497,7 +497,7 @@ volatile unsigned char *ioBase = NULL;
+ Bool
+ xf86EnableIO(void)
+ {
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ int fd;
+ unsigned int ioBase_phys;
+ #endif
+@@ -537,6 +537,13 @@ xf86EnableIO(void)
+ ioperm(0x40,4,0); /* trap access to the timer chip */
+ ioperm(0x60,4,0); /* trap access to the keyboard controller */
+ # endif
++#else
++ fd = open("/dev/mem", O_RDWR);
++ if (IOPortBase == NULL) {
++ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000,
++ PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x1fd00000);
++ }
++ close(fd);
+ #endif
+ ExtendedEnabled = TRUE;
+