Commit b7da823a authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/falcon: use split type+inst when looking up PRI addr



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
parent fcc08a7c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ struct nvkm_top_device {
	struct list_head head;
};

u32 nvkm_top_addr(struct nvkm_device *, enum nvkm_devidx);
u32 nvkm_top_addr(struct nvkm_device *, enum nvkm_subdev_type, int);
u32 nvkm_top_reset(struct nvkm_device *, enum nvkm_subdev_type, int);
u32 nvkm_top_intr_mask(struct nvkm_device *, enum nvkm_subdev_type, int);
int nvkm_top_fault_id(struct nvkm_device *, enum nvkm_devidx);
+1 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ nvkm_falcon_oneinit(struct nvkm_falcon *falcon)
	u32 reg;

	if (!falcon->addr) {
		falcon->addr = nvkm_top_addr(subdev->device, subdev->index);
		falcon->addr = nvkm_top_addr(subdev->device, subdev->type, subdev->inst);
		if (WARN_ON(!falcon->addr))
			return -ENODEV;
	}
+2 −2
Original line number Diff line number Diff line
@@ -43,14 +43,14 @@ nvkm_top_device_new(struct nvkm_top *top)
}

u32
nvkm_top_addr(struct nvkm_device *device, enum nvkm_devidx index)
nvkm_top_addr(struct nvkm_device *device, enum nvkm_subdev_type type, int inst)
{
	struct nvkm_top *top = device->top;
	struct nvkm_top_device *info;

	if (top) {
		list_for_each_entry(info, &top->device, head) {
			if (info->index == index)
			if (info->type == type && info->inst == inst)
				return info->addr;
		}
	}