From b640985aab1451b92ecb055c463c73d04ada7314 Mon Sep 17 00:00:00 2001 From: Jose Maria Casanova Crespo Date: Fri, 20 Mar 2026 17:06:15 +0100 Subject: [PATCH] broadcom/common: fix V3D 7.1 TFU ICFG IFORMAT values The V3D 7.1 TFU ICFG register restructured the IFORMAT field to 3 bits (25:23) vs 4 bits on V3D 4.2. The defines were still using the V3D 4.2 encoding (11-15) which overflows the 3-bit field. Fix values to the correct 3-7 range. This was working by accident because the overflow bits land in the SVTWID field, which is not used for the affected tiling formats. Also rename SAND_128 to SAND since V3D 7.1 has a single SAND input format; the tile width is now controlled by SVTWID. Fixes: 146ceadcf45 ("v3dv: add support for TFU jobs in v71") Reviewed-by: Iago Toral Quiroga (cherry picked from commit 89229f08bb84a07b999d6ecee221d2924e917e0f) Part-of: --- .pick_status.json | 2 +- src/broadcom/common/v3d_tfu.h | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index ae4d2b21deb..edd075a2bfc 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2984,7 +2984,7 @@ "description": "broadcom/common: fix V3D 7.1 TFU ICFG IFORMAT values", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "146ceadcf45db7d2e6434ccc816f133da8dcd81f", "notes": null diff --git a/src/broadcom/common/v3d_tfu.h b/src/broadcom/common/v3d_tfu.h index f6a880f062c..3c2576cbf4a 100644 --- a/src/broadcom/common/v3d_tfu.h +++ b/src/broadcom/common/v3d_tfu.h @@ -64,12 +64,12 @@ #define V3D71_TFU_ICFG_OTYPE_SHIFT 16 #define V3D71_TFU_ICFG_IFORMAT_SHIFT 23 #define V3D71_TFU_ICFG_FORMAT_RASTER 0 -#define V3D71_TFU_ICFG_FORMAT_SAND_128 1 -#define V3D71_TFU_ICFG_FORMAT_SAND_256 2 -#define V3D71_TFU_ICFG_FORMAT_LINEARTILE 11 -#define V3D71_TFU_ICFG_FORMAT_UBLINEAR_1_COLUMN 12 -#define V3D71_TFU_ICFG_FORMAT_UBLINEAR_2_COLUMN 13 -#define V3D71_TFU_ICFG_FORMAT_UIF_NO_XOR 14 -#define V3D71_TFU_ICFG_FORMAT_UIF_XOR 15 +#define V3D71_TFU_ICFG_FORMAT_SAND 1 +#define V3D71_TFU_ICFG_FORMAT_CONSTANT_COLOUR 2 +#define V3D71_TFU_ICFG_FORMAT_LINEARTILE 3 +#define V3D71_TFU_ICFG_FORMAT_UBLINEAR_1_COLUMN 4 +#define V3D71_TFU_ICFG_FORMAT_UBLINEAR_2_COLUMN 5 +#define V3D71_TFU_ICFG_FORMAT_UIF_NO_XOR 6 +#define V3D71_TFU_ICFG_FORMAT_UIF_XOR 7 #endif