mirror of https://gitee.com/openkylin/linux.git
drm/i915: Make g4x_fixup_plane() operational again
Don't enable the cursor until g4x_fixup_plane() had a chance to do cast its magic spell. Egbert writes: "Today I had the chance to test this. First I tried if I can still reproduce the blank with this patch added when I disable my voodoo g4x_fixup_plane(): It turned out it still happens however very rarely (like 1 out of 20 tries). When I reenabled my voodoo the issue still occurred. I had to switch two lines around, ie: intel_enable_plane(dev_priv, plane, pipe); if (IS_G4X(dev)) g4x_fixup_plane(dev_priv, pipe); + intel_crtc_update_cursor(crtc, true); to avoid the blank screen issue - which is it didn't happen in ~75 tries." v2: Add a comment to remind people of the ordering constraints Acked-by: Egbert Eich <eich@suse.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
fd3da6c95b
commit
22e407d749
|
@ -3700,9 +3700,10 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
|
||||||
intel_enable_pipe(dev_priv, pipe, false);
|
intel_enable_pipe(dev_priv, pipe, false);
|
||||||
intel_enable_plane(dev_priv, plane, pipe);
|
intel_enable_plane(dev_priv, plane, pipe);
|
||||||
intel_enable_planes(crtc);
|
intel_enable_planes(crtc);
|
||||||
intel_crtc_update_cursor(crtc, true);
|
/* The fixup needs to happen before cursor is enabled */
|
||||||
if (IS_G4X(dev))
|
if (IS_G4X(dev))
|
||||||
g4x_fixup_plane(dev_priv, pipe);
|
g4x_fixup_plane(dev_priv, pipe);
|
||||||
|
intel_crtc_update_cursor(crtc, true);
|
||||||
|
|
||||||
/* Give the overlay scaler a chance to enable if it's on this pipe */
|
/* Give the overlay scaler a chance to enable if it's on this pipe */
|
||||||
intel_crtc_dpms_overlay(intel_crtc, true);
|
intel_crtc_dpms_overlay(intel_crtc, true);
|
||||||
|
|
Loading…
Reference in New Issue