diff --git a/libgralloc-qsd8k/framebuffer.cpp b/libgralloc-qsd8k/framebuffer.cpp index d01cdae..af8f1fb 100644 --- a/libgralloc-qsd8k/framebuffer.cpp +++ b/libgralloc-qsd8k/framebuffer.cpp @@ -301,6 +301,7 @@ int mapFrameBufferLocked(struct private_module_t* module) return -errno; } module->framebuffer->base = intptr_t(vaddr); + module->framebuffer->phys = intptr_t(finfo.smem_start); memset(vaddr, 0, fbSize); return 0; } diff --git a/libgralloc-qsd8k/gralloc.cpp b/libgralloc-qsd8k/gralloc.cpp index 536d1c4..89d1fe3 100644 --- a/libgralloc-qsd8k/gralloc.cpp +++ b/libgralloc-qsd8k/gralloc.cpp @@ -155,9 +155,10 @@ static int gralloc_alloc_framebuffer_locked(alloc_device_t* dev, } vaddr += bufferSize; } - + hnd->base = vaddr; hnd->offset = vaddr - intptr_t(m->framebuffer->base); + hnd->phys = intptr_t(m->framebuffer->phys) + hnd->offset; *pHandle = hnd; return 0;