From: Ben Skeggs Date: Tue, 14 Jan 2020 20:34:21 +0000 (+1000) Subject: drm/nouveau/sec2: use falcon funcs X-Git-Tag: v5.6-rc1~114^2~8^2~44 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=555a0002d3c6d0792df4df33a8a2d7140bc61812;p=linux.git drm/nouveau/sec2: use falcon funcs Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h index 2ffa125a15d7..25f016fefe15 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h @@ -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; diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c index 5554e9f4df88..f4cf682786c9 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c @@ -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)