diff options
Diffstat (limited to 'drivers/video/tegra/dc/ext/dev.c')
-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; } |