diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-04-19 08:36:26 +0100 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-05-10 13:19:18 -0700 |
commit | d2dff872ac44540622ef77a2b7d6ce4a1b145931 (patch) | |
tree | c66cb740139e9793b39d6d0731eebc6b3a53b85f /drivers/gpu/drm/i915/intel_drv.h | |
parent | 0622a53c60fbf48d3b85efc4995f4c152c254cf4 (diff) | |
download | blackbird-op-linux-d2dff872ac44540622ef77a2b7d6ce4a1b145931.tar.gz blackbird-op-linux-d2dff872ac44540622ef77a2b7d6ce4a1b145931.zip |
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.h | 1 |
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); extern void intel_wait_for_pipe_off(struct drm_device *dev, int pipe); struct intel_load_detect_pipe { + struct drm_framebuffer *release_fb; bool load_detect_temp; int dpms_mode; }; |