Browse Source

drm/nouveau/core: expose full method calling capabilities with nv_exec

nv_call() just allows mthd+u32 submission, nv_exec() exposes the
mthd+data+size interface which will be used in future commits.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 12 years ago
parent
commit
cbe7270d48
1 changed files with 8 additions and 2 deletions
  1. 8 2
      drivers/gpu/drm/nouveau/core/include/core/object.h

+ 8 - 2
drivers/gpu/drm/nouveau/core/include/core/object.h

@@ -109,19 +109,25 @@ int nouveau_object_del(struct nouveau_object *, u32 parent, u32 handle);
 void nouveau_object_debug(void);
 
 static inline int
-nv_call(void *obj, u32 mthd, u32 data)
+nv_exec(void *obj, u32 mthd, void *data, u32 size)
 {
 	struct nouveau_omthds *method = nv_oclass(obj)->omthds;
 
 	while (method && method->call) {
 		if (method->method == mthd)
-			return method->call(obj, mthd, &data, sizeof(data));
+			return method->call(obj, mthd, data, size);
 		method++;
 	}
 
 	return -EINVAL;
 }
 
+static inline int
+nv_call(void *obj, u32 mthd, u32 data)
+{
+	return nv_exec(obj, mthd, &data, sizeof(data));
+}
+
 static inline u8
 nv_ro08(void *obj, u64 addr)
 {