mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
freedreno: Add missing CP_INDIRECT_BUFFER
This was added on the kernel side in commit 9d78f0250322
("drm/msm/a6xx+: Don't let IB_SIZE overflow"), but didn't
end up in mesa.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35899>
This commit is contained in:
parent
8bc8e37c36
commit
0be21c91f4
7 changed files with 571 additions and 0 deletions
|
|
@ -395,6 +395,8 @@ cmdstream[0]: 207 dwords
|
|||
HLSQ_UPDATE_CNTL: 0x1f00000
|
||||
0000000500190270: 0000: 40e78a01 01f00000
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x50001b000 }
|
||||
{ IB_SIZE = 0x4b }
|
||||
ibaddr:000000050001b000
|
||||
ibsize:0000004b
|
||||
opcode: CP_PERFCOUNTER_ACTION (50) (4 dwords)
|
||||
|
|
@ -556,6 +558,8 @@ cmdstream[0]: 207 dwords
|
|||
opcode: CP_SET_VISIBILITY_OVERRIDE (64) (2 dwords)
|
||||
0000000500190290: 0000: 70640001 00000001
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x500170000 }
|
||||
{ IB_SIZE = 0x4f }
|
||||
ibaddr:0000000500170000
|
||||
ibsize:0000004f
|
||||
write HLSQ_CONTROL_0_REG (e784)
|
||||
|
|
|
|||
|
|
@ -1684,6 +1684,8 @@ got cmdszdw=31
|
|||
event PC_CCU_INVALIDATE_COLOR
|
||||
0000000000000000: 0000: 70460001 00000019
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100000000 }
|
||||
{ IB_SIZE = 0xc }
|
||||
opcode: CP_SET_MARKER (65) (2 dwords)
|
||||
{ MARKER_MODE = SET_RENDER_MODE | MODE = RM6_DIRECT_RENDER }
|
||||
0000000100000000: 0000: 70e50001 00000001
|
||||
|
|
|
|||
|
|
@ -1885,6 +1885,8 @@ got cmdszdw=38
|
|||
event PC_CCU_INVALIDATE_COLOR
|
||||
0000000000000000: 0000: 70460001 00000019
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1000e3000 }
|
||||
{ IB_SIZE = 0x174 }
|
||||
opcode: CP_EVENT_WRITE (46) (2 dwords)
|
||||
{ EVENT = CACHE_INVALIDATE }
|
||||
event CACHE_INVALIDATE
|
||||
|
|
@ -2176,6 +2178,8 @@ got cmdszdw=38
|
|||
00000001000e35cc: 0000: 70268000
|
||||
0000000000000000: 0000: 70bf8003 000e3000 00000001 00000174
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100223000 }
|
||||
{ IB_SIZE = 0xdd }
|
||||
opcode: CP_EVENT_WRITE (46) (2 dwords)
|
||||
{ EVENT = CACHE_INVALIDATE }
|
||||
event CACHE_INVALIDATE
|
||||
|
|
@ -2221,6 +2225,8 @@ got cmdszdw=38
|
|||
opcode: CP_SET_MODE (63) (2 dwords)
|
||||
00000001002232a4: 0000: 70e30001 00000000
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100227000 }
|
||||
{ IB_SIZE = 0x8e }
|
||||
opcode: CP_COND_REG_EXEC (47) (3 dwords)
|
||||
{ MODE = RENDER_MODE | GMEM }
|
||||
{ DWORDS = 54 }
|
||||
|
|
@ -2359,6 +2365,8 @@ got cmdszdw=38
|
|||
000000010022721c: 0000: 70438006 09220000 00000000 00000000 0a420000 00000000 00000000
|
||||
00000001002232ac: 0000: 70bf8003 00227000 00000001 0000008e
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100208000 }
|
||||
{ IB_SIZE = 0x61 }
|
||||
opcode: CP_SET_DRAW_STATE (43) (67 dwords)
|
||||
{ COUNT = 26 | BINNING | GMEM | SYSMEM | GROUP_ID = 0 }
|
||||
{ ADDR_LO = 0x1e7280 }
|
||||
|
|
@ -2954,6 +2962,8 @@ got cmdszdw=38
|
|||
0000000100208174: 0000: 70388003 00000d84 00000001 00000006
|
||||
00000001002232bc: 0000: 70bf8003 00208000 00000001 00000061
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100227238 }
|
||||
{ IB_SIZE = 0xb5 }
|
||||
opcode: CP_COND_REG_EXEC (47) (3 dwords)
|
||||
{ MODE = RENDER_MODE | GMEM }
|
||||
{ DWORDS = 23 }
|
||||
|
|
@ -3073,6 +3083,8 @@ got cmdszdw=38
|
|||
0000000100227508: 0000: 70268000
|
||||
00000001002232cc: 0000: 70bf8003 00227238 00000001 000000b5
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x10020f000 }
|
||||
{ IB_SIZE = 0x61 }
|
||||
opcode: CP_SET_DRAW_STATE (43) (67 dwords)
|
||||
{ COUNT = 26 | BINNING | GMEM | SYSMEM | GROUP_ID = 0 }
|
||||
{ ADDR_LO = 0x1e8780 }
|
||||
|
|
@ -3668,6 +3680,8 @@ got cmdszdw=38
|
|||
000000010020f174: 0000: 70388003 00000d84 00000001 00000006
|
||||
00000001002232dc: 0000: 70bf8003 0020f000 00000001 00000061
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x10022750c }
|
||||
{ IB_SIZE = 0xbc }
|
||||
opcode: CP_COND_REG_EXEC (47) (3 dwords)
|
||||
{ MODE = RENDER_MODE | GMEM }
|
||||
{ DWORDS = 23 }
|
||||
|
|
@ -3798,6 +3812,8 @@ got cmdszdw=38
|
|||
00000001002277f8: 0000: 70268000
|
||||
00000001002232ec: 0000: 70bf8003 0022750c 00000001 000000bc
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100216000 }
|
||||
{ IB_SIZE = 0x61 }
|
||||
opcode: CP_SET_DRAW_STATE (43) (67 dwords)
|
||||
{ COUNT = 26 | BINNING | GMEM | SYSMEM | GROUP_ID = 0 }
|
||||
{ ADDR_LO = 0x1e9c80 }
|
||||
|
|
@ -4394,6 +4410,8 @@ ESTIMATED CRASH LOCATION!
|
|||
0000000100216174: 0000: 70388003 00000d84 00000001 00000006
|
||||
00000001002232fc: 0000: 70bf8003 00216000 00000001 00000061
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1002277fc }
|
||||
{ IB_SIZE = 0x6c }
|
||||
opcode: CP_COND_REG_EXEC (47) (3 dwords)
|
||||
{ MODE = RENDER_MODE | GMEM }
|
||||
{ DWORDS = 3 }
|
||||
|
|
@ -4445,6 +4463,8 @@ ESTIMATED CRASH LOCATION!
|
|||
00000001002279a8: 0000: 70268000
|
||||
000000010022330c: 0000: 70bf8003 002277fc 00000001 0000006c
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x10021d000 }
|
||||
{ IB_SIZE = 0x61 }
|
||||
opcode: CP_SET_DRAW_STATE (43) (67 dwords)
|
||||
{ COUNT = 26 | BINNING | GMEM | SYSMEM | GROUP_ID = 0 }
|
||||
{ ADDR_LO = 0x1eb180 }
|
||||
|
|
@ -5070,6 +5090,8 @@ ESTIMATED CRASH LOCATION!
|
|||
0000000100223360: 0000: 70460004 0000001c 00001000 00000001 00000000
|
||||
0000000000000000: 0000: 70bf8003 00223000 00000001 000000dd
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x10022d000 }
|
||||
{ IB_SIZE = 0xffe }
|
||||
opcode: CP_EVENT_WRITE (46) (2 dwords)
|
||||
{ EVENT = CACHE_INVALIDATE }
|
||||
event CACHE_INVALIDATE
|
||||
|
|
@ -9082,6 +9104,8 @@ ESTIMATED CRASH LOCATION!
|
|||
0000000100230fd0: 0000: 702c0001 00000003
|
||||
0000000000000000: 0000: 70bf8003 0022d000 00000001 00000ffe
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x100231000 }
|
||||
{ IB_SIZE = 0xfb0 }
|
||||
opcode: CP_BLIT (2c) (2 dwords)
|
||||
{ OP = BLIT_OP_SCALE }
|
||||
mode: RM6_DIRECT_RENDER
|
||||
|
|
|
|||
|
|
@ -432,6 +432,8 @@ cmdstream[0]: 265 dwords
|
|||
opcode: CP_SET_MODE (63) (2 dwords)
|
||||
00000000010583b0: 0000: 70e30001 00000000
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x115e000 }
|
||||
{ IB_SIZE = 0xf1 }
|
||||
ibaddr:000000000115e000
|
||||
ibsize:000000f1
|
||||
opcode: CP_COND_REG_EXEC (47) (3 dwords)
|
||||
|
|
@ -1507,6 +1509,8 @@ cmdstream[0]: 265 dwords
|
|||
000000000115e3b4: 0020: 00000000 0116300c 00000000 00000028
|
||||
00000000010583b8: 0000: 70bf8003 0115e000 00000000 000000f1
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x115c000 }
|
||||
{ IB_SIZE = 0x1c }
|
||||
ibaddr:000000000115c000
|
||||
ibsize:0000001c
|
||||
opcode: CP_SET_DRAW_STATE (43) (4 dwords)
|
||||
|
|
|
|||
|
|
@ -435,6 +435,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,0,11,10
|
||||
0000000001d914c4: 0000: 48088901 0000000b
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1d8f000 }
|
||||
{ IB_SIZE = 0x53 }
|
||||
ibaddr:0000000001d8f000
|
||||
ibsize:00000053
|
||||
write VFD_INDEX_OFFSET (a00e)
|
||||
|
|
@ -1615,6 +1617,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,15,14
|
||||
0000000001d91a7c: 0000: 48088901 0000000f
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x11160d0 }
|
||||
{ IB_SIZE = 0x18 }
|
||||
ibaddr:00000000011160d0
|
||||
ibsize:00000018
|
||||
write RB_RESOLVE_CNTL_1 (88d1)
|
||||
|
|
@ -1714,6 +1718,8 @@ cmdstream[0]: 1023 dwords
|
|||
{ DWORDS = 4 }
|
||||
0000000001d91ab4: 0000: 70c70002 10000000 00000004
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1d8f000 }
|
||||
{ IB_SIZE = 0x53 }
|
||||
ibaddr:0000000001d8f000
|
||||
ibsize:00000053
|
||||
write VFD_INDEX_OFFSET (a00e)
|
||||
|
|
@ -6787,6 +6793,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,21,20
|
||||
0000000001d91b34: 0000: 48088901 00000015
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1116130 }
|
||||
{ IB_SIZE = 0x15 }
|
||||
ibaddr:0000000001116130
|
||||
ibsize:00000015
|
||||
write RB_RESOLVE_CNTL_1 (88d1)
|
||||
|
|
@ -6932,6 +6940,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,25,24
|
||||
0000000001d91c48: 0000: 48088901 00000019
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x11160d0 }
|
||||
{ IB_SIZE = 0x18 }
|
||||
ibaddr:00000000011160d0
|
||||
ibsize:00000018
|
||||
0000000001d91c50: 0000: 70bf8003 011160d0 00000000 00000018
|
||||
|
|
@ -6955,6 +6965,8 @@ cmdstream[0]: 1023 dwords
|
|||
{ DWORDS = 4 }
|
||||
0000000001d91c80: 0000: 70c70002 10000000 00000004
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1d8f000 }
|
||||
{ IB_SIZE = 0x53 }
|
||||
ibaddr:0000000001d8f000
|
||||
ibsize:00000053
|
||||
0000000001d91c8c: 0000: 70bf8003 01d8f000 00000000 00000053
|
||||
|
|
@ -7003,6 +7015,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,31,30
|
||||
0000000001d91d00: 0000: 48088901 0000001f
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1116130 }
|
||||
{ IB_SIZE = 0x15 }
|
||||
ibaddr:0000000001116130
|
||||
ibsize:00000015
|
||||
0000000001d91d08: 0000: 70bf8003 01116130 00000000 00000015
|
||||
|
|
@ -7101,6 +7115,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,35,34
|
||||
0000000001d91e14: 0000: 48088901 00000023
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x11160d0 }
|
||||
{ IB_SIZE = 0x18 }
|
||||
ibaddr:00000000011160d0
|
||||
ibsize:00000018
|
||||
0000000001d91e1c: 0000: 70bf8003 011160d0 00000000 00000018
|
||||
|
|
@ -7124,6 +7140,8 @@ cmdstream[0]: 1023 dwords
|
|||
{ DWORDS = 4 }
|
||||
0000000001d91e4c: 0000: 70c70002 10000000 00000004
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1d8f000 }
|
||||
{ IB_SIZE = 0x53 }
|
||||
ibaddr:0000000001d8f000
|
||||
ibsize:00000053
|
||||
0000000001d91e58: 0000: 70bf8003 01d8f000 00000000 00000053
|
||||
|
|
@ -7172,6 +7190,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,41,40
|
||||
0000000001d91ecc: 0000: 48088901 00000029
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x1116130 }
|
||||
{ IB_SIZE = 0x15 }
|
||||
ibaddr:0000000001116130
|
||||
ibsize:00000015
|
||||
0000000001d91ed4: 0000: 70bf8003 01116130 00000000 00000015
|
||||
|
|
@ -7270,6 +7290,8 @@ cmdstream[0]: 1023 dwords
|
|||
:0,1,45,44
|
||||
0000000001d91fe0: 0000: 48088901 0000002d
|
||||
opcode: CP_INDIRECT_BUFFER (3f) (4 dwords)
|
||||
{ IB_BASE = 0x11160d0 }
|
||||
{ IB_SIZE = 0x18 }
|
||||
ibaddr:00000000011160d0
|
||||
ibsize:00000018
|
||||
0000000001d91fe8: 0000: 70bf8003 011160d0 00000000 00000018
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -2384,5 +2384,12 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords)
|
|||
</reg32>
|
||||
</domain>
|
||||
|
||||
<domain name="CP_INDIRECT_BUFFER" width="32" varset="chip" prefix="chip" variants="A5XX-">
|
||||
<reg64 offset="0" name="IB_BASE" type="address"/>
|
||||
<reg32 offset="2" name="2">
|
||||
<bitfield name="IB_SIZE" low="0" high="19"/>
|
||||
</reg32>
|
||||
</domain>
|
||||
|
||||
</database>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue