summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/drm_memory.h6
-rw-r--r--linux-core/drm_os_linux.h4
-rw-r--r--linux-core/drm_vm.c3
-rw-r--r--linux/drm_memory.h6
-rw-r--r--linux/drm_os_linux.h4
-rw-r--r--linux/drm_vm.h3
6 files changed, 26 insertions, 0 deletions
diff --git a/linux-core/drm_memory.h b/linux-core/drm_memory.h
index 98ea89d8..c6ea1fcc 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 c26a4108..6d2d0710 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 a495884d..c661d203 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 98ea89d8..c6ea1fcc 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 c26a4108..6d2d0710 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 a495884d..c661d203 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;
}