diff options
author | Robert Morell <rmorell@nvidia.com> | 2011-03-21 14:42:51 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:48:13 -0800 |
commit | e2404dfeecd4204174410e8e2b0e93ed54b2f63a (patch) | |
tree | 3eb15ac3e29f9e9af60160fb92818a5c53944204 /drivers/video/tegra/dc/ext | |
parent | 1a5c2fb4c725261aeac4f29ec14537bedef4b11d (diff) |
video: tegra: Expose vblank syncpoint
This change adds support for userspace to query the syncpoint that
display autoincrements every vblank. This can be useful for
applications to time buffer submissions to throttle rendering and
prevent excessive host stalls.
bug 818525
Original-Change-Id: I050e4dcd08609da802f10eeec5b70da181b21717
Signed-off-by: Robert Morell <rmorell@nvidia.com>
Reviewed-on: http://git-master/r/40529
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Rebase-Id: Rac929d8ba6b14e469fef4c2753b040e02fae0b8e
Diffstat (limited to 'drivers/video/tegra/dc/ext')
-rw-r--r-- | drivers/video/tegra/dc/ext/dev.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/ext/dev.c b/drivers/video/tegra/dc/ext/dev.c index b0e8c38626a6..eba706342f43 100644 --- a/drivers/video/tegra/dc/ext/dev.c +++ b/drivers/video/tegra/dc/ext/dev.c @@ -476,6 +476,13 @@ static int tegra_dc_ext_set_csc(struct tegra_dc_ext_user *user, return 0; } +static u32 tegra_dc_ext_get_vblank_syncpt(struct tegra_dc_ext_user *user) +{ + struct tegra_dc *dc = user->ext->dc; + + return dc->vblank_syncpt; +} + static long tegra_dc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { @@ -540,6 +547,16 @@ static long tegra_dc_ioctl(struct file *filp, unsigned int cmd, return tegra_dc_ext_set_csc(user, &args); } + case TEGRA_DC_EXT_GET_VBLANK_SYNCPT: + { + u32 syncpt = tegra_dc_ext_get_vblank_syncpt(user); + + if (copy_to_user(user_arg, &syncpt, sizeof(syncpt))) + return -EFAULT; + + return 0; + } + default: return -EINVAL; } |