Ilia Mirkin
2014-Feb-14 19:28 UTC
[Nouveau] [PATCH] drm/nv50/gr: decode texture trap status code
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- Statuses derived from envytools, as usual. Not 100% sure about the "any" thing, but it makes sense... drivers/gpu/drm/nouveau/core/engine/graph/nv50.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c b/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c index ef38320..2c7809e 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c @@ -330,6 +330,15 @@ static const struct nouveau_bitfield nv50_mpc_traps[] = { {} }; +static const struct nouveau_bitfield nv50_tex_traps[] = { + { 0x00000001, "" }, /* any bit set? */ + { 0x00000002, "FAULT" }, + { 0x00000004, "STORAGE_TYPE_MISMATCH" }, + { 0x00000008, "LINEAR_MISMATCH" }, + { 0x00000020, "WRONG_MEMTYPE" }, + {} +}; + static const struct nouveau_bitfield nv50_graph_trap_m2mf[] = { { 0x00000001, "NOTIFY" }, { 0x00000002, "IN" }, @@ -532,6 +541,13 @@ nv50_priv_tp_trap(struct nv50_graph_priv *priv, int type, u32 ustatus_old, for (r = ustatus_addr + 4; r <= ustatus_addr + 0x10; r += 4) nv_error(priv, "\t0x%08x: 0x%08x\n", r, nv_rd32(priv, r)); + if (ustatus) { + nv_error(priv, "%s - TP%d:", name, i); + nouveau_bitfield_print(nv50_tex_traps, + ustatus); + pr_cont("\n"); + ustatus = 0; + } } break; case 7: /* MP error */ -- 1.8.3.2
Apparently Analagous Threads
- [PATCH] drm/nv50/graph: add more trap names to print on error
- [PATCH] drm/nv50/graph: add more trap names to print on error
- [PATCH] drm/nv50/graph: print mpc trap name when it's not an mp trap
- [PATCH 2/2 V2] drm/nv50: Improve PGRAPH interrupt handling.
- [PATCH] drm/nv50/gr: add missing nv_error parameter priv