diff options
author | Mario Kleiner <mario.kleiner.de@gmail.com> | 2015-05-04 06:29:44 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-05-08 20:56:34 +1000 |
commit | 3790e395b8f4b66fe4e53629f304505c110a2be7 (patch) | |
tree | 9725ea8fcee818862273b910267ac99370a54790 | |
parent | 94754c183ada2143f03f3e16827904aab9e09f8e (diff) | |
download | linux-stable-3790e395b8f4b66fe4e53629f304505c110a2be7.tar.gz linux-stable-3790e395b8f4b66fe4e53629f304505c110a2be7.tar.bz2 linux-stable-3790e395b8f4b66fe4e53629f304505c110a2be7.zip |
drm/tegra: Don't use vblank_disable_immediate on incapable driver.
Tegra would not only need a hardware vblank counter that
increments at leading edge of vblank, but also support
for instantaneous high precision vblank timestamp queries, ie.
a proper implementation of dev->driver->get_vblank_timestamp().
Without these, there can be off-by-one errors during vblank
disable/enable if the scanout is inside vblank at en/disable
time, and additionally clients will never see any useable
vblank timestamps when querying via drmWaitVblank ioctl. This
would negatively affect swap scheduling under X11 and Wayland.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/tegra/drm.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 1833abd7d3aa..bfad15a913a0 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -173,7 +173,6 @@ static int tegra_drm_load(struct drm_device *drm, unsigned long flags) drm->irq_enabled = true; /* syncpoints are used for full 32-bit hardware VBLANK counters */ - drm->vblank_disable_immediate = true; drm->max_vblank_count = 0xffffffff; err = drm_vblank_init(drm, drm->mode_config.num_crtc); |