summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/include
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-08-20 07:54:18 +0300
committerBen Skeggs <bskeggs@redhat.com>2015-08-28 05:40:39 +0300
commit24bd0930bedea1182aaadc52757897d2b9b3ca99 (patch)
tree80e8673ff62805d8f53f8f304436fbb54f505474 /drivers/gpu/drm/nouveau/include
parent6157091177102638c7d94ffc159c0b157a1c9b56 (diff)
downloadlinux-24bd0930bedea1182aaadc52757897d2b9b3ca99.tar.xz
drm/nouveau/client: convert to new-style nvkm_object
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvif/client.h2
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/core/client.h36
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h1
3 files changed, 20 insertions, 19 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvif/client.h b/drivers/gpu/drm/nouveau/include/nvif/client.h
index 4d5db8039576..4a7f6f7b836d 100644
--- a/drivers/gpu/drm/nouveau/include/nvif/client.h
+++ b/drivers/gpu/drm/nouveau/include/nvif/client.h
@@ -23,6 +23,6 @@ int nvif_client_resume(struct nvif_client *);
#include <core/client.h>
#define nvxx_client(a) ({ \
struct nvif_client *_client = (a); \
- nvkm_client(_client->object.priv); \
+ (struct nvkm_client *)_client->object.priv; \
})
#endif
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/client.h b/drivers/gpu/drm/nouveau/include/nvkm/core/client.h
index ff6331d7e9e6..4bb0acca8650 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/core/client.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/core/client.h
@@ -1,37 +1,29 @@
#ifndef __NVKM_CLIENT_H__
#define __NVKM_CLIENT_H__
-#include <core/namedb.h>
+#include <core/object.h>
struct nvkm_client {
- struct nvkm_namedb namedb;
- struct nvkm_handle *root;
- u64 device;
+ struct nvkm_object object;
char name[32];
+ u64 device;
u32 debug;
- struct nvkm_vm *vm;
+
+ struct nvkm_client_notify *notify[16];
+ struct rb_root objroot;
+
+ struct nvkm_handle *root;
+
bool super;
void *data;
-
int (*ntfy)(const void *, u32, const void *, u32);
- struct nvkm_client_notify *notify[16];
- struct rb_root objroot;
+ struct nvkm_vm *vm;
};
bool nvkm_client_insert(struct nvkm_client *, struct nvkm_handle *);
void nvkm_client_remove(struct nvkm_client *, struct nvkm_handle *);
struct nvkm_handle *nvkm_client_search(struct nvkm_client *, u64 handle);
-static inline struct nvkm_client *
-nvkm_client(struct nvkm_object *object)
-{
- while (object && object->parent)
- object = object->parent;
- if (object && nv_iclass(object, NV_CLIENT_CLASS))
- return container_of(object, struct nvkm_client, namedb.parent.object);
- return NULL;
-}
-
int nvkm_client_new(const char *name, u64 device, const char *cfg,
const char *dbg, struct nvkm_client **);
void nvkm_client_del(struct nvkm_client **);
@@ -39,6 +31,14 @@ int nvkm_client_init(struct nvkm_client *);
int nvkm_client_fini(struct nvkm_client *, bool suspend);
const char *nvkm_client_name(void *obj);
+static inline struct nvkm_client *
+nvkm_client(struct nvkm_object *object)
+{
+ while (object && object->parent)
+ object = object->parent;
+ return container_of(object, struct nvkm_client, object);
+}
+
int nvkm_client_notify_new(struct nvkm_object *, struct nvkm_event *,
void *data, u32 size);
int nvkm_client_notify_del(struct nvkm_client *, int index);
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h b/drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
index aa465def4f95..dfa24d233321 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
@@ -1,6 +1,7 @@
#ifndef __NVKM_ENGCTX_H__
#define __NVKM_ENGCTX_H__
#include <core/gpuobj.h>
+#include <core/parent.h>
#include <subdev/mmu.h>