diff options
author | Rakesh Iyer <riyer@nvidia.com> | 2012-08-21 18:25:17 -0700 |
---|---|---|
committer | Mrutyunjay Sawant <msawant@nvidia.com> | 2012-09-03 02:44:21 -0700 |
commit | f0a2ca55641520d9a1d86a50e59c202d175c4635 (patch) | |
tree | 6da30942867adc67be1d25c5bd04588a510ab319 /drivers/video/tegra/fb.c | |
parent | f04a298e90fee39e8bcc74cbee0ef4e2645ed6da (diff) |
video: tegra: dc: support for vblank sync
Add wait for vsync support for one-shot panels. The code supports extension
of this feature to other panels.
Bug 1033411.
Change-Id: Ie4d6cb45e5de81083458169ccdfa33230235ed72
Signed-off-by: Rakesh Iyer <riyer@nvidia.com>
Reviewed-on: http://git-master/r/128927
Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com>
Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/fb.c')
-rw-r--r-- | drivers/video/tegra/fb.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/video/tegra/fb.c b/drivers/video/tegra/fb.c index a9964946f2cc..69b30884e4df 100644 --- a/drivers/video/tegra/fb.c +++ b/drivers/video/tegra/fb.c @@ -325,8 +325,10 @@ static void tegra_fb_imageblit(struct fb_info *info, static int tegra_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { + struct tegra_fb_info *tegra_fb = (struct tegra_fb_info *)info->par; struct tegra_fb_modedb modedb; struct fb_modelist *modelist; + struct fb_vblank vblank = {}; int i; switch (cmd) { @@ -369,6 +371,17 @@ static int tegra_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long return -EFAULT; break; + case FBIOGET_VBLANK: + tegra_dc_get_fbvblank(tegra_fb->win->dc, &vblank); + + if (copy_to_user( + (void __user *)arg, &vblank, sizeof(vblank))) + return -EFAULT; + break; + + case FBIO_WAITFORVSYNC: + return tegra_dc_wait_for_vsync(tegra_fb->win->dc); + default: return -ENOTTY; } |