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

Commit 874309a5 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nv50/fb: implement trap handler as subdev interrupt handler



nv50_fb_trap() will now be called automagically by the mc intr handler,
rather than each engine's handler having to check for traps manually.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent e0cdd1e5
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -133,7 +133,6 @@ nva3_copy_intr(struct nouveau_subdev *subdev)
		nv_wr32(priv, 0x104004, stat);
	}

	nv50_fb_trap(nouveau_fb(priv), 1);
	nouveau_engctx_put(engctx);
}

+0 −1
Original line number Diff line number Diff line
@@ -157,7 +157,6 @@ nv84_crypt_intr(struct nouveau_subdev *subdev)
	nv_wr32(priv, 0x102130, stat);
	nv_wr32(priv, 0x10200c, 0x10);

	nv50_fb_trap(nouveau_fb(priv), 1);
	nouveau_engctx_put(engctx);
}

+0 −1
Original line number Diff line number Diff line
@@ -135,7 +135,6 @@ nv98_crypt_intr(struct nouveau_subdev *subdev)
		nv_wr32(priv, 0x087004, stat);
	}

	nv50_fb_trap(nouveau_fb(priv), 1);
	nouveau_engctx_put(engctx);
}

+0 −1
Original line number Diff line number Diff line
@@ -525,7 +525,6 @@ nv04_fifo_intr(struct nouveau_subdev *subdev)

		if (device->card_type == NV_50) {
			if (status & 0x00000010) {
				nv50_fb_trap(nouveau_fb(priv), 1);
				status &= ~0x00000010;
				nv_wr32(priv, 0x002100, 0x00000010);
			}
+0 −1
Original line number Diff line number Diff line
@@ -792,7 +792,6 @@ nv50_graph_intr(struct nouveau_subdev *subdev)
		nv_error(priv, "ch %d [0x%010llx] subc %d class 0x%04x "
			       "mthd 0x%04x data 0x%08x\n",
			 chid, (u64)inst << 12, subc, class, mthd, data);
		nv50_fb_trap(nouveau_fb(priv), 1);
	}

	if (nv_rd32(priv, 0x400824) & (1 << 31))
Loading