]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/nouveau/fifo/gk104-: group pbdma functions together
authorBen Skeggs <bskeggs@redhat.com>
Tue, 11 Dec 2018 04:50:02 +0000 (14:50 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 11 Dec 2018 05:37:48 +0000 (15:37 +1000)
We're about to be adding more of them.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm20b.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c

index 5480f12dede2af5543d7d0bb5b6f11de8b543dba..1a6bafbc53ca530440b814482f16f0b4ebe63111 100644 (file)
@@ -249,6 +249,10 @@ gk104_fifo_runlist = {
        .commit = gk104_fifo_runlist_commit,
 };
 
+const struct gk104_fifo_pbdma_func
+gk104_fifo_pbdma = {
+};
+
 static void
 gk104_fifo_recover_work(struct work_struct *w)
 {
@@ -1004,8 +1008,8 @@ gk104_fifo_init(struct nvkm_fifo *base)
 
        nvkm_wr32(device, 0x002254, 0x10000000 | fifo->user.bar->addr >> 12);
 
-       if (fifo->func->init_pbdma_timeout)
-               fifo->func->init_pbdma_timeout(fifo);
+       if (fifo->func->pbdma->init_timeout)
+               fifo->func->pbdma->init_timeout(fifo);
 
        nvkm_wr32(device, 0x002100, 0xffffffff);
        nvkm_wr32(device, 0x002140, 0x7fffffff);
@@ -1184,6 +1188,7 @@ gk104_fifo_fault_gpcclient[] = {
 
 static const struct gk104_fifo_func
 gk104_fifo = {
+       .pbdma = &gk104_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gk104_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index 4f0b4c1ed59dae1ca920419289ac0286b1504bcc..c069183c20f8e1330cd048f53e38e4f26fa6c6ca 100644 (file)
@@ -45,7 +45,9 @@ struct gk104_fifo {
 };
 
 struct gk104_fifo_func {
-       void (*init_pbdma_timeout)(struct gk104_fifo *);
+       const struct gk104_fifo_pbdma_func {
+               void (*init_timeout)(struct gk104_fifo *);
+       } *pbdma;
 
        struct {
                const struct nvkm_enum *access;
@@ -85,6 +87,7 @@ void gk104_fifo_runlist_insert(struct gk104_fifo *, struct gk104_fifo_chan *);
 void gk104_fifo_runlist_remove(struct gk104_fifo *, struct gk104_fifo_chan *);
 void gk104_fifo_runlist_update(struct gk104_fifo *, int runl);
 
+extern const struct gk104_fifo_pbdma_func gk104_fifo_pbdma;
 extern const struct nvkm_enum gk104_fifo_fault_access[];
 extern const struct nvkm_enum gk104_fifo_fault_engine[];
 extern const struct nvkm_enum gk104_fifo_fault_reason[];
@@ -100,7 +103,8 @@ extern const struct gk104_fifo_runlist_func gk110_fifo_runlist;
 void gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *,
                             struct nvkm_memory *, u32);
 
-void gk208_fifo_init_pbdma_timeout(struct gk104_fifo *);
+extern const struct gk104_fifo_pbdma_func gk208_fifo_pbdma;
+void gk208_fifo_pbdma_init_timeout(struct gk104_fifo *);
 
 extern const struct nvkm_enum gm107_fifo_fault_engine[];
 extern const struct gk104_fifo_runlist_func gm107_fifo_runlist;
index 4285054ed49fa7a955bcda9a37cdef998d9158f9..8adfa6b182cbab9b703bee09a9bdb89014fa7656 100644 (file)
@@ -48,6 +48,7 @@ gk110_fifo_runlist = {
 
 static const struct gk104_fifo_func
 gk110_fifo = {
+       .pbdma = &gk104_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gk104_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index 5ea7e452cc660d4f2120be5194ad2d9be2848891..c0c1606656dfaa33a770c915d3f61034b2603183 100644 (file)
@@ -27,7 +27,7 @@
 #include <nvif/class.h>
 
 void
-gk208_fifo_init_pbdma_timeout(struct gk104_fifo *fifo)
+gk208_fifo_pbdma_init_timeout(struct gk104_fifo *fifo)
 {
        struct nvkm_device *device = fifo->base.engine.subdev.device;
        int i;
@@ -36,9 +36,14 @@ gk208_fifo_init_pbdma_timeout(struct gk104_fifo *fifo)
                nvkm_wr32(device, 0x04012c + (i * 0x2000), 0x0000ffff);
 }
 
+const struct gk104_fifo_pbdma_func
+gk208_fifo_pbdma = {
+       .init_timeout = gk208_fifo_pbdma_init_timeout,
+};
+
 static const struct gk104_fifo_func
 gk208_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gk104_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index 535a0eb67a5fc83eda731e5fc60ca0853ba41206..a4c6ac3cd6c70a1e8d5cef24e01ea33f5c30b871 100644 (file)
@@ -26,7 +26,7 @@
 
 static const struct gk104_fifo_func
 gk20a_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gk104_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index aed847bec27621fda9312610f569f9e46485fc33..acf230764cb0bb966e915d6826e8ddeb4561f2e0 100644 (file)
@@ -69,7 +69,7 @@ gm107_fifo_fault_engine[] = {
 
 static const struct gk104_fifo_func
 gm107_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gm107_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index 49565faa854d06c72aff1259d182e1c7105004c1..488d8250ad4cdec67d44559006cde8e897d0a34f 100644 (file)
@@ -28,7 +28,7 @@
 
 static const struct gk104_fifo_func
 gm200_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gm107_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index 46736513bd11a5bbd228f41efd8ee93e9ce86f2f..5a05ad009b8afe919f8f2421ab09562b57fcd3a9 100644 (file)
@@ -26,7 +26,7 @@
 
 static const struct gk104_fifo_func
 gm20b_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gm107_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index e2f8f9087d7c8dd03501c4202b3f3a5eb674a046..838fa90c3cac9fa7b5dd184179be41302afd1a19 100644 (file)
@@ -52,7 +52,7 @@ gp100_fifo_fault_engine[] = {
 
 static const struct gk104_fifo_func
 gp100_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gp100_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index 7733bf7c6545cf03027dce6a4fd18ed9d43550d7..080209de93f1b9e457cb50334415c57216c41fea 100644 (file)
@@ -26,7 +26,7 @@
 
 static const struct gk104_fifo_func
 gp10b_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gk104_fifo_fault_access,
        .fault.engine = gp100_fifo_fault_engine,
        .fault.reason = gk104_fifo_fault_reason,
index b973dbf9fb69edf972eeb98bd097073dfc75d5b0..ded6493e98097a3f491bf1795e4ff27906012230 100644 (file)
@@ -288,7 +288,7 @@ gv100_fifo_fault_access[] = {
 
 static const struct gk104_fifo_func
 gv100_fifo = {
-       .init_pbdma_timeout = gk208_fifo_init_pbdma_timeout,
+       .pbdma = &gk208_fifo_pbdma,
        .fault.access = gv100_fifo_fault_access,
        .fault.engine = gv100_fifo_fault_engine,
        .fault.reason = gv100_fifo_fault_reason,