Commit 608a29c2 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/ce: make use of nvkm_subdev.inst



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
parent 50551b15
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -29,9 +29,7 @@
static void
gf100_ce_init(struct nvkm_falcon *ce)
{
	struct nvkm_device *device = ce->engine.subdev.device;
	const int index = ce->engine.subdev.index - NVKM_ENGINE_CE0;
	nvkm_wr32(device, ce->addr + 0x084, index);
	nvkm_wr32(ce->engine.subdev.device, ce->addr + 0x084, ce->engine.subdev.inst);
}

static const struct nvkm_falcon_func
+1 −1
Original line number Diff line number Diff line
@@ -58,9 +58,9 @@ gk104_ce_intr_launcherr(struct nvkm_engine *ce, const u32 base)
void
gk104_ce_intr(struct nvkm_engine *ce)
{
	const u32 base = (ce->subdev.index - NVKM_ENGINE_CE0) * 0x1000;
	struct nvkm_subdev *subdev = &ce->subdev;
	struct nvkm_device *device = subdev->device;
	const u32 base = subdev->inst * 0x1000;
	u32 mask = nvkm_rd32(device, 0x104904 + base);
	u32 intr = nvkm_rd32(device, 0x104908 + base) & mask;
	if (intr & 0x00000001) {
+1 −1
Original line number Diff line number Diff line
@@ -59,9 +59,9 @@ gp100_ce_intr_launcherr(struct nvkm_engine *ce, const u32 base)
void
gp100_ce_intr(struct nvkm_engine *ce)
{
	const u32 base = (ce->subdev.index - NVKM_ENGINE_CE0) * 0x80;
	struct nvkm_subdev *subdev = &ce->subdev;
	struct nvkm_device *device = subdev->device;
	const u32 base = subdev->inst * 0x80;
	u32 mask = nvkm_rd32(device, 0x10440c + base);
	u32 intr = nvkm_rd32(device, 0x104410 + base) & mask;
	if (intr & 0x00000001) { //XXX: guess
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ gt215_ce_intr(struct nvkm_falcon *ce, struct nvkm_fifo_chan *chan)
{
	struct nvkm_subdev *subdev = &ce->engine.subdev;
	struct nvkm_device *device = subdev->device;
	const u32 base = (subdev->index - NVKM_ENGINE_CE0) * 0x1000;
	const u32 base = subdev->inst * 0x1000;
	u32 ssta = nvkm_rd32(device, 0x104040 + base) & 0x0000ffff;
	u32 addr = nvkm_rd32(device, 0x104040 + base) >> 16;
	u32 mthd = (addr & 0x07ff) << 2;