Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

drm/nouveau/mc: allow calling of multiple handlers for a give intr bit



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 3cb0ebdd
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -30,20 +30,20 @@ nouveau_mc_intr(struct nouveau_subdev *subdev)
	struct nouveau_mc *pmc = nouveau_mc(subdev);
	const struct nouveau_mc_intr *map = pmc->intr_map;
	struct nouveau_subdev *unit;
	u32 stat;
	u32 stat, intr;

	stat = nv_rd32(pmc, 0x000100);
	intr = stat = nv_rd32(pmc, 0x000100);
	while (stat && map->stat) {
		if (stat & map->stat) {
			unit = nouveau_subdev(subdev, map->unit);
			if (unit && unit->intr)
				unit->intr(unit);
			stat &= ~map->stat;
			intr &= ~map->stat;
		}
		map++;
	}

	if (stat) {
	if (intr) {
		nv_error(pmc, "unknown intr 0x%08x\n", stat);
	}
}