drm/nouveau/falcon: use split type+inst when looking up PRI addr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
This commit is contained in:
parent
fcc08a7c0d
commit
b7da823a3e
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user