Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Zhanjun Dong <zhanjun.dong@intel.com>
To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH v2] drm/xe/guc: Add GuC based register capture for error capture
Date: Tue, 16 Jan 2024 09:12:28 -0800	[thread overview]
Message-ID: <20240116171237.118463-1-zhanjun.dong@intel.com> (raw)

Port GuC based register capture for error capture from i915 to Xe.

There are 3 parts in this commit:
. Prepare for capture registers
    There is a bo create at guc ads init time, that is very early
    and engine map is not ready, make it hard to calculate the
    capture buffer size, new function created for worst case size
    caluation. Other than that, this part basically follows the i915
    design.
. Process capture notification message
    Basically follows i915 design
. Sysfs command process.
    Xe switched to devcoredump, adopted command line process with
    captured list.

Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>

Zhanjun Dong (9):
  drm/xe/guc: Add register defines for GuC based register capture
  drm/xe/guc: Expose dss per group for GuC error capture
  drm/xe/guc: Update GuC ADS size for error capture
  drm/xe/guc: Add XE_LP steered register lists
  drm/xe/guc: Add capture size check in GuC log buffer
  drm/xe/guc: Check sizing of guc_capture output
  drm/xe/guc: Extract GuC error capture lists on G2H notification
  drm/xe/guc: Pre-allocate output nodes for extraction
  drm/xe/guc: Plumb GuC-capture into dev coredump

 drivers/gpu/drm/xe/Kconfig               |   11 +
 drivers/gpu/drm/xe/Makefile              |    1 +
 drivers/gpu/drm/xe/abi/guc_actions_abi.h |    7 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h |   12 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h     |   20 +
 drivers/gpu/drm/xe/xe_gt_mcr.c           |    4 +-
 drivers/gpu/drm/xe/xe_gt_mcr.h           |    1 +
 drivers/gpu/drm/xe/xe_gt_printk.h        |    3 +
 drivers/gpu/drm/xe/xe_gt_topology.c      |    3 -
 drivers/gpu/drm/xe/xe_guc.c              |    7 +
 drivers/gpu/drm/xe/xe_guc_ads.c          |  255 +++-
 drivers/gpu/drm/xe/xe_guc_ads_types.h    |    2 +
 drivers/gpu/drm/xe/xe_guc_capture.c      | 1404 ++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_guc_capture.h      |   35 +
 drivers/gpu/drm/xe/xe_guc_capture_fwif.h |  225 ++++
 drivers/gpu/drm/xe/xe_guc_ct.c           |    2 +
 drivers/gpu/drm/xe/xe_guc_fwif.h         |   68 ++
 drivers/gpu/drm/xe/xe_guc_log.c          |  179 +++
 drivers/gpu/drm/xe/xe_guc_log.h          |   15 +
 drivers/gpu/drm/xe/xe_guc_log_types.h    |   26 +
 drivers/gpu/drm/xe/xe_guc_submit.c       |   22 +-
 drivers/gpu/drm/xe/xe_guc_submit.h       |    3 +
 drivers/gpu/drm/xe/xe_guc_types.h        |    2 +
 drivers/gpu/drm/xe/xe_hw_engine.c        |   73 +-
 drivers/gpu/drm/xe/xe_hw_engine_types.h  |  106 +-
 25 files changed, 2355 insertions(+), 131 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_guc_capture.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_capture.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_capture_fwif.h

-- 
2.34.1


             reply	other threads:[~2024-01-16 17:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-16 17:12 Zhanjun Dong [this message]
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Add register defines for GuC based register capture Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Expose dss per group for GuC error capture Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Update GuC ADS size for " Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Add XE_LP steered register lists Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Add capture size check in GuC log buffer Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Check sizing of guc_capture output Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Extract GuC error capture lists on G2H notification Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Pre-allocate output nodes for extraction Zhanjun Dong
2024-01-16 17:12 ` [PATCH] drm/xe/guc: Plumb GuC-capture into dev coredump Zhanjun Dong
2024-01-16 17:19 ` [PATCH v2] drm/xe/guc: Add GuC based register capture for error capture Dong, Zhanjun
2024-01-16 17:43 ` ✗ Fi.CI.BUILD: failure for drm/xe/guc: Extract GuC error capture lists on G2H notification 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=20240116171237.118463-1-zhanjun.dong@intel.com \
    --to=zhanjun.dong@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox