From 373d67702c1fd6c6258ce03d3fb4fc167ff947cb Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 10 Jun 2004 12:48:35 +0000 Subject: [PATCH] A few changes for recent redhat. --- linux-core/drm_memory.h | 6 ++++++ linux-core/drm_os_linux.h | 4 ++++ linux-core/drm_vm.c | 3 +++ linux/drm_memory.h | 6 ++++++ linux/drm_os_linux.h | 4 ++++ linux/drm_vm.h | 3 +++ 6 files changed, 26 insertions(+) diff --git a/linux-core/drm_memory.h b/linux-core/drm_memory.h index 98ea89d..c6ea1fc 100644 --- a/linux-core/drm_memory.h +++ b/linux-core/drm_memory.h @@ -61,10 +61,16 @@ #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) +#ifndef pte_offset_kernel # define pte_offset_kernel(dir, address) pte_offset(dir, address) +#endif +#ifndef pte_pfn # define pte_pfn(pte) (pte_page(pte) - mem_map) +#endif +#ifndef pfn_to_page # define pfn_to_page(pfn) (mem_map + (pfn)) #endif +#endif /* * Find the drm_map that covers the range [offset, offset+size). diff --git a/linux-core/drm_os_linux.h b/linux-core/drm_os_linux.h index c26a410..6d2d071 100644 --- a/linux-core/drm_os_linux.h +++ b/linux-core/drm_os_linux.h @@ -18,10 +18,14 @@ #define DRM_UDELAY(d) udelay(d) /** Read a byte from a MMIO region */ #define DRM_READ8(map, offset) readb(((unsigned long)(map)->handle) + (offset)) +/** Read a word from a MMIO region */ +#define DRM_READ16(map, offset) readw(((unsigned long)(map)->handle) + (offset)) /** Read a dword from a MMIO region */ #define DRM_READ32(map, offset) readl(((unsigned long)(map)->handle) + (offset)) /** Write a byte into a MMIO region */ #define DRM_WRITE8(map, offset, val) writeb(val, ((unsigned long)(map)->handle) + (offset)) +/** Write a word into a MMIO region */ +#define DRM_WRITE16(map, offset, val) writew(val, ((unsigned long)(map)->handle) + (offset)) /** Write a dword into a MMIO region */ #define DRM_WRITE32(map, offset, val) writel(val, ((unsigned long)(map)->handle) + (offset)) /** Read memory barrier */ diff --git a/linux-core/drm_vm.c b/linux-core/drm_vm.c index a495884..c661d20 100644 --- a/linux-core/drm_vm.c +++ b/linux-core/drm_vm.c @@ -101,9 +101,12 @@ static __inline__ struct page *DRM(do_vm_nopage)(struct vm_area_struct *vma, page = virt_to_page(__va(agpmem->memory->memory[offset])); get_page(page); +#if 0 + /* page_count() not defined everywhere */ DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n", baddr, __va(agpmem->memory->memory[offset]), offset, page_count(page)); +#endif return page; } diff --git a/linux/drm_memory.h b/linux/drm_memory.h index 98ea89d..c6ea1fc 100644 --- a/linux/drm_memory.h +++ b/linux/drm_memory.h @@ -61,10 +61,16 @@ #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) +#ifndef pte_offset_kernel # define pte_offset_kernel(dir, address) pte_offset(dir, address) +#endif +#ifndef pte_pfn # define pte_pfn(pte) (pte_page(pte) - mem_map) +#endif +#ifndef pfn_to_page # define pfn_to_page(pfn) (mem_map + (pfn)) #endif +#endif /* * Find the drm_map that covers the range [offset, offset+size). diff --git a/linux/drm_os_linux.h b/linux/drm_os_linux.h index c26a410..6d2d071 100644 --- a/linux/drm_os_linux.h +++ b/linux/drm_os_linux.h @@ -18,10 +18,14 @@ #define DRM_UDELAY(d) udelay(d) /** Read a byte from a MMIO region */ #define DRM_READ8(map, offset) readb(((unsigned long)(map)->handle) + (offset)) +/** Read a word from a MMIO region */ +#define DRM_READ16(map, offset) readw(((unsigned long)(map)->handle) + (offset)) /** Read a dword from a MMIO region */ #define DRM_READ32(map, offset) readl(((unsigned long)(map)->handle) + (offset)) /** Write a byte into a MMIO region */ #define DRM_WRITE8(map, offset, val) writeb(val, ((unsigned long)(map)->handle) + (offset)) +/** Write a word into a MMIO region */ +#define DRM_WRITE16(map, offset, val) writew(val, ((unsigned long)(map)->handle) + (offset)) /** Write a dword into a MMIO region */ #define DRM_WRITE32(map, offset, val) writel(val, ((unsigned long)(map)->handle) + (offset)) /** Read memory barrier */ diff --git a/linux/drm_vm.h b/linux/drm_vm.h index a495884..c661d20 100644 --- a/linux/drm_vm.h +++ b/linux/drm_vm.h @@ -101,9 +101,12 @@ static __inline__ struct page *DRM(do_vm_nopage)(struct vm_area_struct *vma, page = virt_to_page(__va(agpmem->memory->memory[offset])); get_page(page); +#if 0 + /* page_count() not defined everywhere */ DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n", baddr, __va(agpmem->memory->memory[offset]), offset, page_count(page)); +#endif return page; } -- 2.7.4