aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tegra/drm.h
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2012-11-28 11:45:47 +0100
committerThierry Reding <thierry.reding@avionic-design.de>2013-02-22 08:21:23 +0100
commit6e5ff998997ba7dc5ca10b6662e95a9d07f764c4 (patch)
treee816da159f67fe32c93e824b2efd6f77c0a0aa47 /drivers/gpu/drm/tegra/drm.h
parentdrm/tegra: Implement .mode_set_base() (diff)
downloadlinux-dev-6e5ff998997ba7dc5ca10b6662e95a9d07f764c4.tar.xz
linux-dev-6e5ff998997ba7dc5ca10b6662e95a9d07f764c4.zip
drm/tegra: Implement VBLANK support
Implement support for the VBLANK IOCTL. Note that Tegra is somewhat special in this case because it doesn't use the generic IRQ support provided by the DRM core (DRIVER_HAVE_IRQ) but rather registers one interrupt handler for each display controller. While at it, clean up the way that interrupts are enabled to ensure that the VBLANK interrupt only gets enabled when required. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/tegra/drm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h
index 896ff43d32b1..01f0aee12ad9 100644
--- a/drivers/gpu/drm/tegra/drm.h
+++ b/drivers/gpu/drm/tegra/drm.h
@@ -64,6 +64,7 @@ struct tegra_output;
struct tegra_dc {
struct host1x_client client;
+ spinlock_t lock;
struct host1x *host1x;
struct device *dev;
@@ -130,6 +131,8 @@ struct tegra_dc_window {
extern unsigned int tegra_dc_format(uint32_t format);
extern int tegra_dc_setup_window(struct tegra_dc *dc, unsigned int index,
const struct tegra_dc_window *window);
+extern void tegra_dc_enable_vblank(struct tegra_dc *dc);
+extern void tegra_dc_disable_vblank(struct tegra_dc *dc);
struct tegra_output_ops {
int (*enable)(struct tegra_output *output);