Rob Clark
9466b45c19
drm/msm: Fix section names and sizes
...
The section names randomly appended _DATA or _ADDR in many cases, and/or
didn't match the reg names. Fix them so crashdec can properly resolve
the section names back to reg names.
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com >
Patchwork: https://patchwork.freedesktop.org/patch/666654/
2025-08-07 09:22:28 -07:00
Rob Clark
6733d8276a
drm/msm: Update register xml
...
Sync register xml from mesa commit eb3e0b7164a3 ("freedreno/a6xx: Split
descriptors out into their own file").
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com >
Acked-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com >
Patchwork: https://patchwork.freedesktop.org/patch/662470/
2025-07-04 17:48:39 -07:00
Jie Zhang
11cdb81b3c
drm/msm/a6xx: Fix gpucc register block for A621
...
Adreno 621 has a different memory map for GPUCC block. So update
a6xx_gpu_state code to dump the correct set of gpucc registers.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com >
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com >
Patchwork: https://patchwork.freedesktop.org/patch/640055/
Signed-off-by: Rob Clark <robdclark@chromium.org >
2025-02-27 13:05:23 -08:00
Jie Zhang
378a621999
drm/msm/a6xx: Split out gpucc register block
...
Some GPUs have different memory map for GPUCC block. So split out the
gpucc range from a6xx_gmu_cx_registers to a separate block to
accommodate those GPUs.
Signed-off-by: Jie Zhang <quic_jiezh@quicinc.com >
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com >
Patchwork: https://patchwork.freedesktop.org/patch/640052/
Signed-off-by: Rob Clark <robdclark@chromium.org >
2025-02-27 13:05:23 -08:00
Rob Clark
69b79e8075
drm/msm/a6xx: Cleanup indexed regs const'ness
...
These tables were made non-const in commit 3cba4a2cdf ("drm/msm/a6xx:
Update ROQ size in coredump") in order to avoid powering up the GPU when
reading back a devcoredump. Instead let's just stash the count that is
potentially read from hw in struct a6xx_gpu_state_obj, and make the
tables const again.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Patchwork: https://patchwork.freedesktop.org/patch/592699/
2024-05-07 07:56:35 -07:00
Connor Abbott
b636a6d20d
drm/msm: Adjust a7xx GBIF debugbus dumping
...
Use the kgsl-style list of indices, because this is about to change for
a750 and we want to reuse the downstream header directly.
Patchwork: https://patchwork.freedesktop.org/patch/592520/
Signed-off-by: Connor Abbott <cwabbott0@gmail.com >
Patchwork: https://patchwork.freedesktop.org/patch/592520
Signed-off-by: Rob Clark <robdclark@chromium.org >
2024-05-05 07:02:26 -07:00
Connor Abbott
64d6255650
drm/msm: More fully implement devcoredump for a7xx
...
Use the vendor-provided snapshot headers to dump the contextless
registers, shader blocks, and cluster registers. Still unimplemented are
the GMU registers and "external core" registers, which would require
more work because they use register spaces we don't have described in
devicetree and dump registers from multiple spaces in a single list.
Signed-off-by: Connor Abbott <cwabbott0@gmail.com >
Patchwork: https://patchwork.freedesktop.org/patch/575919/
Signed-off-by: Rob Clark <robdclark@chromium.org >
2024-02-26 07:29:55 -08:00
Dmitry Baryshkov
b08d26dac1
drm/msm/a7xx: actually use a7xx state registers
...
Make a6xx_get_registers() use a7xx registers instead of a6xx ones if the
detected Adreno is from the A7xx family.
Fixes: e997ae5f45 ("drm/msm/a6xx: Mostly implement A7xx gpu_state")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Patchwork: https://patchwork.freedesktop.org/patch/562233/
Signed-off-by: Rob Clark <robdclark@chromium.org >
2023-10-16 09:38:56 -07:00
Konrad Dybcio
e997ae5f45
drm/msm/a6xx: Mostly implement A7xx gpu_state
...
Provide the necessary alternations to mostly support state dumping on
A7xx. Newer GPUs will probably require more changes here. Crashdumper
and debugbus remain untested.
Tested-by: Neil Armstrong <neil.armstrong@linaro.org > # on SM8550-QRD
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org > # sm8450
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Patchwork: https://patchwork.freedesktop.org/patch/559289/
Signed-off-by: Rob Clark <robdclark@chromium.org >
2023-10-09 11:22:05 -07:00
Rob Clark
bd846ceee9
drm/msm/adreno: Fix snapshot BINDLESS_DATA size
...
The incorrect size was causing "CP | AHB bus error" when snapshotting
the GPU state on a6xx gen4 (a660 family).
Closes: https://gitlab.freedesktop.org/drm/msm/-/issues/26
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Akhil P Oommen <quic_akhilpo@quicinc.com >
Fixes: 1707add815 ("drm/msm/a6xx: Add a6xx gpu state")
Patchwork: https://patchwork.freedesktop.org/patch/546763/
2023-07-15 08:19:35 -07:00
Akhil P Oommen
3cba4a2cdf
drm/msm/a6xx: Update ROQ size in coredump
...
Since RoQ size differs between generations, calculate dynamically the
RoQ size while capturing coredump.
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com >
Patchwork: https://patchwork.freedesktop.org/patch/515610/
Link: https://lore.kernel.org/r/20221221203925.v2.4.I07f22966395eb045f6b312710f53890d5d7e69d4@changeid
Signed-off-by: Rob Clark <robdclark@chromium.org >
2023-01-16 10:35:51 -08:00
Akhil P Oommen
1e05bba5e2
drm/msm/a6xx: Update a6xx gpu coredump
...
Update gpu coredump for a660/a650 family of gpus with the extra
information available.
Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com >
Patchwork: https://patchwork.freedesktop.org/patch/515608/
Link: https://lore.kernel.org/r/20221221203925.v2.3.Ifbfce6d693b202dac92006345bb825e7c5aee9c6@changeid
Signed-off-by: Rob Clark <robdclark@chromium.org >
2023-01-16 10:35:51 -08:00
Rob Clark
f74cacf5d2
drm/msm/a6xx: fix crashdec section name typo
...
Backport note: maybe wait some time for the crashdec MR[1] to look for
both the old typo'd name and the corrected name to land in mesa 20.2
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6242
Fixes: 1707add815 ("drm/msm/a6xx: Add a6xx gpu state")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org >
Signed-off-by: Rob Clark <robdclark@chromium.org >
2020-08-22 10:36:30 -07:00
Jonathan Marek
142639a52a
drm/msm/a6xx: fix crashstate capture for A650
...
A650 has a separate RSCC region, so dump RSCC registers separately, reading
them from the RSCC base. Without this change a GPU hang will cause a system
reset if CONFIG_DEV_COREDUMP is enabled.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org >
Signed-off-by: Rob Clark <robdclark@chromium.org >
2020-07-31 06:46:16 -07:00
Rob Clark
e6cada895a
drm/msm/a6xx: Fix CP_MEMPOOL state name
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org >
2020-03-19 12:19:10 -07:00
Sharat Masetty
a5ab31767c
drm: msm: a6xx: Dump GBIF registers, debugbus in gpu state
...
Add the relevant GBIF registers and the debug bus to the a6xx gpu
state. This comes in pretty handy when debugging GPU bus related
issues.
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org >
Signed-off-by: Rob Clark <robdclark@chromium.org >
2020-01-02 16:05:37 -08:00
Jordan Crouse
1707add815
drm/msm/a6xx: Add a6xx gpu state
...
Add support for gathering and dumping the a6xx GPU state including
registers, GMU registers, indexed registers, shader blocks,
context clusters and debugbus.
v2: Fix bugs discovered by Sharat Masetty
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org >
Signed-off-by: Rob Clark <robdclark@gmail.com >
2018-12-11 13:05:30 -05:00