freedreno/a6xx: Fix CP_BIN_SIZE_ADDRESS name
Also document some other registers gleaned from looking at the context switch save/restore routines and fix CP_SDS_REM_SIZE, and make the names line up with the CP perfcntr names. Note that the CP reads the draw stream size in CP_SET_BIN_DATA5 using MEM_READ_ADDR, which is probably why this was mistaken for the draw stream size address. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6123>
This commit is contained in:
@@ -743,12 +743,12 @@ registers:
|
|||||||
00000000 CP_IB2_REM_SIZE: 0
|
00000000 CP_IB2_REM_SIZE: 0
|
||||||
00000000 CP_SDS_BASE: 0
|
00000000 CP_SDS_BASE: 0
|
||||||
00000000 CP_SDS_BASE_HI: 0
|
00000000 CP_SDS_BASE_HI: 0
|
||||||
00000000 0x930: 00000000
|
00000000 CP_SDS_REM_SIZE: 0
|
||||||
0000c600 CP_BIN_SIZE_ADDRESS: 0xc600
|
0000c600 CP_MRB_BASE: 0xc600
|
||||||
00010000 CP_BIN_SIZE_ADDRESS_HI: 0x10000
|
00010000 CP_MRB_BASE_HI: 0x10000
|
||||||
00000000 0x933: 00000000
|
00000000 CP_MRB_REM_SIZE: 0
|
||||||
00000000 CP_BIN_DATA_ADDR: 0
|
00000000 CP_VSD_BASE: 0
|
||||||
00000000 CP_BIN_DATA_ADDR_HI: 0
|
00000000 CP_VSD_BASE_HI: 0
|
||||||
00000000 0x936: 00000000
|
00000000 0x936: 00000000
|
||||||
00800000 0x937: 00800000
|
00800000 0x937: 00800000
|
||||||
00000000 0x938: 00000000
|
00000000 0x938: 00000000
|
||||||
@@ -762,13 +762,13 @@ registers:
|
|||||||
0000000c 0x943: 0000000c
|
0000000c 0x943: 0000000c
|
||||||
00000000 0x944: 00000000
|
00000000 0x944: 00000000
|
||||||
00000000 0x945: 00000000
|
00000000 0x945: 00000000
|
||||||
00000000 0x946: 00000000
|
00000000 CP_MRB_DWORDS: 0
|
||||||
00000000 0x947: 00000000
|
00000000 CP_VSD_DWORDS: 0
|
||||||
000f0004 0x948: 000f0004
|
000f0004 0x948: 000f0004
|
||||||
00060002 CP_CSQ_IB1_STAT: { REM = 0x6 | 0x2 }
|
00060002 CP_CSQ_IB1_STAT: { REM = 0x6 | 0x2 }
|
||||||
00000000 CP_CSQ_IB2_STAT: { REM = 0 }
|
00000000 CP_CSQ_IB2_STAT: { REM = 0 }
|
||||||
00000000 0x94b: 00000000
|
00000000 0x94b: 00000000
|
||||||
00000000 0x94c: 00000000
|
00000000 CP_MRQ_MRB_STAT: { REM = 0 }
|
||||||
00000000 0x94d: 00000000
|
00000000 0x94d: 00000000
|
||||||
00305efe CP_ALWAYS_ON_COUNTER_LO: 0x305efe
|
00305efe CP_ALWAYS_ON_COUNTER_LO: 0x305efe
|
||||||
00000000 CP_ALWAYS_ON_COUNTER_HI: 0
|
00000000 CP_ALWAYS_ON_COUNTER_HI: 0
|
||||||
|
@@ -1073,11 +1073,19 @@ to upconvert to 32b float internally?
|
|||||||
<!-- SDS == CP_SET_DRAW_STATE: -->
|
<!-- SDS == CP_SET_DRAW_STATE: -->
|
||||||
<reg32 offset="0x092e" name="CP_SDS_BASE"/>
|
<reg32 offset="0x092e" name="CP_SDS_BASE"/>
|
||||||
<reg32 offset="0x092f" name="CP_SDS_BASE_HI"/>
|
<reg32 offset="0x092f" name="CP_SDS_BASE_HI"/>
|
||||||
<reg32 offset="0x092e" name="CP_SDS_REM_SIZE"/>
|
<reg32 offset="0x0930" name="CP_SDS_REM_SIZE"/>
|
||||||
<reg32 offset="0x0931" name="CP_BIN_SIZE_ADDRESS"/>
|
<!-- MRB == MEM_READ_ADDR/$addr in SQE firmware -->
|
||||||
<reg32 offset="0x0932" name="CP_BIN_SIZE_ADDRESS_HI"/>
|
<reg32 offset="0x0931" name="CP_MRB_BASE"/>
|
||||||
<reg32 offset="0x0934" name="CP_BIN_DATA_ADDR"/>
|
<reg32 offset="0x0932" name="CP_MRB_BASE_HI"/>
|
||||||
<reg32 offset="0x0935" name="CP_BIN_DATA_ADDR_HI"/>
|
<reg32 offset="0x0933" name="CP_MRB_REM_SIZE"/>
|
||||||
|
<!--
|
||||||
|
VSD == Visibility Stream Decode
|
||||||
|
This is used by CP to read the draw stream and skip empty draws
|
||||||
|
-->
|
||||||
|
<reg32 offset="0x0934" name="CP_VSD_BASE"/>
|
||||||
|
<reg32 offset="0x0935" name="CP_VSD_BASE_HI"/>
|
||||||
|
<reg32 offset="0x0946" name="CP_MRB_DWORDS"/>
|
||||||
|
<reg32 offset="0x0947" name="CP_VSD_DWORDS"/>
|
||||||
<!--
|
<!--
|
||||||
There are probably similar registers for RB and SDS, teasing out SDS will
|
There are probably similar registers for RB and SDS, teasing out SDS will
|
||||||
take a slightly better test case..
|
take a slightly better test case..
|
||||||
@@ -1090,6 +1098,10 @@ to upconvert to 32b float internally?
|
|||||||
<doc>number of remaining dwords incl current dword being consumed?</doc>
|
<doc>number of remaining dwords incl current dword being consumed?</doc>
|
||||||
<bitfield name="REM" low="16" high="31"/>
|
<bitfield name="REM" low="16" high="31"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
|
<reg32 offset="0x094c" name="CP_MRQ_MRB_STAT">
|
||||||
|
<doc>number of dwords that have already been read but haven't been consumed by $addr</doc>
|
||||||
|
<bitfield name="REM" low="16" high="31"/>
|
||||||
|
</reg32>
|
||||||
<reg32 offset="0x0980" name="CP_ALWAYS_ON_COUNTER_LO"/>
|
<reg32 offset="0x0980" name="CP_ALWAYS_ON_COUNTER_LO"/>
|
||||||
<reg32 offset="0x0981" name="CP_ALWAYS_ON_COUNTER_HI"/>
|
<reg32 offset="0x0981" name="CP_ALWAYS_ON_COUNTER_HI"/>
|
||||||
<reg32 offset="0x098D" name="CP_AHB_CNTL"/>
|
<reg32 offset="0x098D" name="CP_AHB_CNTL"/>
|
||||||
|
Reference in New Issue
Block a user