diff options
| author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-04-17 15:37:00 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-18 04:30:47 -0400 |
| commit | 99d9acdd0c5ce970eaf8e8671c0bc4cb7c6fb0c1 (patch) | |
| tree | 35dbf99f409b890b92040d64c0384d34e39ded83 /drivers/gpu | |
| parent | c291be9dba370ba696a0d482249a212cf5c15f45 (diff) | |
drm/i915: Do not set "Enable Panel Fitter" on SNB pageflips
Not only do the pageflip work without it at non-native modes (i.e. with
the panel fitter enabled), it also causes normal (non-pageflipped)
modesets to fail.
Reported-by: Adam Jackson <ajax@redhat.com>
Tested-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Wanted-by-for-fixes: Dave Airlie <airlied@gmail.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 8be30917bce3..5908cd563400 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -7468,7 +7468,13 @@ static int intel_gen6_queue_flip(struct drm_device *dev, | |||
| 7468 | OUT_RING(fb->pitches[0] | obj->tiling_mode); | 7468 | OUT_RING(fb->pitches[0] | obj->tiling_mode); |
| 7469 | OUT_RING(obj->gtt_offset); | 7469 | OUT_RING(obj->gtt_offset); |
| 7470 | 7470 | ||
| 7471 | pf = I915_READ(PF_CTL(intel_crtc->pipe)) & PF_ENABLE; | 7471 | /* Contrary to the suggestions in the documentation, |
| 7472 | * "Enable Panel Fitter" does not seem to be required when page | ||
| 7473 | * flipping with a non-native mode, and worse causes a normal | ||
| 7474 | * modeset to fail. | ||
| 7475 | * pf = I915_READ(PF_CTL(intel_crtc->pipe)) & PF_ENABLE; | ||
| 7476 | */ | ||
| 7477 | pf = 0; | ||
| 7472 | pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; | 7478 | pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; |
| 7473 | OUT_RING(pf | pipesrc); | 7479 | OUT_RING(pf | pipesrc); |
| 7474 | ADVANCE_LP_RING(); | 7480 | ADVANCE_LP_RING(); |
