summaryrefslogtreecommitdiff
path: root/drm/nouveau/nouveau_display.h
diff options
context:
space:
mode:
Diffstat (limited to 'drm/nouveau/nouveau_display.h')
-rw-r--r--drm/nouveau/nouveau_display.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drm/nouveau/nouveau_display.h b/drm/nouveau/nouveau_display.h
index 5a57d8b47..3fd084f60 100644
--- a/drm/nouveau/nouveau_display.h
+++ b/drm/nouveau/nouveau_display.h
@@ -5,6 +5,8 @@
#include "nouveau_drm.h"
+#include <linux/version.h>
+
struct nouveau_framebuffer {
struct drm_framebuffer base;
struct nouveau_bo *nvbo;
@@ -65,6 +67,7 @@ int nouveau_display_init(struct drm_device *dev);
void nouveau_display_fini(struct drm_device *dev);
int nouveau_display_suspend(struct drm_device *dev, bool runtime);
void nouveau_display_resume(struct drm_device *dev, bool runtime);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)
int nouveau_display_vblank_enable(struct drm_device *, unsigned int);
void nouveau_display_vblank_disable(struct drm_device *, unsigned int);
int nouveau_display_scanoutpos(struct drm_device *, unsigned int,
@@ -72,6 +75,15 @@ int nouveau_display_scanoutpos(struct drm_device *, unsigned int,
ktime_t *, const struct drm_display_mode *);
int nouveau_display_vblstamp(struct drm_device *, unsigned int, int *,
struct timeval *, unsigned);
+#else
+int nouveau_display_vblank_enable(struct drm_device *, int);
+void nouveau_display_vblank_disable(struct drm_device *, int);
+int nouveau_display_scanoutpos(struct drm_device *, int,
+ unsigned int, int *, int *, ktime_t *,
+ ktime_t *);
+int nouveau_display_vblstamp(struct drm_device *, int, int *,
+ struct timeval *, unsigned);
+#endif
int nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb,
struct drm_pending_vblank_event *event,