summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_util.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-03-15 09:59:31 +1000
committerDave Airlie <airlied@redhat.com>2011-03-15 09:59:31 +1000
commit235b87afbcadf46e5ca042b2e7a977a41ebce9dd (patch)
tree3dd7102ae63435e3ed30357609710ac45780766f /drivers/gpu/drm/nouveau/nouveau_util.c
parentbcd5023c961a44c7149936553b6929b2b233dd27 (diff)
parentbd35fe5a7930bf83ed56422ea4e4b6471ee6f739 (diff)
Merge remote branch 'nouveau/drm-nouveau-next' of ../drm-nouveau-next into drm-core-next
* 'nouveau/drm-nouveau-next' of ../drm-nouveau-next: drm/nouveau: fix __nouveau_fence_wait performance drm/nv40: attempt to reserve just enough vram for all 32 channels drm/nv50: check for vm traps on every gr irq drm/nv50: decode vm faults some more drm/nouveau: add nouveau_enum_find() util function drm/nouveau: properly handle pushbuffer check failures drm/nvc0: remove vm hack forcing large/small pages to not share a PDE
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_util.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_util.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_util.c b/drivers/gpu/drm/nouveau/nouveau_util.c
index fbe0fb13bc1e..e51b51503baa 100644
--- a/drivers/gpu/drm/nouveau/nouveau_util.c
+++ b/drivers/gpu/drm/nouveau/nouveau_util.c
@@ -47,18 +47,27 @@ nouveau_bitfield_print(const struct nouveau_bitfield *bf, u32 value)
printk(" (unknown bits 0x%08x)", value);
}
-void
-nouveau_enum_print(const struct nouveau_enum *en, u32 value)
+const struct nouveau_enum *
+nouveau_enum_find(const struct nouveau_enum *en, u32 value)
{
while (en->name) {
- if (value == en->value) {
- printk("%s", en->name);
- return;
- }
-
+ if (en->value == value)
+ return en;
en++;
}
+ return NULL;
+}
+
+void
+nouveau_enum_print(const struct nouveau_enum *en, u32 value)
+{
+ en = nouveau_enum_find(en, value);
+ if (en) {
+ printk("%s", en->name);
+ return;
+ }
+
printk("(unknown enum 0x%08x)", value);
}