Commit 6f7cd6e4 authored by Rob Clark's avatar Rob Clark
Browse files

drm/msm/a6xx: add module param to enable debugbus snapshot



For production devices, the debugbus sections will typically be fused
off and empty in the gpu device coredump.  But since this may contain
data like cache contents, don't capture it by default.

Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
Reviewed-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent f74cacf5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -938,6 +938,7 @@ struct msm_gpu_state *a6xx_gpu_state_get(struct msm_gpu *gpu)
		msm_gem_kernel_put(dumper.bo, gpu->aspace, true);
	}

	if (snapshot_debugbus)
		a6xx_get_debugbus(gpu, a6xx_state);

	return  &a6xx_state->base;
+4 −0
Original line number Diff line number Diff line
@@ -14,6 +14,10 @@ bool hang_debug = false;
MODULE_PARM_DESC(hang_debug, "Dump registers when hang is detected (can be slow!)");
module_param_named(hang_debug, hang_debug, bool, 0600);

bool snapshot_debugbus = false;
MODULE_PARM_DESC(snapshot_debugbus, "Include debugbus sections in GPU devcoredump (if not fused off)");
module_param_named(snapshot_debugbus, snapshot_debugbus, bool, 0600);

static const struct adreno_info gpulist[] = {
	{
		.rev   = ADRENO_REV(2, 0, 0, 0),
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@
#define REG_SKIP ~0
#define REG_ADRENO_SKIP(_offset) [_offset] = REG_SKIP

extern bool snapshot_debugbus;

/**
 * adreno_regs: List of registers that are used in across all
 * 3D devices. Each device type has different offset value for the same