Tony Murray wrote:
I am using drm from cvs and I fixed a few compile errors when the drm
drivers are used with 2.6.8.1 (all trivial api changes). I don't have
the hardware to test all of the drivers, but it should be fine.

Tony

diff -urN linux-2.6.8.1-drm2/drivers/char/drm/ati_pcigart.h linux-2.6.8.1-drm/drivers/char/drm/ati_pcigart.h
--- linux-2.6.8.1-drm2/drivers/char/drm/ati_pcigart.h 2004-09-02 06:09:33.000000000 -0500
+++ linux-2.6.8.1-drm/drivers/char/drm/ati_pcigart.h 2004-09-02 06:17:17.000000000 -0500
@@ -68,7 +68,7 @@
page = virt_to_page( address );


    for ( i = 0 ; i < ATI_PCIGART_TABLE_PAGES ; i++, page++ ) {
-        atomic_inc( &page->count );
+        get_page( page );
        SetPageReserved( page );
    }

@@ -85,7 +85,7 @@
    page = virt_to_page( address );

    for ( i = 0 ; i < ATI_PCIGART_TABLE_PAGES ; i++, page++ ) {
-        atomic_dec( &page->count );
+        __put_page( page );
        ClearPageReserved( page );
    }


If these are fixes for the CVS drm, we'll need some backwards compatible versions of get_page() and __put_page() so that the DRM continues to compile on older kernels.

diff -urN linux-2.6.8.1-drm2/drivers/char/drm/drm_vm.h linux-2.6.8.1-drm/drivers/char/drm/drm_vm.h
--- linux-2.6.8.1-drm2/drivers/char/drm/drm_vm.h 2004-09-02 06:09:33.000000000 -0500
+++ linux-2.6.8.1-drm/drivers/char/drm/drm_vm.h 2004-09-02 06:12:21.000000000 -0500
@@ -103,7 +103,7 @@


        DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n",
              baddr, __va(agpmem->memory->memory[offset]), offset,
-              atomic_read(&page->count));
+              page_count(page));

return page;
}
@@ -617,7 +617,7 @@
vma->vm_end - vma->vm_start,
vma->vm_page_prot, 0))
#else
- if (remap_page_range(DRM_RPR_ARG(vma) vma->vm_start,
+ if (remap_page_range(vma,DRM_RPR_ARG(vma) vma->vm_start,
VM_OFFSET(vma) + offset,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
diff -urN linux-2.6.8.1-drm2/drivers/char/drm/i810_dma.c linux-2.6.8.1-drm/drivers/char/drm/i810_dma.c
--- linux-2.6.8.1-drm2/drivers/char/drm/i810_dma.c 2004-09-02 06:09:33.000000000 -0500
+++ linux-2.6.8.1-drm/drivers/char/drm/i810_dma.c 2004-09-02 06:13:29.000000000 -0500
@@ -145,7 +145,7 @@
buf_priv->currently_mapped = I810_BUF_MAPPED;
unlock_kernel();


-    if (remap_page_range(DRM_RPR_ARG(vma) vma->vm_start,
+    if (remap_page_range(vma,DRM_RPR_ARG(vma) vma->vm_start,
                 VM_OFFSET(vma),
                 vma->vm_end - vma->vm_start,
                 vma->vm_page_prot)) return -EAGAIN;


I think the DRM_RPR_ARG() macro is supposed to deal with this already - you probably want to tweak the way it is being defined.

Keith


------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to