mirror of
https://github.com/AlexAltea/orbital.git
synced 2025-04-02 10:32:05 -04:00
207 lines
9.9 KiB
Markdown
207 lines
9.9 KiB
Markdown
Liverpool
|
|
=========
|
|
|
|
## GC
|
|
|
|
* 2 micro-engines.
|
|
* 4 pipes.
|
|
* 8 queues.
|
|
* 16 VM IDs.
|
|
|
|
### MMIO Registers
|
|
|
|
- Registers instanced by me,pipe,queue (specified by address):
|
|
+ 0xC900 - 0xC990
|
|
+ 0xC20C
|
|
+ ???
|
|
- Registers instanced by vmid (specified by address):
|
|
+ ???
|
|
|
|
### VM IDs
|
|
|
|
- 0: System.
|
|
- 1: User (Game).
|
|
- 2-14: User (VSH).
|
|
- 14: System (Screenshot?).
|
|
- 15: System (SBL/SAMU).
|
|
|
|
### IH IDs
|
|
|
|
- 0x00-0x2F: DCE Interrupt (`dce_interrupt`).
|
|
- 0x08: DCE Page Flip 0
|
|
- 0x0A: DCE Page Flip 1
|
|
- 0x0C: DCE Page Flip 2 (unused)
|
|
- 0x0E: DCE Page Flip 3 (unused)
|
|
- 0x10: DCE Page Flip 4 (unused)
|
|
- 0x12: DCE Page Flip 5 (unused)
|
|
- 0x13: DCE CRTC Line
|
|
- data=8: Line 1.
|
|
- data=9: Line 2.
|
|
- 0x34-0x35: DCE Interrupt Scanin (`dce_interrupt_scanin`).
|
|
- 0x34: DCE Scanin:
|
|
- data=8: MFIC.
|
|
- 0x35: DCE Scanin:
|
|
- data=0: Host conflict.
|
|
- data=1: Data overflow.
|
|
- 0x60: SRBM Timeout (`sub_FFFFFFFF826DFFA0` @ 5.00).
|
|
- 0x8C: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0x8D: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0x92: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0x93: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0x98: SAM (`sub_FFFFFFFF8281CD20` @ 5.00).
|
|
- 0xA2: ACP (`sub_FFFFFFFF82786190` @ 5.00).
|
|
- 0xB4: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0xB5: ??? (`sub_FFFFFFFF826E6380` @ 5.00).
|
|
- 0xB7: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0xB8: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0xB9: CP Interrupt (`sub_FFFFFFFF826ED420` @ 5.00).
|
|
- 0xE0: ??? (`sub_FFFFFFFF827D4EF0` @ 5.00).
|
|
- 0xE9: ??? (`sub_FFFFFFFF826E1EF0` @ 5.00).
|
|
- 0xE9: ??? (`sub_FFFFFFFF826E1EF0` @ 5.00).
|
|
- 0xEF: ??? (`sub_FFFFFFFF826E6380` @ 5.00).
|
|
- 0xF0: ??? (`sub_FFFFFFFF827D4EF0` @ 5.00).
|
|
- 0xF3: ??? (`sub_FFFFFFFF827D4EF0` @ 5.00).
|
|
- 0xF5: ??? (`sub_FFFFFFFF827D4EF0` @ 5.00).
|
|
|
|
### Glossary
|
|
|
|
| Name | Description |
|
|
|--------|---------------------------------------------------------------------|
|
|
| _BIF_ | Bus Interface |
|
|
| _CB_ | Color Buffer |
|
|
| _CP_ | Command Processor |
|
|
| _CPC_ | Command Processor for Compute |
|
|
| _CPF_ | Command Processor Fetcher |
|
|
| _CPG_ | Command Processor for Graphics |
|
|
| _CRTC_ | CRT Controller |
|
|
| _DB_ | Depth Buffer |
|
|
| _DCE_ | Display Core Engine |
|
|
| _DCP_ | Display Core Pipe (?) |
|
|
| _EOP_ | End Of Pipe |
|
|
| _GCA_ | Graphics/Compute Array (same as GFX?) |
|
|
| _GDS_ | Global Data Share |
|
|
| _GFX_ | Graphics/Compute Engine (same as GCA?) |
|
|
| _GMC_ | Graphics Memory Controller |
|
|
| _GRBM_ | Graphics Register Backbone Manager |
|
|
| _HDP_ | ??? |
|
|
| _IA_ | Input Assembly |
|
|
| _IH_ | Interrupt Handler |
|
|
| _LDS_ | Local Data Share |
|
|
| _MC_ | Memory Controller |
|
|
| _MDMA_ | ??? |
|
|
| _MEC_ | ??? |
|
|
| _PA_ | Primitive Assembly |
|
|
| _RB_ | Ring Buffer |
|
|
| _RLC_ | Run List Controller |
|
|
| _SAMU_ | Secure Asset Management Unit |
|
|
| _SC_ | Scan Converter |
|
|
| _SDMA_ | System Direct Memory Access |
|
|
| _SMC_ | System Management Controller |
|
|
| _SPI_ | Shader Processor Input |
|
|
| _SRBM_ | System Register Backbone Manager |
|
|
| _SX_ | Shader Export |
|
|
| _TA_ | Texture Addressing |
|
|
| _UVD_ | Universal Video Decoder |
|
|
| _VCE_ | Video Compression Engine |
|
|
| _VGT_ | Vertex Geometry Tesselator |
|
|
| _WD_ | Work Distributor |
|
|
| _XDMA_ | ??? |
|
|
|
|
### PCI Configuration Space
|
|
|
|
```
|
|
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Liverpool [Playstation 4 APU] (prog-if 00 [VGA controller])
|
|
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Liverpool [Playstation 4 APU]
|
|
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
|
|
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
|
|
Latency: 0, Cache Line Size: 64 bytes
|
|
Interrupt: pin A routed to IRQ 30
|
|
Region 0: Memory at e0000000 (64-bit, prefetchable) [size=64M]
|
|
Region 2: Memory at e4000000 (64-bit, prefetchable) [size=8M]
|
|
Region 4: I/O ports at 6000 [size=256]
|
|
Region 5: Memory at e4800000 (32-bit, non-prefetchable) [size=256K]
|
|
[virtual] Expansion ROM at f8000000 [disabled] [size=128K]
|
|
Capabilities: [50] Power Management version 3
|
|
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
|
|
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
|
|
Capabilities: [58] Express (v2) Root Complex Integrated Endpoint, MSI 00
|
|
DevCap: MaxPayload 256 bytes, PhantFunc 0
|
|
ExtTag+ RBE+
|
|
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
|
|
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
|
|
MaxPayload 128 bytes, MaxReadReq 512 bytes
|
|
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
|
|
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
|
|
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
|
|
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
|
|
Address: 00000000feeff00c Data: 4173
|
|
Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
|
|
Capabilities: [270 v1] #19
|
|
Kernel driver in use: radeon
|
|
00: 02 10 20 99 07 04 10 00 00 00 00 03 10 00 80 00
|
|
10: 0c 00 00 e0 00 00 00 00 0c 00 00 e4 00 00 00 00
|
|
20: 01 60 00 00 00 00 80 e4 00 00 00 00 02 10 20 99
|
|
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 01 00 00
|
|
40: 00 00 00 00 00 00 00 00 00 00 00 00 02 10 20 99
|
|
50: 01 58 03 76 00 00 00 00 10 a0 92 00 a1 81 00 00
|
|
60: 10 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
a0: 05 00 81 00 0c f0 ef fe 00 00 00 00 73 41 00 00
|
|
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
```
|
|
|
|
## HDAC
|
|
|
|
### PCI Configuration Space
|
|
|
|
```
|
|
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Liverpool HDMI/DP Audio Controller
|
|
Subsystem: Ncipher Corp Ltd Liverpool HDMI/DP Audio Controller
|
|
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
|
|
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
|
|
Latency: 0, Cache Line Size: 64 bytes
|
|
Interrupt: pin B routed to IRQ 29
|
|
Region 0: Memory at e4840000 (64-bit, non-prefetchable) [size=16K]
|
|
Capabilities: [50] Power Management version 3
|
|
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
|
|
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
|
|
Capabilities: [58] Express (v2) Root Complex Integrated Endpoint, MSI 00
|
|
DevCap: MaxPayload 256 bytes, PhantFunc 0
|
|
ExtTag+ RBE+
|
|
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
|
|
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
|
|
MaxPayload 128 bytes, MaxReadReq 512 bytes
|
|
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
|
|
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
|
|
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
|
|
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
|
|
Address: 00000000feeff00c Data: 4163
|
|
Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
|
|
Kernel driver in use: snd_hda_intel
|
|
00: 02 10 21 99 07 04 10 00 00 00 03 04 10 00 80 00
|
|
10: 04 00 84 e4 00 00 00 00 00 00 00 00 00 00 00 00
|
|
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 01 aa 00
|
|
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 02 00 00
|
|
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 01 aa 00
|
|
50: 01 58 03 06 00 00 00 00 10 a0 92 00 a1 81 00 00
|
|
60: 10 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
a0: 05 00 81 00 0c f0 ef fe 00 00 00 00 63 41 00 00
|
|
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
```
|
|
|
|
## References
|
|
|
|
1. https://www.x.org/wiki/RadeonFeature/
|