PDAEMON: card management microprocesor¶
Contents:
- falcon parameters
- IO register space
- PCOUNTER signals
- Second-level interrupts
- User busy indication
- Host <-> PDAEMON communication
- Hardware mutexes
- CRC computation
- The timer
- Channel switching
- PMC interrupt redirection
- PTHERM interface
- Idle counters
- General MMIO register access
- Engine power gating
- Input/output signals
Introduction¶
PDAEMON is a falcon-based engine introduced on GT215. Its main purpose is autonomous power and thermal management, but it can be used to oversee any part of GPU operation. The PDAEMON has many dedicated connections to various parts of the GPU.
The PDAEMON is made of:
- a falcon microprocessor core
- standard falcon memory interface unit
- a simple channel load interface, replacing the usual PFIFO interface
- various means of communication betwen falcon and host
- engine power gating controllers for the PFIFO-connected engines
- “idle” signals from various engines and associated idle counters
- misc simple input/output signals to various engines, with interrupt capability
- a oneshot/periodic timer, using daemon clock or PTIMER as clock source
- PMC interrupt redirection circuitry
- indirect MMIO access circuitry
- direct interface to all PTHERM registers
- CRC computation hardware
Todo
and unknown stuff.
There are 5 revisions of PDAEMON:
- v0: GT215:MCP89 - the original revision
- v1: MCP89:GF100 - added a third instance of power gating controller for PVCOMP engine
- v2: GF100:GF119 - removed PVCOMP support, added second set of input/output signals and ???
- v3: GF119:GK104 - changed I[] space layout, added ???
- v4: GK104- - a new version of engine power gating controller and ???
Todo
figure out additions
Todo
this file deals mostly with GT215 version now