aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-02-09 14:53:27 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-02-09 15:49:30 -0500
commite21af88d39796c907c38648c824be3d646ffbe35 (patch)
tree1c50f1f039ceb52050b21fddeb1216b03a39b907 /drivers/gpu/drm/i915/i915_drv.h
parent3cf17fc522ee081f7cb2ab325e6c697ca12005e4 (diff)
drm/i915: enable ppgtt
We want to unconditionally enable ppgtt for two reasons: - Windows uses this on snb and later. - We need the basic hw support to work before we can think about real per-process address spaces and other cool features we want. But Chris Wilson was complaining all over irc and intel-gfx that this will blow up if we don't have a module option to disable it. Hence add one, to prevent this. ppgtt support seems to slightly change the timings and make crashy things slightly more or less crashy. Now in my testing and the testing this got on troublesome snb machines, it seems to have improved things only. But on ivb it makes quite a few crashes happen much more often, see https://bugs.freedesktop.org/show_bug.cgi?id=41353 Luckily Eugeni Dodonov seems to have a set of workarounds that fix this issue. v2: Don't try to enable ppgtt on pre-snb. v3: Pimp commit message and make Chris Wilson less grumpy by adding a module option. v4: New try at making Chris Wilson happy. Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com> Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 35c8b5316396..45b609e6b131 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1032,6 +1032,7 @@ extern int i915_vbt_sdvo_panel_type __read_mostly;
1032extern int i915_enable_rc6 __read_mostly; 1032extern int i915_enable_rc6 __read_mostly;
1033extern int i915_enable_fbc __read_mostly; 1033extern int i915_enable_fbc __read_mostly;
1034extern bool i915_enable_hangcheck __read_mostly; 1034extern bool i915_enable_hangcheck __read_mostly;
1035extern bool i915_enable_ppgtt __read_mostly;
1035 1036
1036extern int i915_suspend(struct drm_device *dev, pm_message_t state); 1037extern int i915_suspend(struct drm_device *dev, pm_message_t state);
1037extern int i915_resume(struct drm_device *dev); 1038extern int i915_resume(struct drm_device *dev);
@@ -1210,6 +1211,7 @@ int __must_check i915_gem_object_set_domain(struct drm_i915_gem_object *obj,
1210int __must_check i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj); 1211int __must_check i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj);
1211int __must_check i915_gem_init_hw(struct drm_device *dev); 1212int __must_check i915_gem_init_hw(struct drm_device *dev);
1212void i915_gem_init_swizzling(struct drm_device *dev); 1213void i915_gem_init_swizzling(struct drm_device *dev);
1214void i915_gem_init_ppgtt(struct drm_device *dev);
1213void i915_gem_cleanup_ringbuffer(struct drm_device *dev); 1215void i915_gem_cleanup_ringbuffer(struct drm_device *dev);
1214void i915_gem_do_init(struct drm_device *dev, 1216void i915_gem_do_init(struct drm_device *dev,
1215 unsigned long start, 1217 unsigned long start,