Commit graph

1540 commits

Author SHA1 Message Date
Asahi Lina
1275e15b58 m1n1.agx: Add FWCtl ring
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0aee8b7e2e m1n1.fw.agx: Add FWCtl doorbell function
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
b5c3d9fdd6 m1n1.agx.channels: Add FWCtl ring support
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8631deb731 m1n1.agx: Add the poke_sgx() mystery thing
Still don't know what this does...

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
fa6edb8fe8 m1n1.agx: Drop uat.early_init()
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8a3aad19e9 m1n1.agx: Add show_stats to disable stats printing
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0b37f5599c m1n1.agx: Update DeviceControl message names
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ae8a4d9c4e m1n1.fw.agx.channels: Add support for FWCtl ring
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ab136b3234 m1n1.fw.agx.channels: Rename some DeviceControl messages
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
3609cb0f11 m1n1.hv: Trace GPU TLBI operations
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f705672a7b m1n1.hv: Actually step through unhandled atomics instead of punting
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0f87d2b4f2 m1n1.hv: Add support for log timestamps, Linux style
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f81bbcbd61 hv/trace_agx.py: Trace more/less things
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
94084c8ede m1n1.proxyutils: Lower gzip compression level
This is the right tradeoff for the faster dwc3 code.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
bfccbd32e7 m1n1.proxyutils: Support sys/sysl ops (e.g. tlbi)
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
60d69697d3 m1n1.proxyutils: Add instruction cache to speed up repeat inst() calls
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0b787f7d0d m1n1.fw.agx.initdata: More field updates...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
a76dd299a8 m1n1.hw.uat: Flush TLB on changes
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8f2530cf64 m1n1.hw.uat: Clear out new page tables
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2b6996db63 m1n1.hw.uat: Move handoff code to m1n1.fw.agx.handoff
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ec3fcfc562 m1n1.asm: Upgrade to armv8.4-a
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0cd85eb14b m1n1.utils: Hack to recognize NdRange even if a partial reload happened
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
6f6073a531 exception: Fix a lot of brokenness when exceptions are taken in GLx
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
e1b12a6983 usb_dwc3: Make it 3 times faster
We can use buffers that are more than one packet in size!

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
15d04b3778 proxy: Expose hv_write_hcr()
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:02:55 +09:00
Asahi Lina
b6d2cc127c hv_exc: Add support for resetting stolen time delta
This is useful to re-sync AGX, since it shares the same timebase as the
CPU.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:01:49 +09:00
Asahi Lina
8cd2865c1f m1n1.sysreg & co: Add support for op-like sysregs (e.g. TLBI)
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:01:07 +09:00
Asahi Lina
52492350ee m1n1.fw.agx.cmdqueue: Add support for setting queue priority
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:58:37 +09:00
Asahi Lina
a0aa41c743 m1n1.fw.agx.cmdqueue: Rename uuid field
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:58:19 +09:00
Asahi Lina
2193b4faff m1n1.agx.render: Track fewer objects
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:58:04 +09:00
Asahi Lina
4810a868f3 m1n1.agx.render: Use separate TA/3D stamps
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:57:47 +09:00
Asahi Lina
1e0999450d m1n1.agx.{context,render}: Track fewer objects
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:56:55 +09:00
Asahi Lina
27e161b94e m1n1.fw.agx.channels: Proper statistics message definitions
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:56:19 +09:00
Asahi Lina
06673c40ba m1n1.agx: str() arguments to log()
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:55:56 +09:00
Asahi Lina
96e4979c84 m1n1.agx: Support fault handling and recovery
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:55:39 +09:00
Asahi Lina
cb61ec4146 m1n1.agx: Increase guard page count for default allocators
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:54:44 +09:00
Asahi Lina
cc03bd8877 m1n1.agx: Instantiate SGXRegs
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:52:24 +09:00
Asahi Lina
be386b23c4 m1n1.hw.agx: Add SGXRegs definition
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:51:32 +09:00
Asahi Lina
b3afa720fc m1n1.construcutils: Add .clone() method
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:49:47 +09:00
Asahi Lina
4bc08e9173 m1n1.constructutils: Abbreviate lists with trailing zero/null items
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:49:22 +09:00
Asahi Lina
5ab443ccd7 m1n1.fw.agx.initdata: Even more updates and new fields...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:48:42 +09:00
Asahi Lina
ec3cc1bad3 experiments/agx_1tri.py: Updates for new structs
This is probably broken anyway, but worth keeping around for
reference...

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:07 +09:00
Asahi Lina
554b44c022 m1n1.agx.shim: Add support for dumping frames
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
bbdd86a998 m1n1.agx.render: Lots and lots of updates for new structs, etc.
Also add GPUFrame to represent saved GPU frame dumps, and save/load
support.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
d476c03b19 m1n1.agx.object: Auto-push new buffers
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
8647e1102c m1n1.agx.context: BufferManager fixes, add explicit counter management
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
c94c020197 m1n1.agx.context: Keep track of microsequence length
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
37a7243b7e m1n1.agx.object: Remember map flags used
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
fac3a5a9b9 m1n1.agx.object: Support polling and diffing
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
438ec70baa m1n1.fw.agx.{cmdqueue,microsequence}: Lots of struct updates
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00