aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs2015-11-23 17:58:39 -0600
committerBen Skeggs2015-12-21 21:22:12 -0600
commitc00e1a92a24cb84008d90ce67218bb593396fde5 (patch)
tree2b93a40a4315e262e85488625f101c1b18ee7a90 /nouveau
parent343d1ee83e8bf833b575cc1df097d5202e11b8e8 (diff)
downloadexternal-libgbm-c00e1a92a24cb84008d90ce67218bb593396fde5.tar.gz
external-libgbm-c00e1a92a24cb84008d90ce67218bb593396fde5.tar.xz
external-libgbm-c00e1a92a24cb84008d90ce67218bb593396fde5.zip
nouveau: add interface to call an object's methods
This will expose functionality supported by newer kernel interfaces, giving access to things such as ZBC controls, perfmon, etc. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'nouveau')
-rwxr-xr-xnouveau/nouveau-symbol-check1
-rw-r--r--nouveau/nouveau.c7
-rw-r--r--nouveau/nouveau.h2
3 files changed, 10 insertions, 0 deletions
diff --git a/nouveau/nouveau-symbol-check b/nouveau/nouveau-symbol-check
index 0fef5632..73301702 100755
--- a/nouveau/nouveau-symbol-check
+++ b/nouveau/nouveau-symbol-check
@@ -33,6 +33,7 @@ nouveau_device_wrap
33nouveau_getparam 33nouveau_getparam
34nouveau_object_del 34nouveau_object_del
35nouveau_object_find 35nouveau_object_find
36nouveau_object_mthd
36nouveau_object_new 37nouveau_object_new
37nouveau_pushbuf_bufctx 38nouveau_pushbuf_bufctx
38nouveau_pushbuf_data 39nouveau_pushbuf_data
diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c
index eb741c7d..1871e8cd 100644
--- a/nouveau/nouveau.c
+++ b/nouveau/nouveau.c
@@ -59,6 +59,13 @@ debug_init(char *args)
59} 59}
60#endif 60#endif
61 61
62int
63nouveau_object_mthd(struct nouveau_object *obj,
64 uint32_t mthd, void *data, uint32_t size)
65{
66 return -ENODEV;
67}
68
62static void 69static void
63nouveau_object_fini(struct nouveau_object *obj) 70nouveau_object_fini(struct nouveau_object *obj)
64{ 71{
diff --git a/nouveau/nouveau.h b/nouveau/nouveau.h
index 4adda0e3..4c95409e 100644
--- a/nouveau/nouveau.h
+++ b/nouveau/nouveau.h
@@ -67,6 +67,8 @@ int nouveau_object_new(struct nouveau_object *parent, uint64_t handle,
67 uint32_t oclass, void *data, uint32_t length, 67 uint32_t oclass, void *data, uint32_t length,
68 struct nouveau_object **); 68 struct nouveau_object **);
69void nouveau_object_del(struct nouveau_object **); 69void nouveau_object_del(struct nouveau_object **);
70int nouveau_object_mthd(struct nouveau_object *, uint32_t mthd,
71 void *data, uint32_t size);
70void *nouveau_object_find(struct nouveau_object *, uint32_t parent_class); 72void *nouveau_object_find(struct nouveau_object *, uint32_t parent_class);
71 73
72struct nouveau_device { 74struct nouveau_device {