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>main
parent
343d1ee83e
commit
c00e1a92a2
|
@ -33,6 +33,7 @@ nouveau_device_wrap
|
||||||
nouveau_getparam
|
nouveau_getparam
|
||||||
nouveau_object_del
|
nouveau_object_del
|
||||||
nouveau_object_find
|
nouveau_object_find
|
||||||
|
nouveau_object_mthd
|
||||||
nouveau_object_new
|
nouveau_object_new
|
||||||
nouveau_pushbuf_bufctx
|
nouveau_pushbuf_bufctx
|
||||||
nouveau_pushbuf_data
|
nouveau_pushbuf_data
|
||||||
|
|
|
@ -59,6 +59,13 @@ debug_init(char *args)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
nouveau_object_mthd(struct nouveau_object *obj,
|
||||||
|
uint32_t mthd, void *data, uint32_t size)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
nouveau_object_fini(struct nouveau_object *obj)
|
nouveau_object_fini(struct nouveau_object *obj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -67,6 +67,8 @@ int nouveau_object_new(struct nouveau_object *parent, uint64_t handle,
|
||||||
uint32_t oclass, void *data, uint32_t length,
|
uint32_t oclass, void *data, uint32_t length,
|
||||||
struct nouveau_object **);
|
struct nouveau_object **);
|
||||||
void nouveau_object_del(struct nouveau_object **);
|
void nouveau_object_del(struct nouveau_object **);
|
||||||
|
int nouveau_object_mthd(struct nouveau_object *, uint32_t mthd,
|
||||||
|
void *data, uint32_t size);
|
||||||
void *nouveau_object_find(struct nouveau_object *, uint32_t parent_class);
|
void *nouveau_object_find(struct nouveau_object *, uint32_t parent_class);
|
||||||
|
|
||||||
struct nouveau_device {
|
struct nouveau_device {
|
||||||
|
|
Loading…
Reference in New Issue