aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nv50_display.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-02-06 22:29:23 -0500
committerBen Skeggs <bskeggs@redhat.com>2011-02-24 15:45:11 -0500
commitcdccc70eff1eaf3627a716374f9ebc115fc4621c (patch)
tree744a5a9e35c5749326d3bfb85336afceb24c2b4d /drivers/gpu/drm/nouveau/nv50_display.h
parent45c4e0aae96c6354bf5131a282a74fe38d032de3 (diff)
drm/nv50-nvc0: initialise display sync channels
Also imports a couple of helper functions that'll be used to implement page flipping in the following commits.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
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,