Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cbe7270d authored by Ben Skeggs's avatar Ben Skeggs
Browse files

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: default avatarBen Skeggs <bskeggs@redhat.com>
parent 65c78660
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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)
{