drm/radeon/kms/atom: add support for spread spectrum (v2)

Spread spectrum is a periodic disturbance added
to the feedback divider to change the pixel clock
periodically to reduce interference.

Only enabled on LVDS.

v2: add support for r4xx and fix DCE 3

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Alex Deucher
2009-10-16 11:15:25 -04:00
committed by Dave Airlie
parent c290dadf4c
commit ebbe1cb936
4 changed files with 111 additions and 12 deletions

View File

@@ -260,6 +260,16 @@ struct radeon_encoder_int_tmds {
struct radeon_tmds_pll tmds_pll[4];
};
/* spread spectrum */
struct radeon_atom_ss {
uint16_t percentage;
uint8_t type;
uint8_t step;
uint8_t delay;
uint8_t range;
uint8_t refdiv;
};
struct radeon_encoder_atom_dig {
/* atom dig */
bool coherent_mode;
@@ -267,6 +277,7 @@ struct radeon_encoder_atom_dig {
/* atom lvds */
uint32_t lvds_misc;
uint16_t panel_pwr_delay;
struct radeon_atom_ss *ss;
/* panel mode */
struct drm_display_mode native_mode;
};