diff options
author | Matthieu Castet <castet.matthieu@free.fr> | 2007-10-10 21:11:43 +0200 |
---|---|---|
committer | Matthieu Castet <castet.matthieu@free.fr> | 2007-10-10 21:11:43 +0200 |
commit | bf126f4925bf1601935e085be2feeb004b474a05 (patch) | |
tree | 67db66db53f279ee3313a9daccde4198078ba36c /shared-core/nouveau_irq.c | |
parent | d912709a63c59d0b3e48458bac41fb76ea279214 (diff) |
nouveau : nv10 and nv04 PGRAPH_NSTATUS are different
Diffstat (limited to 'shared-core/nouveau_irq.c')
-rw-r--r-- | shared-core/nouveau_irq.c | 22 |
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", |