Sync with Linux 2.4.0-test7/pre4
authorRik Faith <faith@alephnull.com>
Fri, 18 Aug 2000 13:55:23 +0000 (13:55 +0000)
committerRik Faith <faith@alephnull.com>
Fri, 18 Aug 2000 13:55:23 +0000 (13:55 +0000)
linux-core/drmP.h
linux/agpsupport.c
linux/drmP.h
linux/memory.c
linux/vm.c

index 4f85d07..0fa2057 100644 (file)
@@ -46,6 +46,7 @@
 #include <linux/version.h>
 #include <linux/sched.h>
 #include <linux/smp_lock.h>    /* For (un)lock_kernel */
+#include <linux/mm.h>
 #include <asm/io.h>
 #include <asm/mman.h>
 #include <asm/uaccess.h>
@@ -140,7 +141,7 @@ typedef struct wait_queue *wait_queue_head_t;
 #endif
 
                                /* virt_to_page added in 2.4.0-test6 */
-#ifndef virt_to_page
+#if LINUX_VERSION_CODE < 0x020400
 #define virt_to_page(kaddr) (mem_map + MAP_NR(kaddr))
 #endif
 
index 7ed234e..42a1bc2 100644 (file)
@@ -309,7 +309,9 @@ drm_agp_head_t *drm_agp_init(void)
 
 #if LINUX_VERSION_CODE >= 0x020400
                case VIA_MVP4:          head->chipset = "VIA MVP4";      break;
-               case VIA_APOLLO_SUPER:  head->chipset = "VIA Apollo Super"; 
+               case VIA_APOLLO_KX133:  head->chipset = "VIA Apollo KX133"; 
+                       break;
+               case VIA_APOLLO_KT133:  head->chipset = "VIA Apollo KT133"; 
                        break;
 #endif
 
@@ -322,7 +324,7 @@ drm_agp_head_t *drm_agp_init(void)
                case ALI_M1541:         head->chipset = "ALi M1541";     break;
                default:                head->chipset = "Unknown";       break;
                }
-               DRM_INFO("AGP %d.%d on %s @ 0x%08lx %dMB\n",
+               DRM_INFO("AGP %d.%d on %s @ 0x%08lx %ZuMB\n",
                         head->agp_info.version.major,
                         head->agp_info.version.minor,
                         head->chipset,
index 4f85d07..0fa2057 100644 (file)
@@ -46,6 +46,7 @@
 #include <linux/version.h>
 #include <linux/sched.h>
 #include <linux/smp_lock.h>    /* For (un)lock_kernel */
+#include <linux/mm.h>
 #include <asm/io.h>
 #include <asm/mman.h>
 #include <asm/uaccess.h>
@@ -140,7 +141,7 @@ typedef struct wait_queue *wait_queue_head_t;
 #endif
 
                                /* virt_to_page added in 2.4.0-test6 */
-#ifndef virt_to_page
+#if LINUX_VERSION_CODE < 0x020400
 #define virt_to_page(kaddr) (mem_map + MAP_NR(kaddr))
 #endif
 
index bcb674b..34d19b2 100644 (file)
@@ -32,6 +32,7 @@
 #define __NO_VERSION__
 #include <linux/config.h>
 #include "drmP.h"
+#include <linux/wrapper.h>
 
 typedef struct drm_mem_stats {
        const char        *name;
index d295529..7c5a24b 100644 (file)
@@ -250,7 +250,7 @@ int drm_mmap_dma(struct file *filp, struct vm_area_struct *vma)
                  vma->vm_start, vma->vm_end, VM_OFFSET(vma));
 
                                /* Length must match exact page count */
-       if ((length >> PAGE_SHIFT) != dma->page_count) {
+       if (!dma || (length >> PAGE_SHIFT) != dma->page_count) {
                unlock_kernel();
                return -EINVAL;
        }
@@ -323,6 +323,9 @@ int drm_mmap(struct file *filp, struct vm_area_struct *vma)
                                pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
                                pgprot_val(vma->vm_page_prot) &= ~_PAGE_PWT;
                        }
+#elif defined(__ia64__)
+                       if (map->type != _DRM_AGP)
+                               vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
 #endif
                        vma->vm_flags |= VM_IO; /* not in core dump */
                }