All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Perform a chipset flush for GGTT writes
@ 2018-05-03  9:36 Chris Wilson
  2018-05-03  9:42 ` Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Chris Wilson @ 2018-05-03  9:36 UTC (permalink / raw)
  To: intel-gfx

Investigating the coherency issue on gdg (ye olde gen2), in particular
the failure in gem_set_tiling_vs_pwrite, it appears that gem_write()
followed by gem_read() fails. That is a write through the GTT write
domain, followed by a read through the CPU domain. Since we have
disabled clflush on the machine, we know it is moving the whole object
between domains and issuing wbinvd. Still this does not appear to be
enough, so let's resort to a chipset-flush which includes poking around
in magic registers.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 484354f25f98..e97aacc335f2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -793,7 +793,7 @@ void i915_gem_flush_ggtt_writes(struct drm_i915_private *dev_priv)
 	 * that was!).
 	 */
 
-	wmb();
+	i915_gem_chipset_flush(dev_priv);
 
 	intel_runtime_pm_get(dev_priv);
 	spin_lock_irq(&dev_priv->uncore.lock);
-- 
2.17.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/i915: Perform a chipset flush for GGTT writes
  2018-05-03  9:36 [PATCH] drm/i915: Perform a chipset flush for GGTT writes Chris Wilson
@ 2018-05-03  9:42 ` Chris Wilson
  2018-05-03 10:56 ` ✗ Fi.CI.BAT: failure for " Patchwork
  2018-05-03 12:26 ` Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2018-05-03  9:42 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2018-05-03 10:36:59)
> Investigating the coherency issue on gdg (ye olde gen2), in particular
> the failure in gem_set_tiling_vs_pwrite, it appears that gem_write()
> followed by gem_read() fails. That is a write through the GTT write
> domain, followed by a read through the CPU domain. Since we have
> disabled clflush on the machine, we know it is moving the whole object
> between domains and issuing wbinvd. Still this does not appear to be
> enough, so let's resort to a chipset-flush which includes poking around
> in magic registers.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 484354f25f98..e97aacc335f2 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -793,7 +793,7 @@ void i915_gem_flush_ggtt_writes(struct drm_i915_private *dev_priv)
>          * that was!).
>          */
>  
> -       wmb();
> +       i915_gem_chipset_flush(dev_priv);
>  
>         intel_runtime_pm_get(dev_priv);
>         spin_lock_irq(&dev_priv->uncore.lock);

I should mention that we should do a better job of tracking when we need
such a global hammer -- we almost have the infrastructure in place as we
do track GGTT writes on a vma, we just don't keep them in a global list.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Perform a chipset flush for GGTT writes
  2018-05-03  9:36 [PATCH] drm/i915: Perform a chipset flush for GGTT writes Chris Wilson
  2018-05-03  9:42 ` Chris Wilson
@ 2018-05-03 10:56 ` Patchwork
  2018-05-03 12:26 ` Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-05-03 10:56 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Perform a chipset flush for GGTT writes
URL   : https://patchwork.freedesktop.org/series/42627/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_4130 -> Patchwork_8893 =

== Summary - FAILURE ==

  Serious unknown changes coming with Patchwork_8893 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_8893, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/42627/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_8893:

  === IGT changes ===

    ==== Possible regressions ====

    igt@drv_module_reload@basic-reload:
      fi-bsw-n3050:       PASS -> DMESG-FAIL

    
== Known issues ==

  Here are the changes found in Patchwork_8893 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_mmap_gtt@basic-small-bo-tiledx:
      fi-gdg-551:         PASS -> FAIL (fdo#102575)

    igt@gem_ringfill@basic-default-hang:
      fi-pnv-d510:        NOTRUN -> DMESG-WARN (fdo#101600)

    igt@kms_frontbuffer_tracking@basic:
      fi-hsw-4200u:       PASS -> DMESG-FAIL (fdo#102614)

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
      fi-cfl-s3:          PASS -> FAIL (fdo#103481)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
      fi-ivb-3520m:       PASS -> DMESG-WARN (fdo#106084)

    
    ==== Possible fixes ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-skl-guc:         FAIL (fdo#104699) -> PASS +1

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-bxt-dsi:         INCOMPLETE (fdo#103927) -> PASS

    
  fdo#101600 https://bugs.freedesktop.org/show_bug.cgi?id=101600
  fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#104699 https://bugs.freedesktop.org/show_bug.cgi?id=104699
  fdo#106084 https://bugs.freedesktop.org/show_bug.cgi?id=106084


== Participating hosts (39 -> 37) ==

  Additional (1): fi-pnv-d510 
  Missing    (3): fi-ctg-p8600 fi-ilk-m540 fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4130 -> Patchwork_8893

  CI_DRM_4130: 7cccdd4022b8be9118cb9ef67168419f249ff049 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4458: 43761534c6482dc67b9c3d8eeecd425ef40b3c4c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_8893: 2adff5538331be7c6758214987a41f019b1a1196 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4458: f74d92e704849610364b4474a2c67ea2008c14e0 @ git://anongit.freedesktop.org/piglit


== Linux commits ==

2adff5538331 drm/i915: Perform a chipset flush for GGTT writes

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8893/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Perform a chipset flush for GGTT writes
  2018-05-03  9:36 [PATCH] drm/i915: Perform a chipset flush for GGTT writes Chris Wilson
  2018-05-03  9:42 ` Chris Wilson
  2018-05-03 10:56 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2018-05-03 12:26 ` Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-05-03 12:26 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Perform a chipset flush for GGTT writes
URL   : https://patchwork.freedesktop.org/series/42627/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_4131 -> Patchwork_8895 =

== Summary - FAILURE ==

  Serious unknown changes coming with Patchwork_8895 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_8895, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/42627/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_8895:

  === IGT changes ===

    ==== Possible regressions ====

    igt@drv_module_reload@basic-reload-inject:
      fi-bsw-n3050:       PASS -> DMESG-FAIL

    
== Known issues ==

  Here are the changes found in Patchwork_8895 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
      fi-hsw-4200u:       PASS -> FAIL (fdo#103481)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       PASS -> INCOMPLETE (fdo#103713)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-ivb-3520m:       PASS -> DMESG-WARN (fdo#106084)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload:
      fi-bsw-n3050:       DMESG-FAIL (fdo#106373) -> PASS

    igt@gem_mmap_gtt@basic-small-bo-tiledx:
      fi-gdg-551:         FAIL (fdo#102575) -> PASS

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-skl-6770hq:      FAIL (fdo#100368) -> PASS

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
      fi-skl-6770hq:      FAIL (fdo#103481) -> PASS +1

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-bxt-dsi:         INCOMPLETE (fdo#103927) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
  fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#106084 https://bugs.freedesktop.org/show_bug.cgi?id=106084
  fdo#106373 https://bugs.freedesktop.org/show_bug.cgi?id=106373


== Participating hosts (39 -> 37) ==

  Additional (1): fi-byt-j1900 
  Missing    (3): fi-ctg-p8600 fi-ilk-m540 fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4131 -> Patchwork_8895

  CI_DRM_4131: 46d3a67e7a5611ef8af00cb7adebf03817856645 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4459: 1b8977e08031253d61b4641bc21e5c7a990d4a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_8895: 2a915cba9816d9a0213a86e88faeff25a5aab6df @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4459: f74d92e704849610364b4474a2c67ea2008c14e0 @ git://anongit.freedesktop.org/piglit


== Linux commits ==

2a915cba9816 drm/i915: Perform a chipset flush for GGTT writes

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8895/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-03 12:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-03  9:36 [PATCH] drm/i915: Perform a chipset flush for GGTT writes Chris Wilson
2018-05-03  9:42 ` Chris Wilson
2018-05-03 10:56 ` ✗ Fi.CI.BAT: failure for " Patchwork
2018-05-03 12:26 ` Patchwork

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.