summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Simmons <jsimmons@infradead.org>2012-03-11 14:04:57 -0400
committerJames Simmons <jsimmons@infradead.org>2012-03-11 14:04:57 -0400
commit56121453116cd9144ed4b3f2461f142227d94db7 (patch)
tree23db8b658f9a8f7964c706d4fd8b39e99e4abf80
parenta41b79a8fdd7b8287b187e35f32865603673cd04 (diff)
drm.offset from api one gives the absolute address instead of the relative address to the vram start. Also fix the default source for non acclerated mode
-rw-r--r--src/via_memmgr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/via_memmgr.c b/src/via_memmgr.c
index 7e7b93f..bc085ea 100644
--- a/src/via_memmgr.c
+++ b/src/via_memmgr.c
@@ -64,7 +64,7 @@ viaOffScreenLinear(struct buffer_object *obj, ScrnInfoPtr pScrn,
return BadAlloc;
obj->offset = linear->offset * depth;
obj->handle = (unsigned long) linear;
- obj->domain = TTM_PL_FLAG_SYSTEM;
+ obj->domain = TTM_PL_FLAG_VRAM;
obj->size = size;
return Success;
}
@@ -117,6 +117,8 @@ drm_bo_alloc(ScrnInfoPtr pScrn, unsigned int size, unsigned int alignment, int d
ret = drmCommandWriteRead(pVia->drmmode.fd, DRM_VIA_ALLOCMEM,
&drm, sizeof(drm_via_mem_t));
if (!ret && (size == drm.size)) {
+ if (domain == TTM_PL_FLAG_VRAM)
+ drm.offset -= pVia->FBFreeStart;
obj->offset = ALIGN_TO(drm.offset, alignment);
obj->handle = drm.index;
obj->domain = domain;