aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nv50_display.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv50_display.h')
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.h b/drivers/gpu/drm/nouveau/nv50_display.h
index 3f5a3d543598..c2da503a22aa 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.h
+++ b/drivers/gpu/drm/nouveau/nv50_display.h
@@ -35,10 +35,21 @@
35#include "nouveau_crtc.h" 35#include "nouveau_crtc.h"
36#include "nv50_evo.h" 36#include "nv50_evo.h"
37 37
38struct nv50_display_crtc {
39 struct nouveau_channel *sync;
40 struct {
41 struct nouveau_bo *bo;
42 u32 offset;
43 u16 value;
44 } sem;
45};
46
38struct nv50_display { 47struct nv50_display {
39 struct nouveau_channel *master; 48 struct nouveau_channel *master;
40 struct nouveau_gpuobj *ntfy; 49 struct nouveau_gpuobj *ntfy;
41 50
51 struct nv50_display_crtc crtc[2];
52
42 struct tasklet_struct tasklet; 53 struct tasklet_struct tasklet;
43 struct { 54 struct {
44 struct dcb_entry *dcb; 55 struct dcb_entry *dcb;
@@ -62,6 +73,10 @@ void nv50_display_destroy(struct drm_device *dev);
62int nv50_crtc_blank(struct nouveau_crtc *, bool blank); 73int nv50_crtc_blank(struct nouveau_crtc *, bool blank);
63int nv50_crtc_set_clock(struct drm_device *, int head, int pclk); 74int nv50_crtc_set_clock(struct drm_device *, int head, int pclk);
64 75
76int nv50_display_flip_next(struct drm_crtc *, struct drm_framebuffer *,
77 struct nouveau_channel *chan);
78void nv50_display_flip_stop(struct drm_crtc *);
79
65int nv50_evo_init(struct drm_device *dev); 80int nv50_evo_init(struct drm_device *dev);
66void nv50_evo_fini(struct drm_device *dev); 81void nv50_evo_fini(struct drm_device *dev);
67void nv50_evo_dmaobj_init(struct nouveau_gpuobj *, u32 memtype, u64 base, 82void nv50_evo_dmaobj_init(struct nouveau_gpuobj *, u32 memtype, u64 base,