From 98e3b1bc5f74298b0cea87c856ca4dc90ba8a60d Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Tue, 21 May 2024 15:09:43 +0200 Subject: [PATCH] freedreno/a7xx: Update TPL1_DBG_ECO_CNTL1 to fix UBWC corruption Copying UBWC image via BLIT_OP_SCALE may be corrupted if previously someone copied image with bit 18 set in TPL1_DBG_ECO_CNTL1. Found by replaying blob's cmdstream on a740, but somehow this issue doesn't happen on Android. Signed-off-by: Danylo Piliaiev Part-of: --- src/freedreno/common/freedreno_devices.py | 6 +++--- src/freedreno/registers/adreno/a6xx.xml | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/freedreno/common/freedreno_devices.py b/src/freedreno/common/freedreno_devices.py index 0d069ae4606..7d2ec1a38a2 100644 --- a/src/freedreno/common/freedreno_devices.py +++ b/src/freedreno/common/freedreno_devices.py @@ -854,7 +854,7 @@ a730_magic_regs = dict( a730_raw_magic_regs = [ [A6XXRegs.REG_A6XX_UCHE_CACHE_WAYS, 0x00840004], - [A6XXRegs.REG_A6XX_TPL1_DBG_ECO_CNTL1, 0x00000724], + [A6XXRegs.REG_A6XX_TPL1_DBG_ECO_CNTL1, 0x00040724], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AE08, 0x00002400], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AE09, 0x00000000], @@ -969,7 +969,7 @@ add_gpus([ ), raw_magic_regs = [ [A6XXRegs.REG_A6XX_UCHE_CACHE_WAYS, 0x00040004], - [A6XXRegs.REG_A6XX_TPL1_DBG_ECO_CNTL1, 0x00000724], + [A6XXRegs.REG_A6XX_TPL1_DBG_ECO_CNTL1, 0x00040724], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AE08, 0x00000400], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AE09, 0x00430800], @@ -1055,7 +1055,7 @@ add_gpus([ ), raw_magic_regs = [ [A6XXRegs.REG_A6XX_UCHE_CACHE_WAYS, 0x00040004], - [A6XXRegs.REG_A6XX_TPL1_DBG_ECO_CNTL1, 0x00000700], + [A6XXRegs.REG_A6XX_TPL1_DBG_ECO_CNTL1, 0x00040700], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AE08, 0x00400400], [A6XXRegs.REG_A7XX_SP_UNKNOWN_AE09, 0x00430820], diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 52a75ec39bd..42af515796e 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -5884,7 +5884,12 @@ to upconvert to 32b float internally? - + + + +