diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-20 13:15:30 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-20 13:15:30 -0400 |
| commit | 43813f399c72aa22e01a680559c1cb5274bf2140 (patch) | |
| tree | 933c0e7c445b9c3478b5a0db06a162d0d39f00f2 /drivers/gpu/drm/drm_vm.c | |
| parent | a552f0af753eb4b5bbbe9eff205fe874b04c4583 (diff) | |
| parent | 0b7af262aba912f52bc6ef76f1bc0960b01b8502 (diff) | |
Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* '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.
...
Diffstat (limited to 'drivers/gpu/drm/drm_vm.c')
| -rw-r--r-- | drivers/gpu/drm/drm_vm.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c index 22f76567ac7d..7e1fbe5d4779 100644 --- a/drivers/gpu/drm/drm_vm.c +++ b/drivers/gpu/drm/drm_vm.c | |||
| @@ -144,14 +144,14 @@ static int drm_do_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
| 144 | * Get the page, inc the use count, and return it | 144 | * Get the page, inc the use count, and return it |
| 145 | */ | 145 | */ |
| 146 | offset = (baddr - agpmem->bound) >> PAGE_SHIFT; | 146 | offset = (baddr - agpmem->bound) >> PAGE_SHIFT; |
| 147 | page = virt_to_page(__va(agpmem->memory->memory[offset])); | 147 | page = agpmem->memory->pages[offset]; |
| 148 | get_page(page); | 148 | get_page(page); |
| 149 | vmf->page = page; | 149 | vmf->page = page; |
| 150 | 150 | ||
| 151 | DRM_DEBUG | 151 | DRM_DEBUG |
| 152 | ("baddr = 0x%llx page = 0x%p, offset = 0x%llx, count=%d\n", | 152 | ("baddr = 0x%llx page = 0x%p, offset = 0x%llx, count=%d\n", |
| 153 | (unsigned long long)baddr, | 153 | (unsigned long long)baddr, |
| 154 | __va(agpmem->memory->memory[offset]), | 154 | agpmem->memory->pages[offset], |
| 155 | (unsigned long long)offset, | 155 | (unsigned long long)offset, |
| 156 | page_count(page)); | 156 | page_count(page)); |
| 157 | return 0; | 157 | return 0; |
| @@ -227,7 +227,7 @@ static void drm_vm_shm_close(struct vm_area_struct *vma) | |||
| 227 | found_maps++; | 227 | found_maps++; |
| 228 | if (pt->vma == vma) { | 228 | if (pt->vma == vma) { |
| 229 | list_del(&pt->head); | 229 | list_del(&pt->head); |
| 230 | drm_free(pt, sizeof(*pt), DRM_MEM_VMAS); | 230 | kfree(pt); |
| 231 | } | 231 | } |
| 232 | } | 232 | } |
| 233 | 233 | ||
| @@ -273,7 +273,7 @@ static void drm_vm_shm_close(struct vm_area_struct *vma) | |||
| 273 | DRM_ERROR("tried to rmmap GEM object\n"); | 273 | DRM_ERROR("tried to rmmap GEM object\n"); |
| 274 | break; | 274 | break; |
| 275 | } | 275 | } |
| 276 | drm_free(map, sizeof(*map), DRM_MEM_MAPS); | 276 | kfree(map); |
| 277 | } | 277 | } |
| 278 | } | 278 | } |
| 279 | mutex_unlock(&dev->struct_mutex); | 279 | mutex_unlock(&dev->struct_mutex); |
| @@ -414,7 +414,7 @@ void drm_vm_open_locked(struct vm_area_struct *vma) | |||
| 414 | vma->vm_start, vma->vm_end - vma->vm_start); | 414 | vma->vm_start, vma->vm_end - vma->vm_start); |
| 415 | atomic_inc(&dev->vma_count); | 415 | atomic_inc(&dev->vma_count); |
| 416 | 416 | ||
| 417 | vma_entry = drm_alloc(sizeof(*vma_entry), DRM_MEM_VMAS); | 417 | vma_entry = kmalloc(sizeof(*vma_entry), GFP_KERNEL); |
| 418 | if (vma_entry) { | 418 | if (vma_entry) { |
| 419 | vma_entry->vma = vma; | 419 | vma_entry->vma = vma; |
| 420 | vma_entry->pid = current->pid; | 420 | vma_entry->pid = current->pid; |
| @@ -454,7 +454,7 @@ static void drm_vm_close(struct vm_area_struct *vma) | |||
| 454 | list_for_each_entry_safe(pt, temp, &dev->vmalist, head) { | 454 | list_for_each_entry_safe(pt, temp, &dev->vmalist, head) { |
| 455 | if (pt->vma == vma) { | 455 | if (pt->vma == vma) { |
| 456 | list_del(&pt->head); | 456 | list_del(&pt->head); |
| 457 | drm_free(pt, sizeof(*pt), DRM_MEM_VMAS); | 457 | kfree(pt); |
| 458 | break; | 458 | break; |
| 459 | } | 459 | } |
| 460 | } | 460 | } |
