]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/nouveau/sec2: use falcon funcs
authorBen Skeggs <bskeggs@redhat.com>
Tue, 14 Jan 2020 20:34:21 +0000 (06:34 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 15 Jan 2020 00:50:27 +0000 (10:50 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h
drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c

index 2ffa125a15d79c51be613ad7c78ecd92df318e0d..25f016fefe15bd6b28ec08e3d21a18ce27da9eb5 100644 (file)
@@ -9,7 +9,6 @@ struct nvkm_sec2 {
        const struct nvkm_sec2_func *func;
        struct nvkm_engine engine;
        struct nvkm_falcon falcon;
-       u32 addr;
 
        struct nvkm_msgqueue *queue;
        struct work_struct work;
index 5554e9f4df882c2e1a079c6c303236a3d2836e74..f4cf682786c93b349a6754d7469e2909717ba8b7 100644 (file)
@@ -29,21 +29,20 @@ static void
 nvkm_sec2_intr(struct nvkm_engine *engine)
 {
        struct nvkm_sec2 *sec2 = nvkm_sec2(engine);
-       struct nvkm_subdev *subdev = &engine->subdev;
-       struct nvkm_device *device = subdev->device;
-       u32 disp = nvkm_rd32(device, sec2->addr + 0x01c);
-       u32 intr = nvkm_rd32(device, sec2->addr + 0x008) & disp & ~(disp >> 16);
+       struct nvkm_subdev *subdev = &sec2->engine.subdev;
+       struct nvkm_falcon *falcon = &sec2->falcon;
+       u32 disp = nvkm_falcon_rd32(falcon, 0x01c);
+       u32 intr = nvkm_falcon_rd32(falcon, 0x008) & disp & ~(disp >> 16);
 
        if (intr & 0x00000040) {
                schedule_work(&sec2->work);
-               nvkm_wr32(device, sec2->addr + 0x004, 0x00000040);
+               nvkm_falcon_wr32(falcon, 0x004, 0x00000040);
                intr &= ~0x00000040;
        }
 
        if (intr) {
                nvkm_error(subdev, "unhandled intr %08x\n", intr);
-               nvkm_wr32(device, sec2->addr + 0x004, intr);
-
+               nvkm_falcon_wr32(falcon, 0x004, intr);
        }
 }
 
@@ -94,7 +93,6 @@ nvkm_sec2_new_(const struct nvkm_sec2_fwif *fwif, struct nvkm_device *device,
 
        if (!(sec2 = *psec2 = kzalloc(sizeof(*sec2), GFP_KERNEL)))
                return -ENOMEM;
-       sec2->addr = addr;
 
        ret = nvkm_engine_ctor(&nvkm_sec2, device, index, true, &sec2->engine);
        if (ret)