mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-24 12:30:11 +01:00
nouveau/nv40: Dump extra info on ucode state if ctx switch fails.
This commit is contained in:
parent
81eaff44c4
commit
a654c0341a
2 changed files with 9 additions and 1 deletions
|
|
@ -178,6 +178,10 @@
|
|||
#define NV10_PGRAPH_CTX_CACHE5 0x004001E0
|
||||
#define NV40_PGRAPH_CTXCTL_0304 0x00400304
|
||||
#define NV40_PGRAPH_CTXCTL_0304_XFER_CTX 0x00000001
|
||||
#define NV40_PGRAPH_CTXCTL_UCODE_STAT 0x00400308
|
||||
#define NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_MASK 0xff000000
|
||||
#define NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_SHIFT 24
|
||||
#define NV40_PGRAPH_CTXCTL_UCODE_STAT_OP_MASK 0x00ffffff
|
||||
#define NV40_PGRAPH_CTXCTL_0310 0x00400310
|
||||
#define NV40_PGRAPH_CTXCTL_0310_XFER_SAVE 0x00000020
|
||||
#define NV40_PGRAPH_CTXCTL_0310_XFER_LOAD 0x00000040
|
||||
|
|
|
|||
|
|
@ -1310,7 +1310,11 @@ nv40_graph_transfer_context(struct drm_device *dev, uint32_t inst, int save)
|
|||
NV_WRITE(NV20_PGRAPH_CHANNEL_CTX_POINTER, old_cp);
|
||||
|
||||
if (i == tv) {
|
||||
DRM_ERROR("failed: inst=0x%08x save=%d\n", inst, save);
|
||||
uint32_t ucstat = NV_READ(NV40_PGRAPH_CTXCTL_UCODE_STAT);
|
||||
DRM_ERROR("Failed: Instance=0x%08x Save=%d\n", inst, save);
|
||||
DRM_ERROR("IP: 0x%02x, Opcode: 0x%08x\n",
|
||||
ucstat >> NV40_PGRAPH_CTXCTL_UCODE_STAT_IP_SHIFT,
|
||||
ucstat & NV40_PGRAPH_CTXCTL_UCODE_STAT_OP_MASK);
|
||||
DRM_ERROR("0x40030C = 0x%08x\n",
|
||||
NV_READ(NV40_PGRAPH_CTXCTL_030C));
|
||||
return -EBUSY;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue