Re: More questions and patches for 835GM/ns2501 DVO

Daniel Vetter
2013-11-15T17:32:26Z

On Wed, Nov 06, 2013 at 11:34:05AM +0100, Daniel Vetter wrote:
> On Sun, Nov 03, 2013 at 10:18:14PM +0100, Daniel Vetter wrote:
> > Hm, that would mean that the cursor is somehow stuck in the enabled state,
> > despite that we've tried to disabled it very hard. Can you please try out
> > the below patch? If this doesn't work please take not of the different
> > WARNINGs you're hitting and whether it's always the same one with the same
> > calltrace or something different.
> >
> > I think for now we should try to get the single monitor case working - I
> > have a few theories for the dual-screen issues, but there's not much point
> > working on them if the simple case doesn't work yet.
> >
> > Also I think I'll merge the two patches if they don't make things worse
> > for you, imo it's the right approach and at least conceptually should be
> > able to avoid all these retry loops.
> >
> > Thanks, Daniel
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index f34252d134b6..04d2699f51b4 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -7123,7 +7123,9 @@ static void i9xx_update_cursor(struct drm_crtc *crtc, u32 base)
> > intel_crtc->cursor_visible = visible;
> > }
> > /* and commit changes on next vblank */
> > + POSTING_READ(CURCNTR(pipe));
> > I915_WRITE(CURBASE(pipe), base);
> > + POSTING_READ(CURBASE(pipe));
> > }
> >
> > static void ivb_update_cursor(struct drm_crtc *crtc, u32 base)
> > @@ -7152,7 +7154,9 @@ static void ivb_update_cursor(struct drm_crtc *crtc, u32 base)
> > intel_crtc->cursor_visible = visible;
> > }
> > /* and commit changes on next vblank */
> > + POSTING_READ(CURCNTR_IVB(pipe));
> > I915_WRITE(CURBASE_IVB(pipe), base);
> > + POSTING_READ(CURBASE_IVB(pipe));
> > }
>
> To clarify: Do you need this patch to make the single-pipe mode work
> reliably? It's a bit unclear in your answer ...

To clarify my clarification question: Do you need the above quoted patch
to make the cursor work better on your system? This is not about a WARN or
the flicker or dual pipe (last time I've asked you kinda went on a
tangent). I'm asking again since this patch for the cursor code is
currently blocked from merging because I couldn't get a clear "this is
needed, yes" from you.

Thanks, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch