From nobody Mon Sep 28 08:07:53 2026 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33D3043A80C for ; Mon, 24 Aug 2026 15:26:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787585188; cv=none; b=s75Lj5XwLnF0sc+Re+64Bcc1oIoE8L4Fp0ZTeJX2k30feThTM0kCi8JtIyt4zJ84CwOB4eaDqUd3jLBskfXCYao4C6AUf+CDwLvN41wu2XkIn68CLcWlpNxeG23woD7B5itdGXxm3DLT/JyKSvqNvo60vaPdBEqJeY/powgO9hk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787585188; c=relaxed/simple; bh=9+0KGoxcR1EH/pBIni4Xxh+dWOdgLpz7X6AErxEWYHY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=U6aRKA+0CBHQ9D+cgYEWM/AjIoQrmJxYhKwRoE6eXjA+VmVE0UHFJwdWgxYBWw3UnSGLSDmi+a2RhPdoeREHik31G2kmMGSYz23IoPosj4DdQZxAgGvdWIU7OwbjaqRvpcDOpVtvSWzNaA9xfYreyBHhIxaSHz+SbBVNsLps6SM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KSlDCpx9; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KSlDCpx9" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-c1670dad7a8so631727666b.3 for ; Mon, 24 Aug 2026 08:26:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787585179; x=1788189979; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=9F2J5SRbAwAJnLOAmG/aWzQgdURy+BfWx3XTRWy62I0=; b=KSlDCpx9L+MaOD4LoamvWB4PkQMrxpqowX/Q/t3oiWY7NX/0Wtl/1bKNUm3u4yMu5j wpWc8C4bsDCxyTKArau06FaAmnBafMkfHepTaRQkwQYHiA94AX7PZHkQ7rfnOqEVniTC ZRxQARt5gBjoXTkmO0o5w4Qy3BoT7JNzeh/A5lHicYatGyzvOHY2gdoSpSVZevBzCMpA cUmXqz92aDK+/dF56+eAwQkVrEyqT1sOKKF5j8wVGW3y1CCoiC5aRBrhlNBIbth06wkR 2qouent+QSo6YGc7BaWJLTPaDs+ddh3QKkNmxPLTn4Ea9ZsyVN1TOyH2iwpzcd8abre/ 2Yvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787585179; x=1788189979; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9F2J5SRbAwAJnLOAmG/aWzQgdURy+BfWx3XTRWy62I0=; b=j8+6c+5NrD+Rkh05lqURrqGzf4hsNe8ztXdd0+2i4RlS1+uWhbt+it585sjQsi57LQ RVUYwuBgKt9mdVQR/ucc4ka06YbiuADrtruAIzZO8U/3OmVxOW/d6PTcbFp+AHw86lyC JLnXc81+WNxJ8nZ9yMSBKJv48YvsOepgcKkfgtIyR/O4AHsq6gYqLPEWIBFguKxPLq5+ BhHgD2fBEcrBTOcpnnOi7XXeZYTJ6aSgnvvxHYJi5hjrEKRbssoPGGiEXp3GV+xjAI2D Lgy+Udwiuh34vcNxOnZTtI9MZudVi7OInLxro2NombrsB3kxTpJbJ+l4L6LQSKxlaWmU rEJw== X-Forwarded-Encrypted: i=1; AHgh+Rr7ng2PgN+ET3OPUzLycJaB4Tajvjlftv84wmM2sW8slHLqHT1o2k8XLhb9+0CsLRjns/WK04nkRW9ZgKw=@vger.kernel.org X-Gm-Message-State: AFuF++mNPhyyo8HMz7Q9j9OaeDkKld8y181Pf9rguEgA+gYd+vPo4E9Y ZzVscxp5y954QJGOCK3tzqLBJG8al6kpEXgangpyZSgpx9W4VoiouEnA+71O1Q== X-Gm-Gg: AR+sD12Pr+hFHC2p6RXdf8aXk3CoP9z6sGzHhbEBiRy6T4XXbk89i+JlP0A3cASCgaD Bu8eW/+kMIIziGLz2PmXrOr6naCZZwXvuN93cn1FYG70wdM577T0GXnDczf4S7vvHW9ME++0Q6U v4ODLLQW2aqPFu6iBKI4hWtbljcIKVyrZpmcFuNKslLmSnG2sIjFe3aoGyBPFsAv6sM2nSkPCNs wzrt8aTuk7ftRLK9PmrAhpBztbfQl6yHQgPQksav6oogtXPa5t5NhqTUdMHUpfDelqDqRUCUYNu EWlgzccinyqg4hudrMd7/JU8SEc9bpRetQeCdLqSUzjTEU74M7QKFzBsnGDMZ+HcYT7P7+DxUeE 4QtjRixOf2DZB9o1N0vgQd7tgB6fNU+WFK1vP1/KA+lU6cHwAk9msNPW+I1I+3aCMXZNHNQclvI 9PQYBmC45qe+0PH/siNEpn9uka+ieWUH/IJ+3XTxyLs3wWxWFLOwvUReq8Xvt5PqER8v1EGh68+ K7gdF5Jlf/8Q+ITMKuAUqR9pmz/JAFODLarDVnOfum19VzbAcXgtWdwARiHATj5PDsF/EuTFY4f P0gecuQ9WUWT+w4l/HVRGZQ= X-Received: by 2002:a17:906:fe03:b0:c16:242a:472f with SMTP id a640c23a62f3a-c246b4af7e1mr3441361466b.23.1787585179115; Mon, 24 Aug 2026 08:26:19 -0700 (PDT) Received: from tapdecorti.home (cst-prg-46-213.cust.vodafone.cz. [46.135.46.213]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c249689fa97sm1158783366b.57.2026.08.24.08.26.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 08:26:18 -0700 (PDT) From: Tomeu Vizoso X-Google-Original-From: Tomeu Vizoso To: "Rob Herring (Arm)" , Tomeu Vizoso , Oded Gabbay , Thomas Zimmermann , Frank Li Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] accel: ethosu: Don't read the U65 rounding mode as a storage mode Date: Mon, 24 Aug 2026 17:26:11 +0200 Message-ID: <20260824152612.751007-1-tomeu@tomeuvizoso.net> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Bits 15:14 of NPU_SET_{IFM,OFM}_PRECISION select the activation storage mode on U85 only. On U65 the same field holds the rounding mode, and the command stream parser has read it as a storage mode since the driver was added. That went unnoticed while unknown values fell through the switch, but now that they are rejected, every U65 command stream that asks for natural rounding (2) fails CMDSTREAM_BO_CREATE with -EINVAL. Mesa emits it for average pooling, concatenation, split, unpack, strided slice, LUT and argmax, which is 72 failures of the Teflon test suite on an i.MX93. Truncating rounding (1) is misread as well: it picks the two-tile address path and computes a bogus feature map size from tile bases the command stream never set. Read the field as a storage mode only on the hardware where it is one. Fixes: 5a5e9c0228e6 ("accel: Add Arm Ethos-U NPU driver") Fixes: 6b7e0066294d ("accel: ethosu: Handle U85 internal chaining buffer") Assisted-by: Claude:claude-opus-5 Signed-off-by: Tomeu Vizoso --- drivers/accel/ethosu/ethosu_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/accel/ethosu/ethosu_gem.c b/drivers/accel/ethosu/ethos= u_gem.c index d50fed64d4d9..fa37a190e9ff 100644 --- a/drivers/accel/ethosu/ethosu_gem.c +++ b/drivers/accel/ethosu/ethosu_gem.c @@ -204,7 +204,7 @@ static u64 feat_matrix_length(struct ethosu_device *ede= v, struct feat_matrix *fm, u32 x, u32 y, u32 c, bool ofm) { - u32 element_size, storage =3D fm->precision >> 14; + u32 element_size, storage =3D ethosu_is_u65(edev) ? 0 : fm->precision >> = 14; int tile =3D 0; u64 addr; =20 --=20 2.54.0