v3d: implement simultaneous peripheral access exceptions for V3D 4.1+
[mesa.git] / src / broadcom / qpu / qpu_instr.c
index 22f574ce5e443a1081d8f5c1e21019976656cca0..66e53a6accdc11ca22bc9812d34f232bf0740936 100644 (file)
@@ -682,6 +682,16 @@ v3d_qpu_writes_tmu(const struct v3d_qpu_instr *inst)
                   v3d_qpu_magic_waddr_is_tmu(inst->alu.mul.waddr))));
 }
 
+bool
+v3d_qpu_writes_tmu_not_tmuc(const struct v3d_qpu_instr *inst)
+{
+        return v3d_qpu_writes_tmu(inst) &&
+               (!inst->alu.add.magic_write ||
+                inst->alu.add.waddr != V3D_QPU_WADDR_TMUC) &&
+               (!inst->alu.mul.magic_write ||
+                inst->alu.mul.waddr != V3D_QPU_WADDR_TMUC);
+}
+
 bool
 v3d_qpu_reads_vpm(const struct v3d_qpu_instr *inst)
 {