Module Name: src Committed By: riastradh Date: Tue Jan 21 20:49:01 UTC 2014
Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [riastradh-drm2]: i915_drv.h i915_gem.c Log Message: i915_gem_object_get_page takes a page number, not byte offset. To generate a diff of this commit: cvs rdiff -u -r1.1.1.1.2.17 -r1.1.1.1.2.18 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h \ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.1.1.1.2.17 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.1.1.1.2.18 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.1.1.1.2.17 Wed Jan 15 13:52:09 2014 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h Tue Jan 21 20:49:01 2014 @@ -1457,7 +1457,8 @@ i915_gem_object_get_page(struct drm_i915 */ KASSERT(obj->pages != NULL); mutex_enter(obj->base.gemo_shm_uao->vmobjlock); - struct vm_page *const page = uvm_pagelookup(obj->base.gemo_shm_uao, n); + struct vm_page *const page = uvm_pagelookup(obj->base.gemo_shm_uao, + ptoa(n)); mutex_exit(obj->base.gemo_shm_uao->vmobjlock); return container_of(page, struct page, p_vmp); Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.17 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.18 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.17 Wed Jan 15 13:53:32 2014 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Tue Jan 21 20:49:01 2014 @@ -500,7 +500,7 @@ i915_gem_shmem_pread(struct drm_device * KASSERT(shmem_page_offset < PAGE_SIZE); page_length = MIN(remain, (PAGE_SIZE - shmem_page_offset)); struct page *const page = i915_gem_object_get_page(obj, - (offset & ~(PAGE_SIZE-1))); + atop(offset)); /* Decide whether to swizzle bit 17. */ page_do_bit17_swizzling = obj_do_bit17_swizzling && @@ -885,7 +885,7 @@ i915_gem_shmem_pwrite(struct drm_device KASSERT(shmem_page_offset < PAGE_SIZE); page_length = MIN(remain, (PAGE_SIZE - shmem_page_offset)); struct page *const page = i915_gem_object_get_page(obj, - (offset & ~(PAGE_SIZE-1))); + atop(offset)); /* Decide whether to flush the cache or swizzle bit 17. */ const bool partial_cacheline_write = needs_clflush_before &&