nv_client(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_CLIENT_CLASS)))
-               nv_assert("BAD CAST -> NvClient, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_CLIENT_CLASS));
 #endif
        return obj;
 }
 
 #ifndef __NVKM_DEBUG_H__
 #define __NVKM_DEBUG_H__
-extern int nv_info_debug_level;
-
 #define NV_DBG_FATAL    0
 #define NV_DBG_ERROR    1
 #define NV_DBG_WARN     2
-#define NV_DBG_INFO     nv_info_debug_level
+#define NV_DBG_INFO     3
 #define NV_DBG_DEBUG    4
 #define NV_DBG_TRACE    5
 #define NV_DBG_PARANOIA 6
 #define NV_DBG_SPAM     7
-
-#define NV_DBG_INFO_NORMAL 3
-#define NV_DBG_INFO_SILENT NV_DBG_DEBUG
-
-#define nv_debug_level(a) nv_info_debug_level = NV_DBG_INFO_##a
 #endif
 
 nv_engctx(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_ENGCTX_CLASS)))
-               nv_assert("BAD CAST -> NvEngCtx, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_ENGCTX_CLASS));
 #endif
        return obj;
 }
 
 nv_engine(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_ENGINE_CLASS)))
-               nv_assert("BAD CAST -> NvEngine, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_ENGINE_CLASS));
 #endif
        return obj;
 }
 
 nv_gpuobj(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_GPUOBJ_CLASS)))
-               nv_assert("BAD CAST -> NvGpuObj, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_GPUOBJ_CLASS));
 #endif
        return obj;
 }
 
 nv_namedb(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_NAMEDB_CLASS)))
-               nv_assert("BAD CAST -> NvNameDB, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_NAMEDB_CLASS));
 #endif
        return obj;
 }
 
 #ifndef __NVKM_OBJECT_H__
 #define __NVKM_OBJECT_H__
 #include <core/os.h>
-#include <core/printk.h>
+#include <core/debug.h>
 
 #define NV_PARENT_CLASS 0x80000000
 #define NV_NAMEDB_CLASS 0x40000000
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
        if (likely(obj)) {
                struct nvkm_object *object = obj;
-               if (unlikely(object->_magic != NVKM_OBJECT_MAGIC))
-                       nv_assert("BAD CAST -> NvObject, invalid magic");
+               BUG_ON(object->_magic != NVKM_OBJECT_MAGIC);
        }
 #endif
        return obj;
 void nvkm_object_ref(struct nvkm_object *, struct nvkm_object **);
 int  nvkm_object_inc(struct nvkm_object *);
 int  nvkm_object_dec(struct nvkm_object *, bool suspend);
-void nvkm_object_debug(void);
 
 static inline int
 nv_exec(void *obj, u32 mthd, void *data, u32 size)
 nv_ro08(void *obj, u64 addr)
 {
        u8 data = nv_ofuncs(obj)->rd08(obj, addr);
-       nv_spam(obj, "nv_ro08 0x%08llx 0x%02x\n", addr, data);
        return data;
 }
 
 nv_ro16(void *obj, u64 addr)
 {
        u16 data = nv_ofuncs(obj)->rd16(obj, addr);
-       nv_spam(obj, "nv_ro16 0x%08llx 0x%04x\n", addr, data);
        return data;
 }
 
 nv_ro32(void *obj, u64 addr)
 {
        u32 data = nv_ofuncs(obj)->rd32(obj, addr);
-       nv_spam(obj, "nv_ro32 0x%08llx 0x%08x\n", addr, data);
        return data;
 }
 
 static inline void
 nv_wo08(void *obj, u64 addr, u8 data)
 {
-       nv_spam(obj, "nv_wo08 0x%08llx 0x%02x\n", addr, data);
        nv_ofuncs(obj)->wr08(obj, addr, data);
 }
 
 static inline void
 nv_wo16(void *obj, u64 addr, u16 data)
 {
-       nv_spam(obj, "nv_wo16 0x%08llx 0x%04x\n", addr, data);
        nv_ofuncs(obj)->wr16(obj, addr, data);
 }
 
 static inline void
 nv_wo32(void *obj, u64 addr, u32 data)
 {
-       nv_spam(obj, "nv_wo32 0x%08llx 0x%08x\n", addr, data);
        nv_ofuncs(obj)->wr32(obj, addr, data);
 }
 
 
 nv_parent(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!(nv_iclass(obj, NV_PARENT_CLASS))))
-               nv_assert("BAD CAST -> NvParent, %08x", nv_hclass(obj));
+       BUG_ON(!(nv_iclass(obj, NV_PARENT_CLASS)));
 #endif
        return obj;
 }
 
+++ /dev/null
-#ifndef __NVKM_PRINTK_H__
-#define __NVKM_PRINTK_H__
-#include <core/os.h>
-#include <core/debug.h>
-struct nvkm_object;
-
-void __printf(3, 4)
-nv_printk_(struct nvkm_object *, int, const char *, ...);
-
-#define nv_printk(o,l,f,a...) do {                                             \
-       if (NV_DBG_##l <= CONFIG_NOUVEAU_DEBUG)                                \
-               nv_printk_(nv_object(o), NV_DBG_##l, f, ##a);                  \
-} while(0)
-
-#define nv_fatal(o,f,a...) nv_printk((o), FATAL, f, ##a)
-#define nv_error(o,f,a...) nv_printk((o), ERROR, f, ##a)
-#define nv_warn(o,f,a...) nv_printk((o), WARN, f, ##a)
-#define nv_info(o,f,a...) nv_printk((o), INFO, f, ##a)
-#define nv_debug(o,f,a...) nv_printk((o), DEBUG, f, ##a)
-#define nv_trace(o,f,a...) nv_printk((o), TRACE, f, ##a)
-#define nv_spam(o,f,a...) nv_printk((o), SPAM, f, ##a)
-#define nv_ioctl(o,f,a...) nv_trace(nvkm_client(o), "ioctl: "f, ##a)
-
-#define nv_assert(f,a...) do {                                                 \
-       if (NV_DBG_FATAL <= CONFIG_NOUVEAU_DEBUG)                              \
-               nv_printk_(NULL, NV_DBG_FATAL, f "\n", ##a);                   \
-       BUG_ON(1);                                                             \
-} while(0)
-#endif
 
 nv_subdev(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_SUBDEV_CLASS)))
-               nv_assert("BAD CAST -> NvSubDev, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_SUBDEV_CLASS));
 #endif
        return obj;
 }
 
 nv_memobj(void *obj)
 {
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!nv_iclass(obj, NV_MEMOBJ_CLASS)))
-               nv_assert("BAD CAST -> NvMemObj, %08x", nv_hclass(obj));
+       BUG_ON(!nv_iclass(obj, NV_MEMOBJ_CLASS));
 #endif
        return obj;
 }
 
        drm_put_dev(dev);
 
        nvkm_object_ref(NULL, &device);
-       nvkm_object_debug();
 }
 
 static void
                return -EBUSY;
        }
 
-       nv_debug_level(SILENT);
        drm_kms_helper_poll_disable(drm_dev);
        vga_switcheroo_set_dynamic_switch(pdev, VGA_SWITCHEROO_OFF);
        nouveau_switcheroo_optimus_dsm();
        nvif_mask(device, 0x88488, (1 << 25), (1 << 25));
        vga_switcheroo_set_dynamic_switch(pdev, VGA_SWITCHEROO_ON);
        drm_dev->switch_power_state = DRM_SWITCH_POWER_ON;
-       nv_debug_level(NORMAL);
        return ret;
 }
 
 
 nvkm-y += nvkm/core/object.o
 nvkm-y += nvkm/core/option.o
 nvkm-y += nvkm/core/parent.o
-nvkm-y += nvkm/core/printk.o
 nvkm-y += nvkm/core/ramht.o
 nvkm-y += nvkm/core/subdev.o
 
        if (!notify)
                return -ENOMEM;
 
-       nv_ioctl(client, "notify new size %d\n", size);
+       nvif_ioctl(object, "notify new size %d\n", size);
        if (nvif_unpack(req->v0, 0, 0, true)) {
-               nv_ioctl(client, "notify new vers %d reply %d route %02x "
-                                "token %llx\n", req->v0.version,
-                        req->v0.reply, req->v0.route, req->v0.token);
+               nvif_ioctl(object, "notify new vers %d reply %d route %02x "
+                                  "token %llx\n", req->v0.version,
+                          req->v0.reply, req->v0.route, req->v0.token);
                notify->version = req->v0.version;
                notify->size = sizeof(notify->rep.v0);
                notify->rep.v0.version = req->v0.version;
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "client devlist size %d\n", size);
+       nvif_ioctl(object, "client devlist size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "client devlist vers %d count %d\n",
-                        args->v0.version, args->v0.count);
+               nvif_ioctl(object, "client devlist vers %d count %d\n",
+                          args->v0.version, args->v0.count);
                if (size == sizeof(args->v0.device[0]) * args->v0.count) {
                        ret = nvkm_device_list(args->v0.device, args->v0.count);
                        if (ret >= 0) {
 int
 nvkm_client_init(struct nvkm_client *client)
 {
+       struct nvkm_object *object = &client->namedb.parent.object;
        int ret;
-       nv_debug(client, "init running\n");
+       nvif_trace(object, "init running\n");
        ret = nvkm_handle_init(client->root);
-       nv_debug(client, "init completed with %d\n", ret);
+       nvif_trace(object, "init completed with %d\n", ret);
        return ret;
 }
 
 int
 nvkm_client_fini(struct nvkm_client *client, bool suspend)
 {
+       struct nvkm_object *object = &client->namedb.parent.object;
        const char *name[2] = { "fini", "suspend" };
        int ret, i;
-       nv_debug(client, "%s running\n", name[suspend]);
-       nv_debug(client, "%s notify\n", name[suspend]);
+       nvif_trace(object, "%s running\n", name[suspend]);
+       nvif_trace(object, "%s notify\n", name[suspend]);
        for (i = 0; i < ARRAY_SIZE(client->notify); i++)
                nvkm_client_notify_put(client, i);
-       nv_debug(client, "%s object\n", name[suspend]);
+       nvif_trace(object, "%s object\n", name[suspend]);
        ret = nvkm_handle_fini(client->root, suspend);
-       nv_debug(client, "%s completed with %d\n", name[suspend], ret);
+       nvif_trace(object, "%s completed with %d\n", name[suspend], ret);
        return ret;
 }
 
 
        }
 
        if (ret) {
-               nv_error(parent, "failed to attach %s context, %d\n",
-                        subdev->name, ret);
+               nvkm_error(pardev, "failed to attach %s context, %d\n",
+                          subdev->name, ret);
                return ret;
        }
 
-       nv_debug(parent, "attached %s context\n", subdev->name);
+       nvkm_trace(pardev, "attached %s context\n", subdev->name);
        return 0;
 }
 
        }
 
        if (ret) {
-               nv_error(parent, "failed to detach %s context, %d\n",
-                        subdev->name, ret);
+               nvkm_error(pardev, "failed to detach %s context, %d\n",
+                          subdev->name, ret);
                return ret;
        }
 
-       nv_debug(parent, "detached %s context\n", subdev->name);
+       nvkm_trace(pardev, "detached %s context\n", subdev->name);
        return nvkm_gpuobj_fini(&engctx->gpuobj, suspend);
 }
 
 
 
                if (device->disable_mask & (1ULL << engidx)) {
                        if (!nvkm_boolopt(device->cfgopt, iname, false)) {
-                               nv_debug(engine, "engine disabled by hw/fw\n");
+                               nvkm_debug(&engine->subdev,
+                                          "engine disabled by hw/fw\n");
                                return -ENODEV;
                        }
 
-                       nv_warn(engine, "ignoring hw/fw engine disable\n");
+                       nvkm_warn(&engine->subdev,
+                                 "ignoring hw/fw engine disable\n");
                }
 
                if (!nvkm_boolopt(device->cfgopt, iname, enable)) {
                        if (!enable)
-                               nv_warn(engine, "disabled, %s=1 to enable\n", iname);
+                               nvkm_warn(&engine->subdev,
+                                         "disabled, %s=1 to enable\n", iname);
                        return -ENODEV;
                }
        }
 
                        pargpu = pargpu->parent;
                }
 
-               if (unlikely(pargpu == NULL)) {
-                       nv_error(parent, "no gpuobj heap\n");
+               if (WARN_ON(pargpu == NULL))
                        return -EINVAL;
-               }
 
                addr =  nv_gpuobj(pargpu)->addr;
                heap = &nv_gpuobj(pargpu)->heap;
 
 #include <core/client.h>
 
 #define hprintk(h,l,f,a...) do {                                               \
-       struct nvkm_client *c = nvkm_client((h)->object);                      \
        struct nvkm_handle *p = (h)->parent; u32 n = p ? p->name : ~0;         \
-       nv_printk((c), l, "0x%08x:0x%08x "f, n, (h)->name, ##a);               \
+       nvif_printk((h)->object, l, INFO, "0x%08x:0x%08x "f, n, (h)->name, ##a);\
 } while(0)
 
 int
 
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "nop size %d\n", size);
+       nvif_ioctl(object, "nop size %d\n", size);
        if (nvif_unvers(args->none)) {
-               nv_ioctl(object, "nop\n");
+               nvif_ioctl(object, "nop\n");
        }
 
        return ret;
        int ret;
 
        if (!nv_iclass(object, NV_PARENT_CLASS)) {
-               nv_debug(object, "cannot have children (sclass)\n");
+               nvif_debug(object, "cannot have children (sclass)\n");
                return -ENODEV;
        }
 
-       nv_ioctl(object, "sclass size %d\n", size);
+       nvif_ioctl(object, "sclass size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "sclass vers %d count %d\n",
-                        args->v0.version, args->v0.count);
+               nvif_ioctl(object, "sclass vers %d count %d\n",
+                          args->v0.version, args->v0.count);
                if (size == args->v0.count * sizeof(args->v0.oclass[0])) {
                        ret = nvkm_parent_lclass(object, args->v0.oclass,
                                                         args->v0.count);
        u32 _handle, _oclass;
        int ret;
 
-       nv_ioctl(client, "new size %d\n", size);
+       nvif_ioctl(handle->object, "new size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
                _handle = args->v0.handle;
                _oclass = args->v0.oclass;
        } else
                return ret;
 
-       nv_ioctl(client, "new vers %d handle %08x class %08x "
-                        "route %02x token %llx\n",
-                args->v0.version, _handle, _oclass,
-                args->v0.route, args->v0.token);
+       nvif_ioctl(handle->object, "new vers %d handle %08x class %08x "
+                                  "route %02x token %llx\n",
+                  args->v0.version, _handle, _oclass,
+                  args->v0.route, args->v0.token);
 
        if (!nv_iclass(handle->object, NV_PARENT_CLASS)) {
-               nv_debug(handle->object, "cannot have children (ctor)\n");
+               nvif_debug(handle->object, "cannot have children (ctor)\n");
                ret = -ENODEV;
                goto fail_class;
        }
        /* check that parent supports the requested subclass */
        ret = nvkm_parent_sclass(&parent->object, _oclass, &engine, &oclass);
        if (ret) {
-               nv_debug(parent, "illegal class 0x%04x\n", _oclass);
+               nvif_debug(&parent->object, "illegal class 0x%04x\n", _oclass);
                goto fail_class;
        }
 
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "delete size %d\n", size);
+       nvif_ioctl(object, "delete size %d\n", size);
        if (nvif_unvers(args->none)) {
-               nv_ioctl(object, "delete\n");
+               nvif_ioctl(object, "delete\n");
                nvkm_handle_fini(handle, false);
                nvkm_handle_destroy(handle);
        }
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "mthd size %d\n", size);
+       nvif_ioctl(object, "mthd size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "mthd vers %d mthd %02x\n",
-                        args->v0.version, args->v0.method);
+               nvif_ioctl(object, "mthd vers %d mthd %02x\n",
+                          args->v0.version, args->v0.method);
                if (ret = -ENODEV, ofuncs->mthd)
                        ret = ofuncs->mthd(object, args->v0.method, data, size);
        }
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "rd size %d\n", size);
+       nvif_ioctl(object, "rd size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "rd vers %d size %d addr %016llx\n",
-                        args->v0.version, args->v0.size, args->v0.addr);
+               nvif_ioctl(object, "rd vers %d size %d addr %016llx\n",
+                          args->v0.version, args->v0.size, args->v0.addr);
                switch (args->v0.size) {
                case 1:
                        if (ret = -ENODEV, ofuncs->rd08) {
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "wr size %d\n", size);
+       nvif_ioctl(object, "wr size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "wr vers %d size %d addr %016llx data %08x\n",
-                        args->v0.version, args->v0.size, args->v0.addr,
-                        args->v0.data);
+               nvif_ioctl(object,
+                          "wr vers %d size %d addr %016llx data %08x\n",
+                          args->v0.version, args->v0.size, args->v0.addr,
+                          args->v0.data);
                switch (args->v0.size) {
                case 1:
                        if (ret = -ENODEV, ofuncs->wr08) {
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "map size %d\n", size);
+       nvif_ioctl(object, "map size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "map vers %d\n", args->v0.version);
+               nvif_ioctl(object, "map vers %d\n", args->v0.version);
                if (ret = -ENODEV, ofuncs->map) {
                        ret = ofuncs->map(object, &args->v0.handle,
                                                  &args->v0.length);
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "unmap size %d\n", size);
+       nvif_ioctl(object, "unmap size %d\n", size);
        if (nvif_unvers(args->none)) {
-               nv_ioctl(object, "unmap\n");
+               nvif_ioctl(object, "unmap\n");
        }
 
        return ret;
        struct nvkm_event *event;
        int ret;
 
-       nv_ioctl(object, "ntfy new size %d\n", size);
+       nvif_ioctl(object, "ntfy new size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "ntfy new vers %d event %02x\n",
-                        args->v0.version, args->v0.event);
+               nvif_ioctl(object, "ntfy new vers %d event %02x\n",
+                          args->v0.version, args->v0.event);
                if (ret = -ENODEV, ofuncs->ntfy)
                        ret = ofuncs->ntfy(object, args->v0.event, &event);
                if (ret == 0) {
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "ntfy del size %d\n", size);
+       nvif_ioctl(object, "ntfy del size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "ntfy del vers %d index %d\n",
-                        args->v0.version, args->v0.index);
+               nvif_ioctl(object, "ntfy del vers %d index %d\n",
+                          args->v0.version, args->v0.index);
                ret = nvkm_client_notify_del(client, args->v0.index);
        }
 
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "ntfy get size %d\n", size);
+       nvif_ioctl(object, "ntfy get size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "ntfy get vers %d index %d\n",
-                        args->v0.version, args->v0.index);
+               nvif_ioctl(object, "ntfy get vers %d index %d\n",
+                          args->v0.version, args->v0.index);
                ret = nvkm_client_notify_get(client, args->v0.index);
        }
 
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "ntfy put size %d\n", size);
+       nvif_ioctl(object, "ntfy put size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "ntfy put vers %d index %d\n",
-                        args->v0.version, args->v0.index);
+               nvif_ioctl(object, "ntfy put vers %d index %d\n",
+                          args->v0.version, args->v0.index);
                ret = nvkm_client_notify_put(client, args->v0.index);
        }
 
        int ret;
 
        while ((object = parent->object), nr--) {
-               nv_ioctl(object, "path 0x%08x\n", path[nr]);
+               nvif_ioctl(object, "path 0x%08x\n", path[nr]);
                if (!nv_iclass(object, NV_PARENT_CLASS)) {
-                       nv_debug(object, "cannot have children (path)\n");
+                       nvif_debug(object, "cannot have children (path)\n");
                        return -EINVAL;
                }
 
                if (!(namedb = (void *)nv_pclass(object, NV_NAMEDB_CLASS)) ||
                    !(handle = nvkm_namedb_get(namedb, path[nr]))) {
-                       nv_debug(object, "handle 0x%08x not found\n", path[nr]);
+                       nvif_debug(object, "handle 0x%08x not found\n", path[nr]);
                        return -ENOENT;
                }
                nvkm_namedb_put(handle);
        }
 
        if (owner != NVIF_IOCTL_V0_OWNER_ANY && owner != handle->route) {
-               nv_ioctl(object, "object route != owner\n");
+               nvif_ioctl(object, "object route != owner\n");
                return -EACCES;
        }
        *route = handle->route;
 nvkm_ioctl(struct nvkm_client *client, bool supervisor,
           void *data, u32 size, void **hack)
 {
+       struct nvkm_object *object = &client->namedb.parent.object;
        union {
                struct nvif_ioctl_v0 v0;
        } *args = data;
        int ret;
 
        client->super = supervisor;
-       nv_ioctl(client, "size %d\n", size);
+       nvif_ioctl(object, "size %d\n", size);
 
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(client, "vers %d type %02x path %d owner %02x\n",
-                        args->v0.version, args->v0.type, args->v0.path_nr,
-                        args->v0.owner);
+               nvif_ioctl(object, "vers %d type %02x path %d owner %02x\n",
+                          args->v0.version, args->v0.type, args->v0.path_nr,
+                          args->v0.owner);
                ret = nvkm_ioctl_path(client->root, args->v0.type,
                                      args->v0.path_nr, args->v0.path,
                                      data, size, args->v0.owner,
                                      &args->v0.route, &args->v0.token);
        }
 
-       nv_ioctl(client, "return %d\n", ret);
+       nvif_ioctl(object, "return %d\n", ret);
        if (hack) {
                *hack = client->data;
                client->data = NULL;
 
 #include <core/object.h>
 #include <core/engine.h>
 
-#ifdef NVKM_OBJECT_MAGIC
-static struct list_head _objlist = LIST_HEAD_INIT(_objlist);
-static DEFINE_SPINLOCK(_objlist_lock);
-#endif
-
 int
 nvkm_object_create_(struct nvkm_object *parent, struct nvkm_object *engine,
                    struct nvkm_oclass *oclass, u32 pclass,
 
 #ifdef NVKM_OBJECT_MAGIC
        object->_magic = NVKM_OBJECT_MAGIC;
-       spin_lock(&_objlist_lock);
-       list_add(&object->list, &_objlist);
-       spin_unlock(&_objlist_lock);
 #endif
        return 0;
 }
 void
 nvkm_object_destroy(struct nvkm_object *object)
 {
-#ifdef NVKM_OBJECT_MAGIC
-       spin_lock(&_objlist_lock);
-       list_del(&object->list);
-       spin_unlock(&_objlist_lock);
-#endif
        nvkm_object_ref(NULL, (struct nvkm_object **)&object->engine);
        nvkm_object_ref(NULL, &object->parent);
        kfree(object);
        ret = ofuncs->ctor(parent, engine, oclass, data, size, &object);
        *pobject = object;
        if (ret < 0) {
-               if (ret != -ENODEV) {
-                       nv_error(parent, "failed to create 0x%08x, %d\n",
-                                oclass->handle, ret);
-               }
-
                if (object) {
                        ofuncs->dtor(object);
                        *pobject = NULL;
        }
 
        if (ret == 0) {
-               nv_trace(object, "created\n");
                atomic_set(&object->refcount, 1);
        }
 
 static void
 nvkm_object_dtor(struct nvkm_object *object)
 {
-       nv_trace(object, "destroying\n");
        nv_ofuncs(object)->dtor(object);
 }
 
 {
        if (obj) {
                atomic_inc(&obj->refcount);
-               nv_trace(obj, "inc() == %d\n", atomic_read(&obj->refcount));
        }
 
        if (*ref) {
                int dead = atomic_dec_and_test(&(*ref)->refcount);
-               nv_trace(*ref, "dec() == %d\n", atomic_read(&(*ref)->refcount));
                if (dead)
                        nvkm_object_dtor(*ref);
        }
        int ref = atomic_add_return(1, &object->usecount);
        int ret;
 
-       nv_trace(object, "use(+1) == %d\n", atomic_read(&object->usecount));
        if (ref != 1)
                return 0;
 
-       nv_trace(object, "initialising...\n");
        if (object->parent) {
                ret = nvkm_object_inc(object->parent);
-               if (ret) {
-                       nv_error(object, "parent failed, %d\n", ret);
+               if (ret)
                        goto fail_parent;
-               }
        }
 
        if (object->engine) {
                mutex_lock(&nv_subdev(object->engine)->mutex);
                ret = nvkm_object_inc(&object->engine->subdev.object);
                mutex_unlock(&nv_subdev(object->engine)->mutex);
-               if (ret) {
-                       nv_error(object, "engine failed, %d\n", ret);
+               if (ret)
                        goto fail_engine;
-               }
        }
 
        ret = nv_ofuncs(object)->init(object);
        atomic_set(&object->usecount, 1);
-       if (ret) {
-               nv_error(object, "init failed, %d\n", ret);
+       if (ret)
                goto fail_self;
-       }
 
-       nv_trace(object, "initialised\n");
        return 0;
 
 fail_self:
 static int
 nvkm_object_decf(struct nvkm_object *object)
 {
-       int ret;
-
-       nv_trace(object, "stopping...\n");
-
-       ret = nv_ofuncs(object)->fini(object, false);
+       nv_ofuncs(object)->fini(object, false);
        atomic_set(&object->usecount, 0);
-       if (ret)
-               nv_warn(object, "failed fini, %d\n", ret);
 
        if (object->engine) {
                mutex_lock(&nv_subdev(object->engine)->mutex);
        if (object->parent)
                nvkm_object_dec(object->parent, false);
 
-       nv_trace(object, "stopped\n");
        return 0;
 }
 
 static int
 nvkm_object_decs(struct nvkm_object *object)
 {
-       int ret, rret;
-
-       nv_trace(object, "suspending...\n");
+       int ret;
 
        ret = nv_ofuncs(object)->fini(object, true);
        atomic_set(&object->usecount, 0);
-       if (ret) {
-               nv_error(object, "failed suspend, %d\n", ret);
+       if (ret)
                return ret;
-       }
 
        if (object->engine) {
                mutex_lock(&nv_subdev(object->engine)->mutex);
                ret = nvkm_object_dec(&object->engine->subdev.object, true);
                mutex_unlock(&nv_subdev(object->engine)->mutex);
-               if (ret) {
-                       nv_warn(object, "engine failed suspend, %d\n", ret);
+               if (ret)
                        goto fail_engine;
-               }
        }
 
        if (object->parent) {
                ret = nvkm_object_dec(object->parent, true);
-               if (ret) {
-                       nv_warn(object, "parent failed suspend, %d\n", ret);
+               if (ret)
                        goto fail_parent;
-               }
        }
 
-       nv_trace(object, "suspended\n");
        return 0;
 
 fail_parent:
        if (object->engine) {
                mutex_lock(&nv_subdev(object->engine)->mutex);
-               rret = nvkm_object_inc(&object->engine->subdev.object);
+               nvkm_object_inc(&object->engine->subdev.object);
                mutex_unlock(&nv_subdev(object->engine)->mutex);
-               if (rret)
-                       nv_fatal(object, "engine failed to reinit, %d\n", rret);
        }
 
 fail_engine:
-       rret = nv_ofuncs(object)->init(object);
-       if (rret)
-               nv_fatal(object, "failed to reinit, %d\n", rret);
+       nv_ofuncs(object)->init(object);
 
        return ret;
 }
        int ref = atomic_add_return(-1, &object->usecount);
        int ret;
 
-       nv_trace(object, "use(-1) == %d\n", atomic_read(&object->usecount));
-
        if (ref == 0) {
                if (suspend)
                        ret = nvkm_object_decs(object);
 
        return 0;
 }
-
-void
-nvkm_object_debug(void)
-{
-#ifdef NVKM_OBJECT_MAGIC
-       struct nvkm_object *object;
-       if (!list_empty(&_objlist)) {
-               nv_fatal(NULL, "*******************************************\n");
-               nv_fatal(NULL, "* AIIIII! object(s) still exist!!!\n");
-               nv_fatal(NULL, "*******************************************\n");
-               list_for_each_entry(object, &_objlist, list) {
-                       nv_fatal(object, "%p/%p/%d/%d\n",
-                                object->parent, object->engine,
-                                atomic_read(&object->refcount),
-                                atomic_read(&object->usecount));
-               }
-       }
-#endif
-}
 
                                else if (!strncasecmpz(optstr, "warn", len))
                                        level = NV_DBG_WARN;
                                else if (!strncasecmpz(optstr, "info", len))
-                                       level = NV_DBG_INFO_NORMAL;
+                                       level = NV_DBG_INFO;
                                else if (!strncasecmpz(optstr, "debug", len))
                                        level = NV_DBG_DEBUG;
                                else if (!strncasecmpz(optstr, "trace", len))
 
+++ /dev/null
-/*
- * Copyright 2012 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors: Ben Skeggs
- */
-#include <core/printk.h>
-#include <core/client.h>
-#include <core/device.h>
-
-int nv_info_debug_level = NV_DBG_INFO_NORMAL;
-
-void
-nv_printk_(struct nvkm_object *object, int level, const char *fmt, ...)
-{
-       static const char name[] = { '!', 'E', 'W', ' ', 'D', 'T', 'P', 'S' };
-       const char *pfx;
-       char mfmt[256];
-       va_list args;
-
-       switch (level) {
-       case NV_DBG_FATAL:
-               pfx = KERN_CRIT;
-               break;
-       case NV_DBG_ERROR:
-               pfx = KERN_ERR;
-               break;
-       case NV_DBG_WARN:
-               pfx = KERN_WARNING;
-               break;
-       case NV_DBG_INFO_NORMAL:
-               pfx = KERN_INFO;
-               break;
-       case NV_DBG_DEBUG:
-       case NV_DBG_PARANOIA:
-       case NV_DBG_TRACE:
-       case NV_DBG_SPAM:
-       default:
-               pfx = KERN_DEBUG;
-               break;
-       }
-
-       if (object && !nv_iclass(object, NV_CLIENT_CLASS)) {
-               struct nvkm_object *device;
-               struct nvkm_object *subdev;
-               char obuf[64], *ofmt = "";
-
-               if (object->engine == NULL) {
-                       subdev = object;
-                       while (subdev && !nv_iclass(subdev, NV_SUBDEV_CLASS))
-                               subdev = subdev->parent;
-               } else {
-                       subdev = &object->engine->subdev.object;
-               }
-
-               device = subdev;
-               if (device->parent)
-                       device = device->parent;
-
-               if (object != subdev) {
-                       snprintf(obuf, sizeof(obuf), "[0x%08x]",
-                                nv_hclass(object));
-                       ofmt = obuf;
-               }
-
-               if (level > nv_subdev(subdev)->debug)
-                       return;
-
-               snprintf(mfmt, sizeof(mfmt), "%snouveau %c[%8s][%s]%s %s", pfx,
-                        name[level], nv_subdev(subdev)->name,
-                        nv_device(device)->name, ofmt, fmt);
-       } else
-       if (object && nv_iclass(object, NV_CLIENT_CLASS)) {
-               if (level > nv_client(object)->debug)
-                       return;
-
-               snprintf(mfmt, sizeof(mfmt), "%snouveau %c[%8s] %s", pfx,
-                        name[level], nv_client(object)->name, fmt);
-       } else {
-               snprintf(mfmt, sizeof(mfmt), "%snouveau: %s", pfx, fmt);
-       }
-
-       va_start(args, fmt);
-       vprintk(mfmt, args);
-       va_end(args);
-}
 
 }
 
 void
-nvkm_subdev_reset(struct nvkm_object *subdev)
+nvkm_subdev_reset(struct nvkm_object *obj)
 {
-       nv_trace(subdev, "resetting...\n");
-       nv_ofuncs(subdev)->fini(subdev, false);
-       nv_debug(subdev, "reset\n");
+       struct nvkm_subdev *subdev = container_of(obj, typeof(*subdev), object);
+       nvkm_trace(subdev, "resetting...\n");
+       nv_ofuncs(subdev)->fini(&subdev->object, false);
+       nvkm_trace(subdev, "reset\n");
 }
 
 int
 
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "device info size %d\n", size);
+       nvif_ioctl(object, "device info size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "device info vers %d\n", args->v0.version);
+               nvif_ioctl(object, "device info vers %d\n", args->v0.version);
        } else
                return ret;
 
        void __iomem *map;
        int ret, i, c;
 
-       nv_ioctl(parent, "create device size %d\n", size);
+       nvif_ioctl(parent, "create device size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create device v%d device %016llx "
-                                "disable %016llx debug0 %016llx\n",
-                        args->v0.version, args->v0.device,
-                        args->v0.disable, args->v0.debug0);
+               nvif_ioctl(parent, "create device v%d device %016llx "
+                                  "disable %016llx debug0 %016llx\n",
+                          args->v0.version, args->v0.device,
+                          args->v0.disable, args->v0.debug0);
        } else
                return ret;
 
                        device = device->parent;
        }
 #if CONFIG_NOUVEAU_DEBUG >= NV_DBG_PARANOIA
-       if (unlikely(!device))
-               nv_assert("BAD CAST -> NvDevice, 0x%08x\n", nv_hclass(obj));
+       BUG_ON(!device);
 #endif
        return (void *)device;
 }
 
        struct nvkm_clk *clk = nvkm_clk(object);
        int ret;
 
-       nv_ioctl(object, "control pstate info size %d\n", size);
+       nvif_ioctl(object, "control pstate info size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "control pstate info vers %d\n",
-                        args->v0.version);
+               nvif_ioctl(object, "control pstate info vers %d\n",
+                          args->v0.version);
        } else
                return ret;
 
        u32 lo, hi;
        int ret;
 
-       nv_ioctl(object, "control pstate attr size %d\n", size);
+       nvif_ioctl(object, "control pstate attr size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "control pstate attr vers %d state %d "
-                                "index %d\n",
-                        args->v0.version, args->v0.state, args->v0.index);
+               nvif_ioctl(object, "control pstate attr vers %d state %d "
+                                  "index %d\n",
+                          args->v0.version, args->v0.state, args->v0.index);
                if (!clk)
                        return -ENODEV;
                if (args->v0.state < NVIF_CONTROL_PSTATE_ATTR_V0_STATE_CURRENT)
        struct nvkm_clk *clk = nvkm_clk(object);
        int ret;
 
-       nv_ioctl(object, "control pstate user size %d\n", size);
+       nvif_ioctl(object, "control pstate user size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "control pstate user vers %d ustate %d "
-                                "pwrsrc %d\n", args->v0.version,
-                        args->v0.ustate, args->v0.pwrsrc);
+               nvif_ioctl(object, "control pstate user vers %d ustate %d "
+                                  "pwrsrc %d\n", args->v0.version,
+                          args->v0.ustate, args->v0.pwrsrc);
                if (!clk)
                        return -ENODEV;
        } else
 
        u32 stat;
        int ret;
 
-       nv_ioctl(object, "disp dac pwr size %d\n", size);
+       nvif_ioctl(object, "disp dac pwr size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp dac pwr vers %d state %d data %d "
-                                "vsync %d hsync %d\n",
-                        args->v0.version, args->v0.state, args->v0.data,
-                        args->v0.vsync, args->v0.hsync);
+               nvif_ioctl(object, "disp dac pwr vers %d state %d data %d "
+                                  "vsync %d hsync %d\n",
+                          args->v0.version, args->v0.state, args->v0.data,
+                          args->v0.vsync, args->v0.hsync);
                stat  = 0x00000040 * !args->v0.state;
                stat |= 0x00000010 * !args->v0.data;
                stat |= 0x00000004 * !args->v0.vsync;
        u32 loadval;
        int ret;
 
-       nv_ioctl(object, "disp dac load size %d\n", size);
+       nvif_ioctl(object, "disp dac load size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp dac load vers %d data %08x\n",
-                        args->v0.version, args->v0.data);
+               nvif_ioctl(object, "disp dac load vers %d data %08x\n",
+                          args->v0.version, args->v0.data);
                if (args->v0.data & 0xfff00000)
                        return -EINVAL;
                loadval = args->v0.data;
 
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "disp scanoutpos size %d\n", size);
+       nvif_ioctl(object, "disp scanoutpos size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp scanoutpos vers %d\n", args->v0.version);
+               nvif_ioctl(object, "disp scanoutpos vers %d\n",
+                          args->v0.version);
                args->v0.vblanke = (blanke & 0xffff0000) >> 16;
                args->v0.hblanke = (blanke & 0x0000ffff);
                args->v0.vblanks = (blanks & 0xffff0000) >> 16;
 
        const u32 hoff = head * 0x800;
        int ret, i;
 
-       nv_ioctl(object, "disp sor hda eld size %d\n", size);
+       nvif_ioctl(object, "disp sor hda eld size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "disp sor hda eld vers %d\n", args->v0.version);
+               nvif_ioctl(object, "disp sor hda eld vers %d\n",
+                          args->v0.version);
                if (size > 0x60)
                        return -E2BIG;
        } else
 
        const u32 soff = outp->or * 0x800;
        int ret, i;
 
-       nv_ioctl(object, "disp sor hda eld size %d\n", size);
+       nvif_ioctl(object, "disp sor hda eld size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "disp sor hda eld vers %d\n", args->v0.version);
+               nvif_ioctl(object, "disp sor hda eld vers %d\n",
+                          args->v0.version);
                if (size > 0x60)
                        return -E2BIG;
        } else
 
        u32 ctrl;
        int ret;
 
-       nv_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
+       nvif_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
-                                "max_ac_packet %d rekey %d\n",
-                        args->v0.version, args->v0.state,
-                        args->v0.max_ac_packet, args->v0.rekey);
+               nvif_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
+                                  "max_ac_packet %d rekey %d\n",
+                          args->v0.version, args->v0.state,
+                          args->v0.max_ac_packet, args->v0.rekey);
                if (args->v0.max_ac_packet > 0x1f || args->v0.rekey > 0x7f)
                        return -EINVAL;
                ctrl  = 0x40000000 * !!args->v0.state;
 
        u32 ctrl;
        int ret;
 
-       nv_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
+       nvif_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
-                                "max_ac_packet %d rekey %d\n",
-                        args->v0.version, args->v0.state,
-                        args->v0.max_ac_packet, args->v0.rekey);
+               nvif_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
+                                  "max_ac_packet %d rekey %d\n",
+                          args->v0.version, args->v0.state,
+                          args->v0.max_ac_packet, args->v0.rekey);
                if (args->v0.max_ac_packet > 0x1f || args->v0.rekey > 0x7f)
                        return -EINVAL;
                ctrl  = 0x40000000 * !!args->v0.state;
 
        u32 ctrl;
        int ret;
 
-       nv_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
+       nvif_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
-                                "max_ac_packet %d rekey %d\n",
-                        args->v0.version, args->v0.state,
-                        args->v0.max_ac_packet, args->v0.rekey);
+               nvif_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
+                                  "max_ac_packet %d rekey %d\n",
+                          args->v0.version, args->v0.state,
+                          args->v0.max_ac_packet, args->v0.rekey);
                if (args->v0.max_ac_packet > 0x1f || args->v0.rekey > 0x7f)
                        return -EINVAL;
                ctrl  = 0x40000000 * !!args->v0.state;
 
        u32 ctrl;
        int ret;
 
-       nv_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
+       nvif_ioctl(object, "disp sor hdmi ctrl size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
-                                "max_ac_packet %d rekey %d\n",
-                        args->v0.version, args->v0.state,
-                        args->v0.max_ac_packet, args->v0.rekey);
+               nvif_ioctl(object, "disp sor hdmi ctrl vers %d state %d "
+                                  "max_ac_packet %d rekey %d\n",
+                          args->v0.version, args->v0.state,
+                          args->v0.max_ac_packet, args->v0.rekey);
                if (args->v0.max_ac_packet > 0x1f || args->v0.rekey > 0x7f)
                        return -EINVAL;
                ctrl  = 0x40000000 * !!args->v0.state;
 
        u32 line;
        int ret;
 
-       nv_ioctl(object, "disp scanoutpos size %d\n", size);
+       nvif_ioctl(object, "disp scanoutpos size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp scanoutpos vers %d\n", args->v0.version);
+               nvif_ioctl(object, "disp scanoutpos vers %d\n",
+                          args->v0.version);
                args->v0.vblanks = nvkm_rd32(device, 0x680800 + hoff) & 0xffff;
                args->v0.vtotal  = nvkm_rd32(device, 0x680804 + hoff) & 0xffff;
                args->v0.vblanke = args->v0.vtotal - 1;
        struct nvkm_disp *disp = (void *)object->engine;
        int head, ret;
 
-       nv_ioctl(object, "disp mthd size %d\n", size);
+       nvif_ioctl(object, "disp mthd size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "disp mthd vers %d mthd %02x head %d\n",
-                        args->v0.version, args->v0.method, args->v0.head);
+               nvif_ioctl(object, "disp mthd vers %d mthd %02x head %d\n",
+                          args->v0.version, args->v0.method, args->v0.head);
                mthd = args->v0.method;
                head = args->v0.head;
        } else
 
        struct nv50_disp_dmac *mast;
        int ret;
 
-       nv_ioctl(parent, "create disp core channel dma size %d\n", size);
+       nvif_ioctl(parent, "create disp core channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create disp core channel dma vers %d "
-                                "pushbuf %08x\n",
-                        args->v0.version, args->v0.pushbuf);
+               nvif_ioctl(parent, "create disp core channel dma vers %d "
+                                  "pushbuf %08x\n",
+                          args->v0.version, args->v0.pushbuf);
        } else
                return ret;
 
        struct nv50_disp_dmac *dmac;
        int ret;
 
-       nv_ioctl(parent, "create disp base channel dma size %d\n", size);
+       nvif_ioctl(parent, "create disp base channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create disp base channel dma vers %d "
-                                "pushbuf %08x head %d\n",
-                        args->v0.version, args->v0.pushbuf, args->v0.head);
+               nvif_ioctl(parent, "create disp base channel dma vers %d "
+                                  "pushbuf %08x head %d\n",
+                          args->v0.version, args->v0.pushbuf, args->v0.head);
                if (args->v0.head > disp->head.nr)
                        return -EINVAL;
        } else
        struct nv50_disp_dmac *dmac;
        int ret;
 
-       nv_ioctl(parent, "create disp overlay channel dma size %d\n", size);
+       nvif_ioctl(parent, "create disp overlay channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create disp overlay channel dma vers %d "
-                                "pushbuf %08x head %d\n",
-                        args->v0.version, args->v0.pushbuf, args->v0.head);
+               nvif_ioctl(parent, "create disp overlay channel dma vers %d "
+                                  "pushbuf %08x head %d\n",
+                          args->v0.version, args->v0.pushbuf, args->v0.head);
                if (args->v0.head > disp->head.nr)
                        return -EINVAL;
        } else
        struct nv50_disp_pioc *pioc;
        int ret;
 
-       nv_ioctl(parent, "create disp overlay size %d\n", size);
+       nvif_ioctl(parent, "create disp overlay size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create disp overlay vers %d head %d\n",
-                        args->v0.version, args->v0.head);
+               nvif_ioctl(parent, "create disp overlay vers %d head %d\n",
+                          args->v0.version, args->v0.head);
                if (args->v0.head > disp->head.nr)
                        return -EINVAL;
        } else
        struct nv50_disp_pioc *pioc;
        int ret;
 
-       nv_ioctl(parent, "create disp cursor size %d\n", size);
+       nvif_ioctl(parent, "create disp cursor size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create disp cursor vers %d head %d\n",
-                        args->v0.version, args->v0.head);
+               nvif_ioctl(parent, "create disp cursor vers %d head %d\n",
+                          args->v0.version, args->v0.head);
                if (args->v0.head > disp->head.nr)
                        return -EINVAL;
        } else
        } *args = data;
        int ret;
 
-       nv_ioctl(object, "disp scanoutpos size %d\n", size);
+       nvif_ioctl(object, "disp scanoutpos size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp scanoutpos vers %d\n", args->v0.version);
+               nvif_ioctl(object, "disp scanoutpos vers %d\n",
+                          args->v0.version);
                args->v0.vblanke = (blanke & 0xffff0000) >> 16;
                args->v0.hblanke = (blanke & 0x0000ffff);
                args->v0.vblanks = (blanks & 0xffff0000) >> 16;
        if (mthd != NV50_DISP_MTHD)
                return -EINVAL;
 
-       nv_ioctl(object, "disp mthd size %d\n", size);
+       nvif_ioctl(object, "disp mthd size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(object, "disp mthd vers %d mthd %02x head %d\n",
-                        args->v0.version, args->v0.method, args->v0.head);
+               nvif_ioctl(object, "disp mthd vers %d mthd %02x head %d\n",
+                          args->v0.version, args->v0.method, args->v0.head);
                mthd = args->v0.method;
                head = args->v0.head;
        } else
        if (nvif_unpack(args->v1, 1, 1, true)) {
-               nv_ioctl(object, "disp mthd vers %d mthd %02x "
-                                "type %04x mask %04x\n",
-                        args->v1.version, args->v1.method,
-                        args->v1.hasht, args->v1.hashm);
+               nvif_ioctl(object, "disp mthd vers %d mthd %02x "
+                                  "type %04x mask %04x\n",
+                          args->v1.version, args->v1.method,
+                          args->v1.hasht, args->v1.hashm);
                mthd = args->v1.method;
                type = args->v1.hasht;
                mask = args->v1.hashm;
                union {
                        struct nv50_disp_sor_lvds_script_v0 v0;
                } *args = data;
-               nv_ioctl(object, "disp sor lvds script size %d\n", size);
+               nvif_ioctl(object, "disp sor lvds script size %d\n", size);
                if (nvif_unpack(args->v0, 0, 0, false)) {
-                       nv_ioctl(object, "disp sor lvds script "
-                                        "vers %d name %04x\n",
-                                args->v0.version, args->v0.script);
+                       nvif_ioctl(object, "disp sor lvds script "
+                                          "vers %d name %04x\n",
+                                  args->v0.version, args->v0.script);
                        disp->sor.lvdsconf = args->v0.script;
                        return 0;
                } else
                union {
                        struct nv50_disp_sor_dp_pwr_v0 v0;
                } *args = data;
-               nv_ioctl(object, "disp sor dp pwr size %d\n", size);
+               nvif_ioctl(object, "disp sor dp pwr size %d\n", size);
                if (nvif_unpack(args->v0, 0, 0, false)) {
-                       nv_ioctl(object, "disp sor dp pwr vers %d state %d\n",
-                                args->v0.version, args->v0.state);
+                       nvif_ioctl(object, "disp sor dp pwr vers %d state %d\n",
+                                  args->v0.version, args->v0.state);
                        if (args->v0.state == 0) {
                                nvkm_notify_put(&outpdp->irq);
                                ((struct nvkm_output_dp_impl *)nv_oclass(outp))
 
        u32 ctrl, type;
        int ret;
 
-       nv_ioctl(object, "disp pior pwr size %d\n", size);
+       nvif_ioctl(object, "disp pior pwr size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp pior pwr vers %d state %d type %x\n",
-                        args->v0.version, args->v0.state, args->v0.type);
+               nvif_ioctl(object, "disp pior pwr vers %d state %d type %x\n",
+                          args->v0.version, args->v0.state, args->v0.type);
                if (args->v0.type > 0x0f)
                        return -EINVAL;
                ctrl = !!args->v0.state;
 
        u32 stat;
        int ret;
 
-       nv_ioctl(object, "disp sor pwr size %d\n", size);
+       nvif_ioctl(object, "disp sor pwr size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "disp sor pwr vers %d state %d\n",
-                        args->v0.version, args->v0.state);
+               nvif_ioctl(object, "disp sor pwr vers %d state %d\n",
+                          args->v0.version, args->v0.state);
                stat = !!args->v0.state;
        } else
                return ret;
 
        if (ret)
                return ret;
 
-       nv_ioctl(parent, "create dma size %d\n", *psize);
+       nvif_ioctl(parent, "create dma size %d\n", *psize);
        if (nvif_unpack(args->v0, 0, 0, true)) {
-               nv_ioctl(parent, "create dma vers %d target %d access %d "
-                                "start %016llx limit %016llx\n",
-                        args->v0.version, args->v0.target, args->v0.access,
-                        args->v0.start, args->v0.limit);
+               nvif_ioctl(parent, "create dma vers %d target %d access %d "
+                                  "start %016llx limit %016llx\n",
+                          args->v0.version, args->v0.target, args->v0.access,
+                          args->v0.start, args->v0.limit);
                dmaobj->target = args->v0.target;
                dmaobj->access = args->v0.access;
                dmaobj->start  = args->v0.start;
 
                return ret;
        args = data;
 
-       nv_ioctl(parent, "create gf100 dma size %d\n", size);
+       nvif_ioctl(parent, "create gf100 dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create gf100 dma vers %d priv %d kind %02x\n",
-                        args->v0.version, args->v0.priv, args->v0.kind);
+               nvif_ioctl(parent,
+                          "create gf100 dma vers %d priv %d kind %02x\n",
+                          args->v0.version, args->v0.priv, args->v0.kind);
                kind = args->v0.kind;
                user = args->v0.priv;
                unkn = 0;
 
                return ret;
        args = data;
 
-       nv_ioctl(parent, "create gf110 dma size %d\n", size);
+       nvif_ioctl(parent, "create gf110 dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create gf100 dma vers %d page %d kind %02x\n",
-                        args->v0.version, args->v0.page, args->v0.kind);
+               nvif_ioctl(parent,
+                          "create gf100 dma vers %d page %d kind %02x\n",
+                          args->v0.version, args->v0.page, args->v0.kind);
                kind = args->v0.kind;
                page = args->v0.page;
        } else
 
                return ret;
        args = data;
 
-       nv_ioctl(parent, "create nv50 dma size %d\n", size);
+       nvif_ioctl(parent, "create nv50 dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create nv50 dma vers %d priv %d part %d "
-                                "comp %d kind %02x\n", args->v0.version,
-                        args->v0.priv, args->v0.part, args->v0.comp,
-                        args->v0.kind);
+               nvif_ioctl(parent, "create nv50 dma vers %d priv %d part %d "
+                                  "comp %d kind %02x\n", args->v0.version,
+                          args->v0.priv, args->v0.part, args->v0.comp,
+                          args->v0.kind);
                user = args->v0.priv;
                part = args->v0.part;
                comp = args->v0.comp;
 
        struct nv50_fifo_chan *chan;
        int ret;
 
-       nv_ioctl(parent, "create channel dma size %d\n", size);
+       nvif_ioctl(parent, "create channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel dma vers %d pushbuf %08x "
-                                "offset %016llx\n", args->v0.version,
-                        args->v0.pushbuf, args->v0.offset);
+               nvif_ioctl(parent, "create channel dma vers %d pushbuf %08x "
+                                  "offset %016llx\n", args->v0.version,
+                          args->v0.pushbuf, args->v0.offset);
        } else
                return ret;
 
        u64 ioffset, ilength;
        int ret;
 
-       nv_ioctl(parent, "create channel gpfifo size %d\n", size);
+       nvif_ioctl(parent, "create channel gpfifo size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
-                                "ioffset %016llx ilength %08x\n",
-                        args->v0.version, args->v0.pushbuf, args->v0.ioffset,
-                        args->v0.ilength);
+               nvif_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
+                                  "ioffset %016llx ilength %08x\n",
+                          args->v0.version, args->v0.pushbuf, args->v0.ioffset,
+                          args->v0.ilength);
        } else
                return ret;
 
 
        u64 usermem, ioffset, ilength;
        int ret, i;
 
-       nv_ioctl(parent, "create channel gpfifo size %d\n", size);
+       nvif_ioctl(parent, "create channel gpfifo size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
-                                "ioffset %016llx ilength %08x\n",
-                        args->v0.version, args->v0.pushbuf, args->v0.ioffset,
-                        args->v0.ilength);
+               nvif_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
+                                  "ioffset %016llx ilength %08x\n",
+                          args->v0.version, args->v0.pushbuf, args->v0.ioffset,
+                          args->v0.ilength);
        } else
                return ret;
 
 
        u64 usermem, ioffset, ilength;
        int ret, i;
 
-       nv_ioctl(parent, "create channel gpfifo size %d\n", size);
+       nvif_ioctl(parent, "create channel gpfifo size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
-                                "ioffset %016llx ilength %08x engine %08x\n",
-                        args->v0.version, args->v0.pushbuf, args->v0.ioffset,
-                        args->v0.ilength, args->v0.engine);
+               nvif_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
+                                  "ioffset %016llx ilength %08x engine %08x\n",
+                          args->v0.version, args->v0.pushbuf, args->v0.ioffset,
+                          args->v0.ilength, args->v0.engine);
        } else
                return ret;
 
 
        struct nv04_fifo_chan *chan;
        int ret;
 
-       nv_ioctl(parent, "create channel dma size %d\n", size);
+       nvif_ioctl(parent, "create channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel dma vers %d pushbuf %08x "
-                                "offset %016llx\n", args->v0.version,
-                        args->v0.pushbuf, args->v0.offset);
+               nvif_ioctl(parent, "create channel dma vers %d pushbuf %08x "
+                                  "offset %016llx\n", args->v0.version,
+                          args->v0.pushbuf, args->v0.offset);
        } else
                return ret;
 
 
        struct nv04_fifo_chan *chan;
        int ret;
 
-       nv_ioctl(parent, "create channel dma size %d\n", size);
+       nvif_ioctl(parent, "create channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel dma vers %d pushbuf %08x "
-                                "offset %016llx\n", args->v0.version,
-                        args->v0.pushbuf, args->v0.offset);
+               nvif_ioctl(parent, "create channel dma vers %d pushbuf %08x "
+                                  "offset %016llx\n", args->v0.version,
+                          args->v0.pushbuf, args->v0.offset);
        } else
                return ret;
 
 
        struct nv04_fifo_chan *chan;
        int ret;
 
-       nv_ioctl(parent, "create channel dma size %d\n", size);
+       nvif_ioctl(parent, "create channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel dma vers %d pushbuf %08x "
-                                "offset %016llx\n", args->v0.version,
-                        args->v0.pushbuf, args->v0.offset);
+               nvif_ioctl(parent, "create channel dma vers %d pushbuf %08x "
+                                  "offset %016llx\n", args->v0.version,
+                          args->v0.pushbuf, args->v0.offset);
        } else
                return ret;
 
 
        struct nv04_fifo_chan *chan;
        int ret;
 
-       nv_ioctl(parent, "create channel dma size %d\n", size);
+       nvif_ioctl(parent, "create channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel dma vers %d pushbuf %08x "
-                                "offset %016llx\n", args->v0.version,
-                        args->v0.pushbuf, args->v0.offset);
+               nvif_ioctl(parent, "create channel dma vers %d pushbuf %08x "
+                                  "offset %016llx\n", args->v0.version,
+                          args->v0.pushbuf, args->v0.offset);
        } else
                return ret;
 
 
        struct nv50_fifo_chan *chan;
        int ret;
 
-       nv_ioctl(parent, "create channel dma size %d\n", size);
+       nvif_ioctl(parent, "create channel dma size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel dma vers %d pushbuf %08x "
-                                "offset %016llx\n", args->v0.version,
-                        args->v0.pushbuf, args->v0.offset);
+               nvif_ioctl(parent, "create channel dma vers %d pushbuf %08x "
+                                  "offset %016llx\n", args->v0.version,
+                          args->v0.pushbuf, args->v0.offset);
        } else
                return ret;
 
        u64 ioffset, ilength;
        int ret;
 
-       nv_ioctl(parent, "create channel gpfifo size %d\n", size);
+       nvif_ioctl(parent, "create channel gpfifo size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
-                                "ioffset %016llx ilength %08x\n",
-                        args->v0.version, args->v0.pushbuf, args->v0.ioffset,
-                        args->v0.ilength);
+               nvif_ioctl(parent, "create channel gpfifo vers %d pushbuf %08x "
+                                  "ioffset %016llx ilength %08x\n",
+                          args->v0.version, args->v0.pushbuf, args->v0.ioffset,
+                          args->v0.ilength);
        } else
                return ret;
 
 
        struct nvkm_perfdom *dom = (void *)object;
        int ret, i;
 
-       nv_ioctl(object, "perfdom init size %d\n", size);
+       nvif_ioctl(object, "perfdom init size %d\n", size);
        if (nvif_unvers(args->none)) {
-               nv_ioctl(object, "perfdom init\n");
+               nvif_ioctl(object, "perfdom init\n");
        } else
                return ret;
 
        struct nvkm_perfdom *dom;
        int ret;
 
-       nv_ioctl(object, "perfdom sample size %d\n", size);
+       nvif_ioctl(object, "perfdom sample size %d\n", size);
        if (nvif_unvers(args->none)) {
-               nv_ioctl(object, "perfdom sample\n");
+               nvif_ioctl(object, "perfdom sample\n");
        } else
                return ret;
        pm->sequence++;
        struct nvkm_perfdom *dom = (void *)object;
        int ret, i;
 
-       nv_ioctl(object, "perfdom read size %d\n", size);
+       nvif_ioctl(object, "perfdom read size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "perfdom read vers %d\n", args->v0.version);
+               nvif_ioctl(object, "perfdom read vers %d\n", args->v0.version);
        } else
                return ret;
 
        int c, s, m;
        int ret;
 
-       nv_ioctl(parent, "create perfdom size %d\n", size);
+       nvif_ioctl(parent, "create perfdom size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(parent, "create perfdom vers %d dom %d mode %02x\n",
-                        args->v0.version, args->v0.domain, args->v0.mode);
+               nvif_ioctl(parent, "create perfdom vers %d dom %d mode %02x\n",
+                          args->v0.version, args->v0.domain, args->v0.mode);
        } else
                return ret;
 
        u8 domain_nr;
        int di, ret;
 
-       nv_ioctl(object, "perfmon query domain size %d\n", size);
+       nvif_ioctl(object, "perfmon query domain size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object, "perfmon domain vers %d iter %02x\n",
-                        args->v0.version, args->v0.iter);
+               nvif_ioctl(object, "perfmon domain vers %d iter %02x\n",
+                          args->v0.version, args->v0.iter);
                di = (args->v0.iter & 0xff) - 1;
        } else
                return ret;
        const bool raw = nvkm_boolopt(device->cfgopt, "NvPmUnnamed", all);
        int ret, si;
 
-       nv_ioctl(object, "perfmon query signal size %d\n", size);
+       nvif_ioctl(object, "perfmon query signal size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object,
-                        "perfmon query signal vers %d dom %d iter %04x\n",
-                        args->v0.version, args->v0.domain, args->v0.iter);
+               nvif_ioctl(object,
+                          "perfmon query signal vers %d dom %d iter %04x\n",
+                          args->v0.version, args->v0.domain, args->v0.iter);
                si = (args->v0.iter & 0xffff) - 1;
        } else
                return ret;
        u8 source_nr = 0;
        int si, ret;
 
-       nv_ioctl(object, "perfmon query source size %d\n", size);
+       nvif_ioctl(object, "perfmon query source size %d\n", size);
        if (nvif_unpack(args->v0, 0, 0, false)) {
-               nv_ioctl(object,
-                        "perfmon source vers %d dom %d sig %02x iter %02x\n",
-                        args->v0.version, args->v0.domain, args->v0.signal,
-                        args->v0.iter);
+               nvif_ioctl(object,
+                          "perfmon source vers %d dom %d sig %02x iter %02x\n",
+                          args->v0.version, args->v0.domain, args->v0.signal,
+                          args->v0.iter);
                si = (args->v0.iter & 0xff) - 1;
        } else
                return ret;