summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/ext/dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/tegra/dc/ext/dev.c')
-rw-r--r--drivers/video/tegra/dc/ext/dev.c17
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;
}