aboutsummaryrefslogtreecommitdiff
path: root/shared-core/nouveau_irq.c
diff options
context:
space:
mode:
authorMatthieu Castet <castet.matthieu@free.fr>2007-10-10 21:11:43 +0200
committerMatthieu Castet <castet.matthieu@free.fr>2007-10-10 21:11:43 +0200
commitbf126f4925bf1601935e085be2feeb004b474a05 (patch)
tree67db66db53f279ee3313a9daccde4198078ba36c /shared-core/nouveau_irq.c
parentd912709a63c59d0b3e48458bac41fb76ea279214 (diff)
nouveau : nv10 and nv04 PGRAPH_NSTATUS are different
Diffstat (limited to 'shared-core/nouveau_irq.c')
-rw-r--r--shared-core/nouveau_irq.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c
index 506e8052..dfef718b 100644
--- a/shared-core/nouveau_irq.c
+++ b/shared-core/nouveau_irq.c
@@ -175,10 +175,18 @@ struct nouveau_bitfield_names
static struct nouveau_bitfield_names nouveau_nstatus_names[] =
{
- { NV03_PGRAPH_NSTATUS_STATE_IN_USE, "STATE_IN_USE" },
- { NV03_PGRAPH_NSTATUS_INVALID_STATE, "INVALID_STATE" },
- { NV03_PGRAPH_NSTATUS_BAD_ARGUMENT, "BAD_ARGUMENT" },
- { NV03_PGRAPH_NSTATUS_PROTECTION_FAULT, "PROTECTION_FAULT" }
+ { NV04_PGRAPH_NSTATUS_STATE_IN_USE, "STATE_IN_USE" },
+ { NV04_PGRAPH_NSTATUS_INVALID_STATE, "INVALID_STATE" },
+ { NV04_PGRAPH_NSTATUS_BAD_ARGUMENT, "BAD_ARGUMENT" },
+ { NV04_PGRAPH_NSTATUS_PROTECTION_FAULT, "PROTECTION_FAULT" }
+};
+
+static struct nouveau_bitfield_names nouveau_nstatus_names_nv10[] =
+{
+ { NV10_PGRAPH_NSTATUS_STATE_IN_USE, "STATE_IN_USE" },
+ { NV10_PGRAPH_NSTATUS_INVALID_STATE, "INVALID_STATE" },
+ { NV10_PGRAPH_NSTATUS_BAD_ARGUMENT, "BAD_ARGUMENT" },
+ { NV10_PGRAPH_NSTATUS_PROTECTION_FAULT, "PROTECTION_FAULT" }
};
static struct nouveau_bitfield_names nouveau_nsource_names[] =
@@ -317,8 +325,12 @@ nouveau_graph_dump_trap_info(struct drm_device *dev)
nouveau_print_bitfield_names(nsource, nouveau_nsource_names,
ARRAY_SIZE(nouveau_nsource_names));
printk(", nStatus:");
- nouveau_print_bitfield_names(nstatus, nouveau_nstatus_names,
+ if (dev_priv->card_type < NV_10)
+ nouveau_print_bitfield_names(nstatus, nouveau_nstatus_names,
ARRAY_SIZE(nouveau_nstatus_names));
+ else
+ nouveau_print_bitfield_names(nstatus, nouveau_nstatus_names_nv10,
+ ARRAY_SIZE(nouveau_nstatus_names_nv10));
printk("\n");
DRM_ERROR("Channel %d/%d (class 0x%04x) - Method 0x%04x, Data 0x%08x:0x%08x\n",