drm/nouveau/top: take nvkm_device as argument to public functions
authorBen Skeggs <bskeggs@redhat.com>
Mon, 30 May 2016 00:32:55 +0000 (10:32 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 14 Jul 2016 01:53:25 +0000 (11:53 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c
drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c

index 8fb575a92c48f69336b844eb09575fbfcc73beb5..5f75a66bfdbff92b5239d29505ac9647c614d3a6 100644 (file)
@@ -8,10 +8,10 @@ struct nvkm_top {
        struct list_head device;
 };
 
-u32 nvkm_top_reset(struct nvkm_top *, enum nvkm_devidx);
-u32 nvkm_top_intr(struct nvkm_top *, u32 intr, u64 *subdevs);
-enum nvkm_devidx nvkm_top_fault(struct nvkm_top *, int fault);
-enum nvkm_devidx nvkm_top_engine(struct nvkm_top *, int, int *runl, int *engn);
+u32 nvkm_top_reset(struct nvkm_device *, enum nvkm_devidx);
+u32 nvkm_top_intr(struct nvkm_device *, u32 intr, u64 *subdevs);
+enum nvkm_devidx nvkm_top_fault(struct nvkm_device *, int fault);
+enum nvkm_devidx nvkm_top_engine(struct nvkm_device *, int, int *runl, int *engn);
 
 int gk104_top_new(struct nvkm_device *, int, struct nvkm_top **);
 #endif
index 743f3a189f285dd6234a54efe6e5d50009fbf25e..f574b744cf66eb564e9e602c6ff99bef870d1a28 100644 (file)
@@ -329,7 +329,7 @@ gk104_fifo_intr_fault(struct gk104_fifo *fifo, int unit)
        }
 
        if (eu == NULL) {
-               enum nvkm_devidx engidx = nvkm_top_fault(device->top, unit);
+               enum nvkm_devidx engidx = nvkm_top_fault(device, unit);
                if (engidx < NVKM_SUBDEV_NR) {
                        const char *src = nvkm_subdev_name[engidx];
                        char *dst = en;
@@ -589,7 +589,6 @@ gk104_fifo_oneinit(struct nvkm_fifo *base)
        struct gk104_fifo *fifo = gk104_fifo(base);
        struct nvkm_subdev *subdev = &fifo->base.engine.subdev;
        struct nvkm_device *device = subdev->device;
-       struct nvkm_top *top = device->top;
        int engn, runl, pbid, ret, i, j;
        enum nvkm_devidx engidx;
        u32 *map;
@@ -608,7 +607,7 @@ gk104_fifo_oneinit(struct nvkm_fifo *base)
 
        /* Determine runlist configuration from topology device info. */
        i = 0;
-       while ((int)(engidx = nvkm_top_engine(top, i++, &runl, &engn)) >= 0) {
+       while ((int)(engidx = nvkm_top_engine(device, i++, &runl, &engn)) >= 0) {
                /* Determine which PBDMA handles requests for this engine. */
                for (j = 0, pbid = -1; j < fifo->pbdma_nr; j++) {
                        if (map[j] & (1 << runl)) {
index 350a8caa84c8dbd9b565cb2ea4b71a2b428bb116..60d5c956f676f29ae7d66789cce1eb13430c4d2e 100644 (file)
@@ -63,7 +63,7 @@ nvkm_mc_intr(struct nvkm_mc *mc, bool *handled)
        u32 stat, intr = nvkm_mc_intr_mask(mc);
        u64 subdevs;
 
-       stat = nvkm_top_intr(device->top, intr, &subdevs);
+       stat = nvkm_top_intr(device, intr, &subdevs);
        while (subdevs) {
                enum nvkm_devidx subidx = __ffs64(subdevs);
                subdev = nvkm_device_subdev(device, subidx);
@@ -94,7 +94,7 @@ nvkm_mc_reset_(struct nvkm_mc *mc, enum nvkm_devidx devidx)
        const struct nvkm_mc_map *map;
        u64 pmc_enable;
 
-       if (!(pmc_enable = nvkm_top_reset(device->top, devidx))) {
+       if (!(pmc_enable = nvkm_top_reset(device, devidx))) {
                for (map = mc->func->reset; map && map->stat; map++) {
                        if (map->unit == devidx) {
                                pmc_enable = map->stat;
index a1b264664aad9cb2e4785a873cb984b647c27c50..19fbcfdb08e83c21aa4781a8dbf14c796a419132 100644 (file)
@@ -41,8 +41,9 @@ nvkm_top_device_new(struct nvkm_top *top)
 }
 
 u32
-nvkm_top_reset(struct nvkm_top *top, enum nvkm_devidx index)
+nvkm_top_reset(struct nvkm_device *device, enum nvkm_devidx index)
 {
+       struct nvkm_top *top = device->top;
        struct nvkm_top_device *info;
 
        if (top) {
@@ -56,8 +57,9 @@ nvkm_top_reset(struct nvkm_top *top, enum nvkm_devidx index)
 }
 
 u32
-nvkm_top_intr(struct nvkm_top *top, u32 intr, u64 *psubdevs)
+nvkm_top_intr(struct nvkm_device *device, u32 intr, u64 *psubdevs)
 {
+       struct nvkm_top *top = device->top;
        struct nvkm_top_device *info;
        u64 subdevs = 0;
        u32 handled = 0;
@@ -78,8 +80,9 @@ nvkm_top_intr(struct nvkm_top *top, u32 intr, u64 *psubdevs)
 }
 
 enum nvkm_devidx
-nvkm_top_fault(struct nvkm_top *top, int fault)
+nvkm_top_fault(struct nvkm_device *device, int fault)
 {
+       struct nvkm_top *top = device->top;
        struct nvkm_top_device *info;
 
        list_for_each_entry(info, &top->device, head) {
@@ -91,8 +94,9 @@ nvkm_top_fault(struct nvkm_top *top, int fault)
 }
 
 enum nvkm_devidx
-nvkm_top_engine(struct nvkm_top *top, int index, int *runl, int *engn)
+nvkm_top_engine(struct nvkm_device *device, int index, int *runl, int *engn)
 {
+       struct nvkm_top *top = device->top;
        struct nvkm_top_device *info;
        int n = 0;