Skip to content

Commit

Permalink
drm/nouveau/core: expose full method calling capabilities with nv_exec
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ben Skeggs committed Nov 28, 2012
1 parent 65c7866 commit cbe7270
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/gpu/drm/nouveau/core/include/core/object.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down

0 comments on commit cbe7270

Please sign in to comment.