From: Jordan Crouse <jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [v6 00/13] drm/msm: Capture and dump the GPU crash state
Date: Fri, 29 Jun 2018 10:56:28 -0600 [thread overview]
Message-ID: <20180629165641.1348-1-jcrouse@codeaurora.org> (raw)
This is revision 6 implementing a GPU crash state for drm/msm
(https://patchwork.freedesktop.org/series/36097/). This patchset fixes a
few bugs and adds a drm_puts() function to print constant strings faster.
The object of this code is to store and provide enough information to debug
software and hardware issues on the Adreno hardware in a semi human-readable
format that can also be parsed by scripts.
THe full set of changes here capture basic information about the GPU, the
status and contents of the ringbuffers, a snapshot of the current register state
and the active buffers from the hanging submit.
The data is printed with devcoredump. For example, after a hang you can get
the data from /sys/class/devcoredump/devcdX/data where X is a unique number.
v6: Add drm_puts() and use it in the appropriate place. Clean up a few minor
bugs here and there.
v5: Fix symbol error in i915_gpu_error.c thanks to 01 dot org bot. Added
open/release functions for the show debugfs file to get the state per Chris
Wilson. Slightly modified the register output format to be more YAML friendly
also per Chris.
v4: Add buffer dump for the active submit. Fix refcount issue with devcoredump.
Change header for a5xx registers to registers-hlsq because I'm told YAML
requires unique tags.
v3: Make recommended changes to ascii85 per Chris Wilson. Use devcoredump to
dump crash states as suggested by Bjorn Andersson and add a new drm_print
facility to facilitate that. Remove the now obsolete 'crash' debugfs node.
Add documentation for the crash dump output.
v2: Convert output to yaml, use ascii85 to dump ringbuffer contents.
Jordan Crouse (13):
include: Move ascii85 functions from i915 to linux/ascii85.h
drm: drm_printer: Add printer for devcoredump
drm: Add drm_puts() to complement drm_printf()
drm: Add puts function for the seq_file printer
drm: Add puts callback for the coredump printer
drm/msm/gpu: Capture the state of the GPU
drm/msm/gpu: Convert the GPU show function to use the GPU state
drm/msm/gpu: Rearrange the code that collects the task during a hang
drm/msm/gpu: Capture the GPU state on a GPU hang
drm/msm/adreno: Convert the show/crash file format
drm/msm/adreno: Add ringbuffer data to the GPU state
drm/msm/adreno: Add a5xx specific registers for the GPU state
drm/msm/gpu: Add the buffer objects from the submit to the crash dump
Documentation/gpu/drm-msm-crash-dump.txt | 58 ++++++
drivers/gpu/drm/drm_print.c | 131 ++++++++++++
drivers/gpu/drm/i915/i915_gpu_error.c | 34 +---
drivers/gpu/drm/msm/Kconfig | 1 +
drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 30 +--
drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 22 ++-
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 242 +++++++++++++++++++++--
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 184 +++++++++++++++--
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 10 +-
drivers/gpu/drm/msm/msm_debugfs.c | 93 ++++++++-
drivers/gpu/drm/msm/msm_gpu.c | 143 +++++++++++++-
drivers/gpu/drm/msm/msm_gpu.h | 67 ++++++-
include/drm/drm_print.h | 33 ++++
include/linux/ascii85.h | 39 ++++
14 files changed, 987 insertions(+), 100 deletions(-)
create mode 100644 Documentation/gpu/drm-msm-crash-dump.txt
create mode 100644 include/linux/ascii85.h
--
2.17.1
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
next reply other threads:[~2018-06-29 16:56 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-29 16:56 Jordan Crouse [this message]
2018-06-29 16:56 ` [PATCH 01/13] include: Move ascii85 functions from i915 to linux/ascii85.h Jordan Crouse
[not found] ` <20180629165641.1348-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-06-29 16:56 ` [PATCH 02/13] drm: drm_printer: Add printer for devcoredump Jordan Crouse
2018-06-29 16:56 ` [PATCH 03/13] drm: Add drm_puts() to complement drm_printf() Jordan Crouse
2018-06-29 16:56 ` [PATCH 04/13] drm: Add puts function for the seq_file printer Jordan Crouse
2018-06-29 16:56 ` [PATCH 05/13] drm: Add put callback for the coredump printer Jordan Crouse
2018-06-29 16:56 ` [PATCH 06/13] drm/msm/gpu: Capture the state of the GPU Jordan Crouse
2018-06-29 16:56 ` [PATCH 07/13] drm/msm/gpu: Convert the GPU show function to use the GPU state Jordan Crouse
2018-06-29 16:56 ` [PATCH 08/13] drm/msm/gpu: Rearrange the code that collects the task during a hang Jordan Crouse
2018-06-29 16:56 ` [PATCH 09/13] drm/msm/gpu: Capture the GPU state on a GPU hang Jordan Crouse
2018-06-29 20:51 ` kbuild test robot
2018-06-29 16:56 ` [PATCH 10/13] drm/msm/adreno: Convert the show/crash file format Jordan Crouse
2018-06-29 16:56 ` [PATCH 11/13] drm/msm/adreno: Add ringbuffer data to the GPU state Jordan Crouse
2018-06-29 16:56 ` [PATCH 12/13] drm/msm/adreno: Add a5xx specific registers for " Jordan Crouse
2018-06-29 16:56 ` [PATCH 13/13] drm/msm/gpu: Add the buffer objects from the submit to the crash dump Jordan Crouse
[not found] ` <20180629165641.1348-14-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-06-29 19:31 ` kbuild test robot
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=20180629165641.1348-1-jcrouse@codeaurora.org \
--to=jcrouse-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.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.