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

Commit f750ecc9 authored by Ilia Mirkin's avatar Ilia Mirkin Committed by Ben Skeggs
Browse files

drm/nv50/gr: update list of mp errors, make it a bitfield

parent e2dd003d
Loading
Loading
Loading
Loading
+10 −8
Original line number Original line Diff line number Diff line
@@ -304,12 +304,14 @@ nv84_graph_tlb_flush(struct nouveau_engine *engine)
	return timeout ? -EBUSY : 0;
	return timeout ? -EBUSY : 0;
}
}


static const struct nouveau_enum nv50_mp_exec_error_names[] = {
static const struct nouveau_bitfield nv50_mp_exec_errors[] = {
	{ 3, "STACK_UNDERFLOW", NULL },
	{ 0x01, "STACK_UNDERFLOW" },
	{ 4, "QUADON_ACTIVE", NULL },
	{ 0x02, "STACK_MISMATCH" },
	{ 8, "TIMEOUT", NULL },
	{ 0x04, "QUADON_ACTIVE" },
	{ 0x10, "INVALID_OPCODE", NULL },
	{ 0x08, "TIMEOUT" },
	{ 0x40, "BREAKPOINT", NULL },
	{ 0x10, "INVALID_OPCODE" },
	{ 0x20, "PM_OVERFLOW" },
	{ 0x40, "BREAKPOINT" },
	{}
	{}
};
};


@@ -475,7 +477,7 @@ nv50_priv_mp_trap(struct nv50_graph_priv *priv, int tpid, int display)
			ophigh = nv_rd32(priv, addr + 0x74);
			ophigh = nv_rd32(priv, addr + 0x74);
			nv_error(priv, "TRAP_MP_EXEC - "
			nv_error(priv, "TRAP_MP_EXEC - "
					"TP %d MP %d:", tpid, i);
					"TP %d MP %d:", tpid, i);
			nouveau_enum_print(nv50_mp_exec_error_names, status);
			nouveau_bitfield_print(nv50_mp_exec_errors, status);
			pr_cont(" at %06x warp %d, opcode %08x %08x\n",
			pr_cont(" at %06x warp %d, opcode %08x %08x\n",
					pc&0xffffff, pc >> 24,
					pc&0xffffff, pc >> 24,
					oplow, ophigh);
					oplow, ophigh);