hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/drivers/gpu/drm/nouveau/include/nvif/object.h
....@@ -1,7 +1,6 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
1
+/* SPDX-License-Identifier: MIT */
22 #ifndef __NVIF_OBJECT_H__
33 #define __NVIF_OBJECT_H__
4
-
54 #include <nvif/os.h>
65
76 struct nvif_sclass {
....@@ -11,7 +10,9 @@
1110 };
1211
1312 struct nvif_object {
13
+ struct nvif_parent *parent;
1414 struct nvif_client *client;
15
+ const char *name;
1516 u32 handle;
1617 s32 oclass;
1718 void *priv; /*XXX: hack */
....@@ -21,9 +22,9 @@
2122 } map;
2223 };
2324
24
-int nvif_object_init(struct nvif_object *, u32 handle, s32 oclass, void *, u32,
25
- struct nvif_object *);
26
-void nvif_object_fini(struct nvif_object *);
25
+int nvif_object_ctor(struct nvif_object *, const char *name, u32 handle,
26
+ s32 oclass, void *, u32, struct nvif_object *);
27
+void nvif_object_dtor(struct nvif_object *);
2728 int nvif_object_ioctl(struct nvif_object *, void *, u32, void **);
2829 int nvif_object_sclass_get(struct nvif_object *, struct nvif_sclass **);
2930 void nvif_object_sclass_put(struct nvif_sclass **);
....@@ -115,6 +116,19 @@
115116 _cid; \
116117 })
117118
119
+#define NVIF_RD32_(p,o,dr) nvif_rd32((p), (o) + (dr))
120
+#define NVIF_WR32_(p,o,dr,f) nvif_wr32((p), (o) + (dr), (f))
121
+#define NVIF_RD32(p,A...) DRF_RD(NVIF_RD32_, (p), 0, ##A)
122
+#define NVIF_RV32(p,A...) DRF_RV(NVIF_RD32_, (p), 0, ##A)
123
+#define NVIF_TV32(p,A...) DRF_TV(NVIF_RD32_, (p), 0, ##A)
124
+#define NVIF_TD32(p,A...) DRF_TD(NVIF_RD32_, (p), 0, ##A)
125
+#define NVIF_WR32(p,A...) DRF_WR( NVIF_WR32_, (p), 0, ##A)
126
+#define NVIF_WV32(p,A...) DRF_WV( NVIF_WR32_, (p), 0, ##A)
127
+#define NVIF_WD32(p,A...) DRF_WD( NVIF_WR32_, (p), 0, ##A)
128
+#define NVIF_MR32(p,A...) DRF_MR(NVIF_RD32_, NVIF_WR32_, u32, (p), 0, ##A)
129
+#define NVIF_MV32(p,A...) DRF_MV(NVIF_RD32_, NVIF_WR32_, u32, (p), 0, ##A)
130
+#define NVIF_MD32(p,A...) DRF_MD(NVIF_RD32_, NVIF_WR32_, u32, (p), 0, ##A)
131
+
118132 /*XXX*/
119133 #include <core/object.h>
120134 #define nvxx_object(a) ({ \