summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2020-12-06 05:14:13 +0300
committerBen Skeggs <bskeggs@redhat.com>2021-02-11 04:49:48 +0300
commitf483253f3486f2e7c669e841aceb2ac95cbb9318 (patch)
tree244da877e5afd4e9c5e6aea63e436655085311d8 /drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
parentefe2a9eccd720d93d3ea6271bc5e2245344daadb (diff)
downloadlinux-f483253f3486f2e7c669e841aceb2ac95cbb9318.tar.xz
drm/nouveau/nvkm: add macros for subdev layout
Rather than having to add new engines / engine instances to multiple places, define everything in include/nvkm/core/layout.h and use macros to generate the required plumbing. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h b/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
index a37f7112de33..8f41393467ce 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
@@ -89,6 +89,7 @@ struct nvkm_subdev {
u32 debug;
struct list_head head;
+ void **pself;
bool oneinit;
};
@@ -111,6 +112,7 @@ void nvkm_subdev_ctor_(const struct nvkm_subdev_func *, bool old, struct nvkm_de
#define nvkm_subdev_ctor_n(f,d,t,i,s) nvkm_subdev_ctor_((f), false, (d), (t), (i), (s))
#define nvkm_subdev_ctor__(_1,_2,_3,_4,_5,IMPL,...) IMPL
#define nvkm_subdev_ctor(A...) nvkm_subdev_ctor__(A, nvkm_subdev_ctor_n, nvkm_subdev_ctor_o)(A)
+void nvkm_subdev_disable(struct nvkm_device *, enum nvkm_subdev_type, int inst);
void nvkm_subdev_del(struct nvkm_subdev **);
int nvkm_subdev_preinit(struct nvkm_subdev *);
int nvkm_subdev_init(struct nvkm_subdev *);