From 56f9371f7e0da94851a2845a2d0184180606eb4b Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sat, 23 Jul 2022 15:14:22 -0700 Subject: [PATCH] freedreno/registers: Merge a6xx and a7xx regs They have more similarities than differences, so merge them and use "variant" attribute as needed to manage differences. Note initially using "variant" conservatively when it comes to regs known on a7xx but not a6xx. It could be that they exist also on later versions of a6xx as well, for example. For ex, LPAC related regs/bits likely existed on later a6xx (eg. a660 family) but BV stuff is not. Signed-off-by: Rob Clark Part-of: --- src/freedreno/.gitlab-ci/reference/crash.log | 4 +- .../.gitlab-ci/reference/crash_prefetch.log | 6 +- .../.gitlab-ci/reference/prefetch-test.log | 6 +- src/freedreno/registers/adreno.xml | 1 - src/freedreno/registers/adreno/a6xx.xml | 161 ++++++-- src/freedreno/registers/adreno/a6xx_gmu.xml | 2 +- src/freedreno/registers/adreno/a7xx.xml | 346 ------------------ 7 files changed, 145 insertions(+), 381 deletions(-) delete mode 100644 src/freedreno/registers/adreno/a7xx.xml diff --git a/src/freedreno/.gitlab-ci/reference/crash.log b/src/freedreno/.gitlab-ci/reference/crash.log index 098aed2d504..2558a4dd290 100644 --- a/src/freedreno/.gitlab-ci/reference/crash.log +++ b/src/freedreno/.gitlab-ci/reference/crash.log @@ -163,7 +163,7 @@ registers: 00000000 0x30: 00000000 00000000 0x31: 00000000 00000000 0x32: 00000000 - 03d0e242 RBBM_INT_0_MASK: 0x3d0e242 + 03d0e242 RBBM_INT_0_MASK: { CP_AHB_ERROR | RBBM_ATB_ASYNCFIFO_OVERFLOW | CP_HW_ERROR | CP_IB2 | CP_IB1 | CP_RB | CP_CACHE_FLUSH_TS | RBBM_ATB_BUS_OVERFLOW | RBBM_HANG_DETECT | UCHE_OOB_ACCESS | UCHE_TRAP_INTR } 00000000 0x39: 00000000 00000010 0x3a: 00000010 00000000 0x3b: 00000000 @@ -628,7 +628,7 @@ registers: 80000000 0x813: 80000000 00000000 0x820: 00000000 00000000 CP_HW_FAULT: 0 - 00000000 CP_INTERRUPT_STATUS: 0 + 00000000 CP_INTERRUPT_STATUS: { 0 } 00000000 CP_PROTECT_STATUS: 0 00000707 0x826: 00000707 00000001 0x827: 00000001 diff --git a/src/freedreno/.gitlab-ci/reference/crash_prefetch.log b/src/freedreno/.gitlab-ci/reference/crash_prefetch.log index a3c53b36c43..da99307fdbf 100644 --- a/src/freedreno/.gitlab-ci/reference/crash_prefetch.log +++ b/src/freedreno/.gitlab-ci/reference/crash_prefetch.log @@ -330,7 +330,7 @@ registers: 00000003 GBIF_HALT_ACK: 0x3 00000000 0x3c47: 00000000 00000000 GBIF_PERF_PWR_CNT_EN: 0 - 00000000 0x3cc1: 00000000 + 00000000 GBIF_PERF_PWR_CNT_CLR: 0 00000000 GBIF_PERF_CNT_SEL: 0 00000000 GBIF_PERF_PWR_CNT_SEL: 0 00000000 GBIF_PERF_CNT_LOW0: 0 @@ -378,7 +378,7 @@ registers: 00000000 0x30: 00000000 00000000 0x31: 00000000 00000000 0x32: 00000000 - 03d0e242 RBBM_INT_0_MASK: 0x3d0e242 + 03d0e242 RBBM_INT_0_MASK: { CP_AHB_ERROR | RBBM_ATB_ASYNCFIFO_OVERFLOW | CP_HW_ERROR | CP_IB2 | CP_IB1 | CP_RB | CP_CACHE_FLUSH_TS | RBBM_ATB_BUS_OVERFLOW | RBBM_HANG_DETECT | UCHE_OOB_ACCESS | UCHE_TRAP_INTR } 00000000 0x39: 00000000 00000010 0x3a: 00000010 00000000 0x3b: 00000000 @@ -843,7 +843,7 @@ registers: 80000000 0x813: 80000000 00000001 0x820: 00000001 00000000 CP_HW_FAULT: 0 - 00000000 CP_INTERRUPT_STATUS: 0 + 00000000 CP_INTERRUPT_STATUS: { 0 } 00000000 CP_PROTECT_STATUS: 0 0908261e 0x826: 0908261e 00000001 0x827: 00000001 diff --git a/src/freedreno/.gitlab-ci/reference/prefetch-test.log b/src/freedreno/.gitlab-ci/reference/prefetch-test.log index d6977c0ea63..7ae2bffa58e 100644 --- a/src/freedreno/.gitlab-ci/reference/prefetch-test.log +++ b/src/freedreno/.gitlab-ci/reference/prefetch-test.log @@ -909,7 +909,7 @@ registers: 00000003 GBIF_HALT_ACK: 0x3 00000000 0x3c47: 00000000 00000000 GBIF_PERF_PWR_CNT_EN: 0 - 00000000 0x3cc1: 00000000 + 00000000 GBIF_PERF_PWR_CNT_CLR: 0 00000000 GBIF_PERF_CNT_SEL: 0 00000000 GBIF_PERF_PWR_CNT_SEL: 0 00000000 GBIF_PERF_CNT_LOW0: 0 @@ -957,7 +957,7 @@ registers: 00000000 0x30: 00000000 00000000 0x31: 00000000 00000000 0x32: 00000000 - 03d0e242 RBBM_INT_0_MASK: 0x3d0e242 + 03d0e242 RBBM_INT_0_MASK: { CP_AHB_ERROR | RBBM_ATB_ASYNCFIFO_OVERFLOW | CP_HW_ERROR | CP_IB2 | CP_IB1 | CP_RB | CP_CACHE_FLUSH_TS | RBBM_ATB_BUS_OVERFLOW | RBBM_HANG_DETECT | UCHE_OOB_ACCESS | UCHE_TRAP_INTR } 00000000 0x39: 00000000 00000010 0x3a: 00000010 00000000 0x3b: 00000000 @@ -1422,7 +1422,7 @@ registers: 80000000 0x813: 80000000 0012d6ac 0x820: 0012d6ac 00000000 CP_HW_FAULT: 0 - 00000000 CP_INTERRUPT_STATUS: 0 + 00000000 CP_INTERRUPT_STATUS: { 0 } 00000000 CP_PROTECT_STATUS: 0 5050f1f1 0x826: 5050f1f1 00000001 0x827: 00000001 diff --git a/src/freedreno/registers/adreno.xml b/src/freedreno/registers/adreno.xml index 7df6db4a5d3..92b7f37a721 100644 --- a/src/freedreno/registers/adreno.xml +++ b/src/freedreno/registers/adreno.xml @@ -10,7 +10,6 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd"> - diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 571fcabf55e..702e7a03a27 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -958,10 +958,12 @@ to upconvert to 32b float internally? - - + + + + @@ -971,21 +973,30 @@ to upconvert to 32b float internally? - + + + + + + - + + @@ -993,6 +1004,16 @@ to upconvert to 32b float internally? + + + + + + + + + + @@ -1005,7 +1026,7 @@ to upconvert to 32b float internally? - + @@ -1060,7 +1081,9 @@ to upconvert to 32b float internally? + + @@ -1135,7 +1158,39 @@ to upconvert to 32b float internally? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1172,22 +1227,60 @@ to upconvert to 32b float internally? - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1200,6 +1293,8 @@ to upconvert to 32b float internally? + + + @@ -2602,7 +2705,8 @@ to upconvert to 32b float internally? - + + @@ -2789,7 +2893,8 @@ to upconvert to 32b float internally? - + + @@ -2882,7 +2987,8 @@ to upconvert to 32b float internally? - + + @@ -3786,6 +3895,8 @@ to upconvert to 32b float internally? + +