diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2014-02-14 20:28:36 +0100 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-03-26 04:59:33 +0100 |
commit | 46a7b62596691d7eabb0b24ad28af7097eb66793 (patch) | |
tree | 5823cb806e9baaa77cc8d0ec4c6a89a86831b110 /drivers/gpu | |
parent | drm/nouveau: use nv_debug for NV_DEBUG, make DRM a separate subflag (diff) | |
download | linux-46a7b62596691d7eabb0b24ad28af7097eb66793.tar.xz linux-46a7b62596691d7eabb0b24ad28af7097eb66793.zip |
drm/nv50/gr: decode texture trap status code
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/nv50.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c b/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c index ef3832002cc1..2c7809e1a09b 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 */ |