Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 20 Jun 2009 17:15:30 +0000 (10:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 20 Jun 2009 17:15:30 +0000 (10:15 -0700)
* 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (24 commits)
  agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addresses
  agp: add user mapping support to ATI AGP bridge.
  drm/i915: enable GEM on PAE.
  drm/radeon: fix unused variables warning
  agp: switch AGP to use page array instead of unsigned long array
  agpgart: detected ALi M???? chipset with M1621
  drm/radeon: command stream checker for r3xx-r5xx hardware
  drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM.
  radeon: Fix CP byte order on big endian architectures with KMS.
  agp/uninorth: Handle user memory types.
  drm/ttm: Add some powerpc cache flush code.
  radeon: Enable modesetting on non-x86.
  drm/radeon: Respect AGP cant_use_aperture flag.
  drm: EDID endianness fixes.
  drm/radeon: this VRAM vs aperture test is wrong, just remove it.
  drm/ttm: fix an error path to exit function correctly
  drm: Apply "Memory fragmentation from lost alignment blocks"
  ttm: Return -ERESTART when a signal interrupts bo eviction.
  drm: Remove memory debugging infrastructure.
  drm/i915: Clear fence register on tiling stride change.
  ...

1  2 
drivers/char/agp/hp-agp.c

@@@ -361,13 -361,11 +361,11 @@@ hp_zx1_insert_memory (struct agp_memor
        for (i = 0, j = io_pg_start; i < mem->page_count; i++) {
                unsigned long paddr;
  
-               paddr = mem->memory[i];
+               paddr = page_to_phys(mem->pages[i]);
                for (k = 0;
                     k < hp->io_pages_per_kpage;
                     k++, j++, paddr += hp->io_page_size) {
-                       hp->gatt[j] =
-                               agp_bridge->driver->mask_memory(agp_bridge,
-                                       paddr, type);
+                       hp->gatt[j] = HP_ZX1_PDIR_VALID_BIT | paddr;
                }
        }
  
@@@ -397,8 -395,9 +395,9 @@@ hp_zx1_remove_memory (struct agp_memor
  
  static unsigned long
  hp_zx1_mask_memory (struct agp_bridge_data *bridge,
-       unsigned long addr, int type)
+                   struct page *page, int type)
  {
+       unsigned long addr = phys_to_gart(page_to_phys(page));
        return HP_ZX1_PDIR_VALID_BIT | addr;
  }
  
@@@ -518,9 -517,8 +517,9 @@@ zx1_gart_probe (acpi_handle obj, u32 de
        if (hp_zx1_setup(sba_hpa + HP_ZX1_IOC_OFFSET, lba_hpa))
                return AE_OK;
  
 -      printk(KERN_INFO PFX "Detected HP ZX1 %s AGP chipset (ioc=%lx, lba=%lx)\n",
 -              (char *) context, sba_hpa + HP_ZX1_IOC_OFFSET, lba_hpa);
 +      printk(KERN_INFO PFX "Detected HP ZX1 %s AGP chipset "
 +              "(ioc=%llx, lba=%llx)\n", (char *)context,
 +              sba_hpa + HP_ZX1_IOC_OFFSET, lba_hpa);
  
        hp_zx1_gart_found = 1;
        return AE_CTRL_TERMINATE; /* we only support one bridge; quit looking */