aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_drv.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-04-19 03:36:26 -0400
committerKeith Packard <keithp@keithp.com>2011-05-10 16:19:18 -0400
commitd2dff872ac44540622ef77a2b7d6ce4a1b145931 (patch)
treec66cb740139e9793b39d6d0731eebc6b3a53b85f /drivers/gpu/drm/i915/intel_drv.h
parent0622a53c60fbf48d3b85efc4995f4c152c254cf4 (diff)
drm/i915: Attach a fb to the load-detect pipe
We need to ensure that we feed valid memory into the display plane attached to the pipe when switching the pipe on. Otherwise, the display engine may read through an invalid PTE and so throw an PGTBL_ER exception. As we need to perform load detection before even the first object is allocated for the fbdev, there is no pre-existing object large enough for us to borrow to use as the framebuffer. So we need to create one and cleanup afterwards. At other times, the current fbcon may be large enough for us to borrow it for duration of load detection. Found by assert_fb_bound_for_plane(). Reported-by: Knut Petersen <Knut_Petersen@t-online.de> References: https://bugs.freedesktop.org/show_bug.cgi?id=36246 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 3ceb3daeb61f..2e49b62da9a5 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -292,6 +292,7 @@ extern void intel_wait_for_vblank(struct drm_device *dev, int pipe);
292extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe); 292extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe);
293 293
294struct intel_load_detect_pipe { 294struct intel_load_detect_pipe {
295 struct drm_framebuffer *release_fb;
295 bool load_detect_temp; 296 bool load_detect_temp;
296 int dpms_mode; 297 int dpms_mode;
297}; 298};