diff --git a/libgralloc/fb_priv.h b/libgralloc/fb_priv.h
index 340968c..8f1a09b 100644
--- a/libgralloc/fb_priv.h
+++ b/libgralloc/fb_priv.h
@@ -18,6 +18,7 @@
 #ifndef FB_PRIV_H
 #define FB_PRIV_H
 #include <linux/fb.h>
+#include <linux/msm_mdp.h>
 
 #define NUM_FRAMEBUFFERS_MIN  2
 #define NUM_FRAMEBUFFERS_MAX  3
@@ -44,6 +45,8 @@
     pthread_mutex_t lock;
     private_handle_t *currentBuffer;
     struct fb_var_screeninfo info;
+    struct mdp_buf_fence fence;
+    struct mdp_display_commit commit;
     struct fb_fix_screeninfo finfo;
     float xdpi;
     float ydpi;
diff --git a/libgralloc/framebuffer.cpp b/libgralloc/framebuffer.cpp
index 0f67b14..522de36 100644
--- a/libgralloc/framebuffer.cpp
+++ b/libgralloc/framebuffer.cpp
@@ -111,7 +111,8 @@
     if (hnd && hnd->flags & private_handle_t::PRIV_FLAGS_FRAMEBUFFER) {
         m->info.activate = FB_ACTIVATE_VBL | FB_ACTIVATE_FORCE;
         m->info.yoffset = hnd->offset / m->finfo.line_length;
-        if (ioctl(m->framebuffer->fd, FBIOPUT_VSCREENINFO, &m->info) == -1) {
+        m->commit.var = m->info;
+        if (ioctl(m->framebuffer->fd, MSMFB_DISPLAY_COMMIT, &m->commit) == -1) {
             ALOGE("%s: FBIOPUT_VSCREENINFO failed for external, err: %s", __FUNCTION__,
                     strerror(errno));
             return -errno;
@@ -152,6 +153,9 @@
     if (fd < 0)
         return -errno;
 
+    memset(&module->fence, 0, sizeof(struct mdp_buf_fence));
+    memset(&module->commit, 0, sizeof(struct mdp_display_commit));
+
     struct fb_fix_screeninfo finfo;
     if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1)
         return -errno;
