summaryrefslogtreecommitdiffstats
path: root/src/broadcom/compiler
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-11-07 09:51:56 -0800
committerEric Anholt <[email protected]>2017-11-07 12:57:49 -0800
commitdfff9ce45ef9e2ba61814d7a75b896bbaf970557 (patch)
treedea5dbaf7576976bc1903e5a3e3c2dc024a12671 /src/broadcom/compiler
parent9ccb6621be2f40a74f75efe30d83b7813e3c3f56 (diff)
broadcom/vc5: Fix scheduling for a non-SFU R4 write after a dead R4 write.
The v3d_qpu_writes_r*() were only checking for fixed-function accumulator writes, not normal ALU writes to those regs. Fixes fs-discard-exit-2 on simulation (but not HW).
Diffstat (limited to 'src/broadcom/compiler')
-rw-r--r--src/broadcom/compiler/qpu_schedule.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c
index dd221e027ec..799da805906 100644
--- a/src/broadcom/compiler/qpu_schedule.c
+++ b/src/broadcom/compiler/qpu_schedule.c
@@ -201,13 +201,15 @@ process_waddr_deps(struct schedule_state *state, struct schedule_node *n,
case V3D_QPU_WADDR_R0:
case V3D_QPU_WADDR_R1:
case V3D_QPU_WADDR_R2:
- case V3D_QPU_WADDR_R3:
- case V3D_QPU_WADDR_R4:
- case V3D_QPU_WADDR_R5:
add_write_dep(state,
&state->last_r[waddr - V3D_QPU_WADDR_R0],
n);
break;
+ case V3D_QPU_WADDR_R3:
+ case V3D_QPU_WADDR_R4:
+ case V3D_QPU_WADDR_R5:
+ /* Handled by v3d_qpu_writes_r*() checks below. */
+ break;
case V3D_QPU_WADDR_VPM:
case V3D_QPU_WADDR_VPMU: