All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Intel-gfx@lists.freedesktop.org
Subject: [PATCH v4 0/7] Restore workarounds after engine reset and unify their handling
Date: Mon,  3 Dec 2018 12:50:07 +0000	[thread overview]
Message-ID: <20181203125014.3219-1-tvrtko.ursulin@linux.intel.com> (raw)

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

First two patches in this series fix losing of workarounds after engine reset
(https://bugzilla.freedesktop.org/show_bug.cgi?id=107945) which started
happening after 59b449d5c82a ("drm/i915: Split out functions for different kinds
of workarounds").

But since it was discovered to be unsafe to simply re-apply all of them, against
a possibly active GPU, and potentially from IRQ context, the approach taken was
to split GT workarounds and per-engine workarounds. Latter so far contain the
ones living in the 0x2xxx and 0xbxxx range, which were empirically shown to be
lost after RCS reset.

This way only a smaller set of affected workarounds can be applied after engine
resetm, which is done with irq safe read-modify-write cycle.

The series is structured like this so first two patches are as standalone as
possible so it is easy (easier) to backport them. The rest of the series
cleans up the whole workaround handling by moving all four classes of them to a
common framework.

v2:
 * One patch less due removing verification after engine reset.
 * See patch change logs.

v3:
 * Further review comments as per individual change logs.

v4:
 * Further review comment tweaks.

Tvrtko Ursulin (7):
  drm/i915: Record GT workarounds in a list
  drm/i915: Introduce per-engine workarounds
  drm/i915: Verify GT workaround state after GPU init
  drm/i915/selftests: Add tests for GT and engine workaround
    verification
  drm/i915: Move register white-listing to the common workaround
    framework
  drm/i915: Fuse per-context workaround handling with the common
    framework
  drm/i915: Trim unused workaround list entries

 drivers/gpu/drm/i915/Makefile                 |   1 +
 drivers/gpu/drm/i915/i915_debugfs.c           |  12 +-
 drivers/gpu/drm/i915/i915_drv.c               |   2 +
 drivers/gpu/drm/i915/i915_drv.h               |  17 +-
 drivers/gpu/drm/i915/i915_gem.c               |   7 +-
 drivers/gpu/drm/i915/i915_gem_context.c       |   6 +-
 drivers/gpu/drm/i915/intel_engine_cs.c        |   4 +
 drivers/gpu/drm/i915/intel_lrc.c              |  11 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c       |   2 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h       |   4 +
 drivers/gpu/drm/i915/intel_workarounds.c      | 989 +++++++++++-------
 drivers/gpu/drm/i915/intel_workarounds.h      |  36 +-
 drivers/gpu/drm/i915/selftests/igt_reset.c    |  44 +
 drivers/gpu/drm/i915/selftests/igt_reset.h    |  15 +
 .../gpu/drm/i915/selftests/intel_hangcheck.c  |  51 +-
 .../drm/i915/selftests/intel_workarounds.c    | 184 +++-
 16 files changed, 886 insertions(+), 499 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/selftests/igt_reset.c
 create mode 100644 drivers/gpu/drm/i915/selftests/igt_reset.h

-- 
2.19.1

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

             reply	other threads:[~2018-12-03 12:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-03 12:50 Tvrtko Ursulin [this message]
2018-12-03 12:50 ` [PATCH 1/7] drm/i915: Record GT workarounds in a list Tvrtko Ursulin
2018-12-03 12:53   ` Chris Wilson
2018-12-03 13:33   ` Tvrtko Ursulin
2018-12-03 12:50 ` [PATCH 2/7] drm/i915: Introduce per-engine workarounds Tvrtko Ursulin
2018-12-03 13:33   ` Tvrtko Ursulin
2018-12-03 12:50 ` [PATCH 3/7] drm/i915: Verify GT workaround state after GPU init Tvrtko Ursulin
2018-12-03 12:50 ` [PATCH 4/7] drm/i915/selftests: Add tests for GT and engine workaround verification Tvrtko Ursulin
2018-12-03 12:50 ` [PATCH 5/7] drm/i915: Move register white-listing to the common workaround framework Tvrtko Ursulin
2018-12-03 12:50 ` [PATCH 6/7] drm/i915: Fuse per-context workaround handling with the common framework Tvrtko Ursulin
2018-12-03 13:33   ` Tvrtko Ursulin
2018-12-03 12:50 ` [PATCH 7/7] drm/i915: Trim unused workaround list entries Tvrtko Ursulin
2018-12-03 12:52   ` Chris Wilson
2018-12-03 13:05 ` ✗ Fi.CI.CHECKPATCH: warning for Restore workarounds after engine reset and unify their handling (rev4) Patchwork
2018-12-03 13:08 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-12-03 13:36 ` ✓ Fi.CI.BAT: success " Patchwork
2018-12-03 14:40 ` ✗ Fi.CI.CHECKPATCH: warning for Restore workarounds after engine reset and unify their handling (rev7) Patchwork
2018-12-03 14:43 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-12-03 14:56 ` ✗ Fi.CI.BAT: failure " Patchwork
2018-12-03 17:23 ` ✗ Fi.CI.CHECKPATCH: warning for Restore workarounds after engine reset and unify their handling (rev8) Patchwork
2018-12-03 17:26 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-12-04  8:01 ` ✗ Fi.CI.CHECKPATCH: warning for Restore workarounds after engine reset and unify their handling (rev9) Patchwork
2018-12-04  8:04 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-12-04  8:22 ` ✓ Fi.CI.BAT: success " Patchwork
2018-12-04  8:41 ` ✓ Fi.CI.BAT: success for Restore workarounds after engine reset and unify their handling (rev8) Patchwork
2018-12-04 13:02   ` Tvrtko Ursulin
2018-12-04  9:42 ` ✓ Fi.CI.IGT: success for Restore workarounds after engine reset and unify their handling (rev9) Patchwork
2018-12-04 12:12   ` Chris Wilson

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=20181203125014.3219-1-tvrtko.ursulin@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=Intel-gfx@lists.freedesktop.org \
    /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.