drm/nouveau/core/client: modify prefix on nvif structures, for consistency
authorBen Skeggs <bskeggs@redhat.com>
Wed, 25 May 2016 22:43:00 +0000 (08:43 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 17 Feb 2017 05:14:58 +0000 (15:14 +1000)
Preparation for supporting subclients.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/include/nvif/class.h
drivers/gpu/drm/nouveau/include/nvif/if0000.h
drivers/gpu/drm/nouveau/include/nvkm/core/client.h
drivers/gpu/drm/nouveau/nvkm/core/client.c

index 9e4df725f29b291f15199930fe7391057126fdcd..3a2c0137d4b42d477f281063a2df44d1868ad33b 100644 (file)
@@ -2,13 +2,17 @@
 #define __NVIF_CLASS_H__
 
 /* these class numbers are made up by us, and not nvidia-assigned */
-#define NVIF_CLASS_CONTROL                                    /* if0001.h */ -1
-#define NVIF_CLASS_PERFMON                                    /* if0002.h */ -2
-#define NVIF_CLASS_PERFDOM                                    /* if0003.h */ -3
-#define NVIF_CLASS_SW_NV04                                    /* if0004.h */ -4
-#define NVIF_CLASS_SW_NV10                                    /* if0005.h */ -5
-#define NVIF_CLASS_SW_NV50                                    /* if0005.h */ -6
-#define NVIF_CLASS_SW_GF100                                   /* if0005.h */ -7
+#define NVIF_CLASS_CLIENT                            /* if0000.h */ -0x00000000
+
+#define NVIF_CLASS_CONTROL                           /* if0001.h */ -0x00000001
+
+#define NVIF_CLASS_PERFMON                           /* if0002.h */ -0x00000002
+#define NVIF_CLASS_PERFDOM                           /* if0003.h */ -0x00000003
+
+#define NVIF_CLASS_SW_NV04                           /* if0004.h */ -0x00000004
+#define NVIF_CLASS_SW_NV10                           /* if0005.h */ -0x00000005
+#define NVIF_CLASS_SW_NV50                           /* if0005.h */ -0x00000006
+#define NVIF_CLASS_SW_GF100                          /* if0005.h */ -0x00000007
 
 /* the below match nvidia-assigned (either in hw, or sw) class numbers */
 #define NV_NULL_CLASS                                                0x00000030
index 85c44e8a12012dad19ee06c93c8422dcbfd28584..18bbd823677d7cfcd83b21d7fa52fb99883c3042 100644 (file)
@@ -1,9 +1,9 @@
 #ifndef __NVIF_IF0000_H__
 #define __NVIF_IF0000_H__
 
-#define NV_CLIENT_DEVLIST                                                  0x00
+#define NVIF_CLIENT_V0_DEVLIST                                             0x00
 
-struct nv_client_devlist_v0 {
+struct nvif_client_devlist_v0 {
        __u8  version;
        __u8  count;
        __u8  pad02[6];
index f5861ab4ecff44919df26da47fe1e0692f77e957..a87d458246b6ac9eb7c52e2aff462960b10cfb12 100644 (file)
@@ -1,5 +1,6 @@
 #ifndef __NVKM_CLIENT_H__
 #define __NVKM_CLIENT_H__
+#define nvkm_client(p) container_of((p), struct nvkm_client, object)
 #include <core/object.h>
 
 struct nvkm_client {
index 8087b253845c105ee77a8a3f62c470c61437c24f..aab4a8897cfb662e53864ca7a58d57f246f432ba 100644 (file)
 #include <nvif/if0000.h>
 #include <nvif/unpack.h>
 
+static const struct nvkm_sclass
+nvkm_uclient_sclass = {
+       .oclass = NVIF_CLASS_CLIENT,
+};
+
 struct nvkm_client_notify {
        struct nvkm_client *client;
        struct nvkm_notify n;
@@ -139,16 +144,16 @@ nvkm_client_notify_new(struct nvkm_object *object,
 }
 
 static int
-nvkm_client_mthd_devlist(struct nvkm_object *object, void *data, u32 size)
+nvkm_client_mthd_devlist(struct nvkm_client *client, void *data, u32 size)
 {
        union {
-               struct nv_client_devlist_v0 v0;
+               struct nvif_client_devlist_v0 v0;
        } *args = data;
        int ret = -ENOSYS;
 
-       nvif_ioctl(object, "client devlist size %d\n", size);
+       nvif_ioctl(&client->object, "client devlist size %d\n", size);
        if (!(ret = nvif_unpack(ret, &data, &size, args->v0, 0, 0, true))) {
-               nvif_ioctl(object, "client devlist vers %d count %d\n",
+               nvif_ioctl(&client->object, "client devlist vers %d count %d\n",
                           args->v0.version, args->v0.count);
                if (size == sizeof(args->v0.device[0]) * args->v0.count) {
                        ret = nvkm_device_list(args->v0.device, args->v0.count);
@@ -167,9 +172,10 @@ nvkm_client_mthd_devlist(struct nvkm_object *object, void *data, u32 size)
 static int
 nvkm_client_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size)
 {
+       struct nvkm_client *client = nvkm_client(object);
        switch (mthd) {
-       case NV_CLIENT_DEVLIST:
-               return nvkm_client_mthd_devlist(object, data, size);
+       case NVIF_CLIENT_V0_DEVLIST:
+               return nvkm_client_mthd_devlist(client, data, size);
        default:
                break;
        }
@@ -243,7 +249,7 @@ int
 nvkm_client_new(const char *name, u64 device, const char *cfg,
                const char *dbg, struct nvkm_client **pclient)
 {
-       struct nvkm_oclass oclass = {};
+       struct nvkm_oclass oclass = { .base = nvkm_uclient_sclass };
        struct nvkm_client *client;
 
        if (!(client = *pclient = kzalloc(sizeof(*client), GFP_KERNEL)))