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 &&