Changes between Initial Version and Version 1 of HardwareInfo/video/RadeonHD_tech


Ignore:
Timestamp:
Aug 1, 2011, 6:54:04 PM (13 years ago)
Author:
kallisti5
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HardwareInfo/video/RadeonHD_tech

    v1 v1  
     1Technical notes on Radeon HD, straight from AMD engineers.  I am mostly documenting this to avoid the bus factor...
     2
     3'''Radeon HD mode setting:'''
     4{{{
     5There are two basic parts we generally work with when programming the display hardware, the crtc and the encoder.
     6The crtc is basically a display controller and covers the display fb offset, the timing, and the pll setup.
     7The encoder is the part that takes the bit stream from the crtc and formats it for the proper electrical signal for
     8the connected monitor (TMDS, LVDS, DAC, DP, etc.).  It's probably easiest to look at the ATOM tables using AtomDis
     9(more on this below) and follow the same pattern in your driver.  Follow atombios_crtc_mode_set() and radeon_atom_encoder_mode_set()
     10in the drm.  Basically the modeset sequence looks like:
     11
     12Disable encoder (dpms off)
     13Disable crtc (dpms off)
     14Set up the crtc to encoder routing
     15Program the pll
     16Program spread spectrum if applicable
     17Program mode timing
     18Program the crtc base address
     19Program the overscan registers
     20Program the scaler
     21Program the encoder
     22Enable the crtc (dpms on)
     23Enable the encoder (dpms on)
     24
     25Note that the pll provides the pixclock for the crtc and the link clocks for the encoders, so it needs to be programmed for all displays.
     26For displayport on evergreen and newer asics, multiple displays can be driven by the same pll due to the way DP clocking works.
     27}}}
     28
     29