From 4a3be610d5e5deb47aff1a9fc8bbab85cff9e502 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Mon, 24 Apr 2023 08:48:39 +0200 Subject: [PATCH] broadcom/compiler: fix v3d_qpu_uses_sfu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We should check that the alu op is valid before testing the write address. Reviewed-by: Alejandro PiƱeiro cc: mesa-stable Part-of: --- src/broadcom/qpu/qpu_instr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/broadcom/qpu/qpu_instr.c b/src/broadcom/qpu/qpu_instr.c index a89999e3591..f793d03f681 100644 --- a/src/broadcom/qpu/qpu_instr.c +++ b/src/broadcom/qpu/qpu_instr.c @@ -664,12 +664,14 @@ v3d_qpu_uses_sfu(const struct v3d_qpu_instr *inst) return true; if (inst->type == V3D_QPU_INSTR_TYPE_ALU) { - if (inst->alu.add.magic_write && + if (inst->alu.add.op != V3D_QPU_A_NOP && + inst->alu.add.magic_write && v3d_qpu_magic_waddr_is_sfu(inst->alu.add.waddr)) { return true; } - if (inst->alu.mul.magic_write && + if (inst->alu.mul.op != V3D_QPU_M_NOP && + inst->alu.mul.magic_write && v3d_qpu_magic_waddr_is_sfu(inst->alu.mul.waddr)) { return true; }