From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Govindapillai, Vinod" <vinod.govindapillai@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 5/5] drm/i915: Mask page table errors on gen2/3 with FBC
Date: Thu, 23 Feb 2023 16:01:22 +0200 [thread overview]
Message-ID: <Y/dxsrXKK4Ew9uHt@intel.com> (raw)
In-Reply-To: <bb9a6acc5aa70d2b89f9a31f36a8eaf3d8e2bdb1.camel@intel.com>
On Thu, Feb 23, 2023 at 12:46:21PM +0000, Govindapillai, Vinod wrote:
> Hi
>
> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
>
> BR
> vinod
>
> PS: With this patch seems my comment for the prev patch in this series might not be relevant.
Aye.
On a related note, sometimes I do muse about unifying all
the (non-vlv/chv) gmch platform irq code into just one
copy, but in this case that wouldn't really change
anything anyway since we need different values for
different platforms.
Thaks for the review.
>
> On Wed, 2023-01-25 at 20:52 +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > FBC on gen2/3 seems to trigger page table errors. No visual
> > artifacts are visible, and essentially the same FBC
> > code works on gen4 so these seem entirely spurious. There
> > are also hints in gen3 bspec indicating that certain bits
> > in PGTBL_ER are just not wired up correctly in the
> > hardware.
> >
> > Ideally we'd want to mask out only the bogus bits, but
> > sadly there is no mask for PGTBL_ER, and instead we are
> > forced to mask out all page table errors via EMR :(
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_irq.c | 22 ++++++++++++++++++++--
> > 1 file changed, 20 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index 081b79d00521..496f76bf42f3 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -3473,8 +3473,23 @@ static void i8xx_irq_reset(struct drm_i915_private *dev_priv)
> >
> > static u32 i9xx_error_mask(struct drm_i915_private *i915)
> > {
> > - return ~(I915_ERROR_PAGE_TABLE |
> > - I915_ERROR_MEMORY_REFRESH);
> > + /*
> > + * On gen2/3 FBC generates (seemingly spurious)
> > + * display INVALID_GTT/INVALID_GTT_PTE table errors.
> > + *
> > + * Also gen3 bspec has this to say:
> > + * "DISPA_INVALID_GTT_PTE
> > + " [DevNapa] : Reserved. This bit does not reflect the page
> > + " table error for the display plane A."
> > + *
> > + * Unfortunately we can't mask off individual PGTBL_ER bits,
> > + * so we just have to mask off all page table errors via EMR.
> > + */
> > + if (HAS_FBC(i915))
> > + return ~I915_ERROR_MEMORY_REFRESH;
> > + else
> > + return ~(I915_ERROR_PAGE_TABLE |
> > + I915_ERROR_MEMORY_REFRESH);
> > }
> >
> > static void i8xx_irq_postinstall(struct drm_i915_private *dev_priv)
> > @@ -3762,6 +3777,9 @@ static u32 i965_error_mask(struct drm_i915_private *i915)
> > /*
> > * Enable some error detection, note the instruction error mask
> > * bit is reserved, so we leave it masked.
> > + *
> > + * i965 FBC no longer generates spurious GTT errors,
> > + * so we can always enable the page table errors.
> > */
> > if (IS_G4X(i915))
> > return ~(GM45_ERROR_PAGE_TABLE |
>
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2023-02-23 14:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 18:52 [Intel-gfx] [PATCH 0/5] drm/i915: Error/underrun interrupt fixes Ville Syrjala
2023-01-25 18:52 ` [Intel-gfx] [PATCH 1/5] drm/i915: Mark FIFO underrun disabled earlier Ville Syrjala
2023-02-23 9:17 ` Govindapillai, Vinod
2023-01-25 18:52 ` [Intel-gfx] [PATCH 2/5] drm/i915: Undo rmw damage to gen3 error interrupt handler Ville Syrjala
2023-02-23 12:21 ` Govindapillai, Vinod
2023-01-25 18:52 ` [Intel-gfx] [PATCH 3/5] drm/i915: Dump PGTBL_ER on gen2/3/4 error interrupt Ville Syrjala
2023-02-23 12:23 ` Govindapillai, Vinod
2023-01-25 18:52 ` [Intel-gfx] [PATCH 4/5] drm/i915: Extract {i9xx, i965)_error_mask() Ville Syrjala
2023-02-23 12:34 ` Govindapillai, Vinod
2023-01-25 18:52 ` [Intel-gfx] [PATCH 5/5] drm/i915: Mask page table errors on gen2/3 with FBC Ville Syrjala
2023-02-23 12:46 ` Govindapillai, Vinod
2023-02-23 14:01 ` Ville Syrjälä [this message]
2023-01-26 2:27 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Error/underrun interrupt fixes Patchwork
2023-01-26 12:55 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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=Y/dxsrXKK4Ew9uHt@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=vinod.govindapillai@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.