video: tegra: unpin nvmap handles after flip
authorErik Gilling <konkers@android.com>
Fri, 13 Aug 2010 00:28:12 +0000 (17:28 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:33:36 +0000 (16:33 -0700)
Signed-off-by: Erik Gilling <konkers@android.com>
arch/arm/mach-tegra/include/mach/dc.h
drivers/video/tegra/fb.c

index ae0273ca057def93bdf70a78827bf947eb35faea..189f26896c81e2cdef2cef675b4e855543b3c160 100644 (file)
@@ -98,6 +98,8 @@ struct tegra_dc_win {
 
        int                     dirty;
        struct tegra_dc         *dc;
+
+       unsigned long           cur_handle;
 };
 
 #define TEGRA_WIN_FLAG_ENABLED         (1 << 0)
index 45d47e6c991ae3b4749c5fd8ca25f40ab9a4d31c..87bae6fb1f6954a287c6c7140f69b9895b493d8a 100644 (file)
@@ -212,6 +212,10 @@ static int tegra_fb_pan_display(struct fb_var_screeninfo *var,
        tegra_dc_update_windows(&tegra_fb->win, 1);
        tegra_dc_sync_windows(&tegra_fb->win, 1);
 
+       if (tegra_fb->win->cur_handle)
+               nvmap_unpin((struct nvmap_handle **) &tegra_fb->win->cur_handle, 1);
+       tegra_fb->win->cur_handle = args->buff_id;
+
        return 0;
 }