intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Zanoni, Paulo R" <paulo.r.zanoni@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 04/16] drm/i915: set ILK_DPFC_FENCE_YOFF to 0 on SNB
Date: Fri, 9 Oct 2015 00:37:41 +0300	[thread overview]
Message-ID: <20151008213741.GF26517@intel.com> (raw)
In-Reply-To: <1444339577.2413.7.camel@intel.com>

On Thu, Oct 08, 2015 at 09:26:19PM +0000, Zanoni, Paulo R wrote:
> Em Sex, 2015-08-28 às 17:46 +0300, Ville Syrjälä escreveu:
> > On Fri, Aug 14, 2015 at 06:34:09PM -0300, Paulo Zanoni wrote:
> > > The doc is pretty clear that this register should be set to 0 on
> > > SNB.
> > > We already write y_offset to DPFC_CPU_FENCE_OFFSET a few lines
> > > below.
> > 
> > Bspec says:
> > "Restriction : The CPU fence is always programmed to match the
> > Display
> >  Buffer base, so this offset must be programmed to 0 to match. 	
> > DevSNB"
> > 
> > We definitely don't program the fence to match DSPSURF, so it's not
> > very
> > clear that this is really the right thing to do. I suppose it depends
> > on
> > how the Y offset in the SA register interacts with this one. I never
> > got
> > around to fixing the Y offset stuff in my FBC efforts, so I've not
> > tried
> > it on real hardware and so I have no sure answer here.
> 
> The BSpec page for DPFC Control on SNB says:
> 
> 8<---------------------
> Project :DEVSNB
> iMPH will only send the host modify message when modifications are in
> the fence selected in the DPFC_CONTROL_SA register CPUFNCNUM field. The
> fence field in the FBC Host Modification message will always be 0 and
> this field must be programmed to 0 to match.
> 8<---------------------

That's about the fence number, it doesn't say anything about the offset
IIRC.

I guess it could be tested by, say:
- set the SA fence offset to some high number and leave this one low
- do the opposite
and in each case see if GTT tracking still works.

And to make sure were testin the right thing, probably repeat with
both offsets set high and make sure the tracking really does not work.

> 
> (and DPFC_CONTROL_SA is register 0x100100)
> 
> > 
> > > 
> > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_fbc.c | 7 ++++++-
> > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_fbc.c
> > > b/drivers/gpu/drm/i915/intel_fbc.c
> > > index 9ffa7dc..f7be9ab8 100644
> > > --- a/drivers/gpu/drm/i915/intel_fbc.c
> > > +++ b/drivers/gpu/drm/i915/intel_fbc.c
> > > @@ -216,7 +216,12 @@ static void ilk_fbc_enable(struct intel_crtc
> > > *crtc)
> > >  		dpfc_ctl |= obj->fence_reg;
> > >  
> > >  	y_offset = get_crtc_fence_y_offset(crtc);
> > > -	I915_WRITE(ILK_DPFC_FENCE_YOFF, y_offset);
> > > +
> > > +	if (IS_GEN5(dev_priv))
> > > +		I915_WRITE(ILK_DPFC_FENCE_YOFF, y_offset);
> > > +	else
> > > +		I915_WRITE(ILK_DPFC_FENCE_YOFF, 0);
> > > +
> > >  	I915_WRITE(ILK_FBC_RT_BASE, i915_gem_obj_ggtt_offset(obj)
> > > | ILK_FBC_RT_VALID);
> > >  	/* enable it... */
> > >  	I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl | DPFC_CTL_EN);
> > > -- 
> > > 2.4.6
> > > 
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-10-08 21:37 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 21:34 [PATCH 00/16] FBC bug fixes Paulo Zanoni
2015-08-14 21:34 ` [PATCH 01/16] drm/i915: make sure we're not changing the FBC CFB with FBC enabled Paulo Zanoni
2015-08-28 14:05   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 02/16] drm/i915: fix the FBC work allocation failure path Paulo Zanoni
2015-08-28 14:20   ` Ville Syrjälä
2015-08-28 14:50     ` Paulo Zanoni
2015-08-28 15:29       ` Ville Syrjälä
2015-09-01 10:07       ` Daniel Vetter
2015-09-01 11:03         ` Ville Syrjälä
2015-09-02  7:52           ` Daniel Vetter
2015-08-14 21:34 ` [PATCH 03/16] drm/i915: fix FBC for cases where crtc->base.y is non-zero Paulo Zanoni
2015-08-28 14:30   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 04/16] drm/i915: set ILK_DPFC_FENCE_YOFF to 0 on SNB Paulo Zanoni
2015-08-28 14:46   ` Ville Syrjälä
2015-10-08 21:26     ` Zanoni, Paulo R
2015-10-08 21:37       ` Ville Syrjälä [this message]
2015-08-14 21:34 ` [PATCH 05/16] drm/i915: check for the supported strides on HSW+ FBC Paulo Zanoni
2015-08-28 15:16   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 06/16] drm/i915: try a little harder to find an FBC CRTC Paulo Zanoni
2015-08-28 16:55   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 07/16] drm/i915: disable FBC on FIFO underruns Paulo Zanoni
2015-08-15  8:22   ` Chris Wilson
2015-08-19 12:06   ` Ville Syrjälä
2015-08-20 13:30     ` Paulo Zanoni
2015-08-20 13:58       ` Ville Syrjälä
2015-08-20 14:29         ` Paulo Zanoni
2015-08-20 15:00           ` Ville Syrjälä
2015-08-26  7:36             ` Daniel Vetter
2015-08-14 21:34 ` [PATCH 08/16] drm/i915: avoid the last 8mb of stolen on BDW/SKL Paulo Zanoni
2015-08-15  8:29   ` Chris Wilson
2015-08-18 21:49     ` Zanoni, Paulo R
2015-08-19  8:24       ` chris
2015-09-11 20:35         ` Paulo Zanoni
2015-08-14 21:34 ` [PATCH 09/16] drm/i915: print the correct amount of bytes allocated for the CFB Paulo Zanoni
2015-08-28 17:11   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 10/16] drm/i915: fix CFB size calculation Paulo Zanoni
2015-08-28 17:25   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 11/16] drm/i915/bdw: don't enable FBC when pixel rate exceeds 95% Paulo Zanoni
2015-08-28 17:41   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 12/16] drm/i915: apply WaFbcAsynchFlipDisableFbcQueue earlier Paulo Zanoni
2015-08-28 17:45   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 13/16] drm/i915: don't use the first stolen page on Broadwell Paulo Zanoni
2015-08-15  8:30   ` Chris Wilson
2015-08-19 11:55     ` Ville Syrjälä
2015-08-26  7:48       ` Daniel Vetter
2015-08-26 11:21         ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 14/16] drm/i915: don't apply WaFbcAsynchFlipDisableFbcQueue on SKL Paulo Zanoni
2015-08-28 17:51   ` Ville Syrjälä
2015-08-14 21:34 ` [PATCH 15/16] Revert "drm/i915: Allocate fbcon from stolen memory" Paulo Zanoni
2015-08-15  8:24   ` Chris Wilson
2015-08-18 21:54     ` Zanoni, Paulo R
2015-08-19  8:16       ` chris
2015-08-14 21:34 ` [PATCH 16/16] drm/i915: reject invalid formats for FBC Paulo Zanoni
2015-08-28 17:55   ` Ville Syrjälä

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151008213741.GF26517@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).