From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Bruin Subject: Re: commit drm/i915: disable shared panel fitter for pipe breaks resolution switching Date: Tue, 09 Apr 2013 19:51:22 +0200 Message-ID: <5164551A.7050700@xmsnet.nl> References: <513255BC.80201@xmsnet.nl> <51378D4D.8020203@xmsnet.nl> <513CBCA8.2040403@xmsnet.nl> <20130407185651.GI2228@phenom.ffwll.local> <51630095.8010206@xmsnet.nl> <516452EF.1050004@xmsnet.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from smtp2.ispfabriek.nl (smtp2.ispfabriek.nl [188.142.0.19]) by gabe.freedesktop.org (Postfix) with ESMTP id D088CE629C for ; Tue, 9 Apr 2013 10:53:30 -0700 (PDT) In-Reply-To: <516452EF.1050004@xmsnet.nl> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Daniel Vetter Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org On 04/09/2013 07:42 PM, Hans de Bruin wrote: > On 04/09/2013 06:40 PM, Daniel Vetter wrote: >> Can you please quickly test whether the below patch changes anything >> in the behaviour? >> >> diff --git a/drivers/gpu/drm/i915/intel_display.c >> b/drivers/gpu/drm/i915/intel_display.c >> index 8809813..974ae32 100644 >> --- a/drivers/gpu/drm/i915/intel_display.c >> +++ b/drivers/gpu/drm/i915/intel_display.c >> @@ -4715,7 +4715,7 @@ static int i9xx_crtc_mode_set(struct drm_crtc >> *crtc, >> >> i9xx_set_pipeconf(intel_crtc); >> >> - intel_enable_pipe(dev_priv, pipe, false); >> + //intel_enable_pipe(dev_priv, pipe, false); >> >> intel_wait_for_vblank(dev, pipe); >> >> >> > > > for some reason the diff did not work. Here a snippet of my modified > intel_display.c: > > > ... > /* pipesrc and dspsize control the size that is scaled from, > * which should always be the user's requested size. > */ > I915_WRITE(DSPSIZE(plane), > ((mode->vdisplay - 1) << 16) | > (mode->hdisplay - 1)); > I915_WRITE(DSPPOS(plane), 0); > > I915_WRITE(PIPECONF(pipe), pipeconf); > POSTING_READ(PIPECONF(pipe)); > //intel_enable_pipe(dev_priv, pipe, false); > > intel_wait_for_vblank(dev, pipe); > > I915_WRITE(DSPCNTR(plane), dspcntr); > POSTING_READ(DSPCNTR(plane)); > ... > > The screen still does not scale. > > > By the way, I have had this problem before: > https://bugzilla.kernel.org/show_bug.cgi?id=43071 sorry my mistake that one did scale, but just was not alligned properly. -- Hans