diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 27 |
2 files changed, 0 insertions, 33 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index 7c30e2e74c85..94aa6b293e0f 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c | |||
@@ -521,12 +521,6 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc, | |||
521 | /* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */ | 521 | /* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */ |
522 | if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1) | 522 | if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1) |
523 | adjusted_clock = mode->clock * 2; | 523 | adjusted_clock = mode->clock * 2; |
524 | /* LVDS PLL quirks */ | ||
525 | if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) { | ||
526 | struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; | ||
527 | pll->algo = dig->pll_algo; | ||
528 | pll->flags |= RADEON_PLL_IS_LCD; | ||
529 | } | ||
530 | } else { | 524 | } else { |
531 | if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) | 525 | if (encoder->encoder_type != DRM_MODE_ENCODER_DAC) |
532 | pll->flags |= RADEON_PLL_NO_ODD_POST_DIV; | 526 | pll->flags |= RADEON_PLL_NO_ODD_POST_DIV; |
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index 92e688697165..3733cb787798 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c | |||
@@ -1128,30 +1128,6 @@ static struct radeon_atom_ss *radeon_atombios_get_ss_info(struct | |||
1128 | return ss; | 1128 | return ss; |
1129 | } | 1129 | } |
1130 | 1130 | ||
1131 | static void radeon_atom_apply_lvds_quirks(struct drm_device *dev, | ||
1132 | struct radeon_encoder_atom_dig *lvds) | ||
1133 | { | ||
1134 | |||
1135 | /* Toshiba A300-1BU laptop panel doesn't like new pll divider algo */ | ||
1136 | if ((dev->pdev->device == 0x95c4) && | ||
1137 | (dev->pdev->subsystem_vendor == 0x1179) && | ||
1138 | (dev->pdev->subsystem_device == 0xff50)) { | ||
1139 | if ((lvds->native_mode.hdisplay == 1280) && | ||
1140 | (lvds->native_mode.vdisplay == 800)) | ||
1141 | lvds->pll_algo = PLL_ALGO_LEGACY; | ||
1142 | } | ||
1143 | |||
1144 | /* Dell Studio 15 laptop panel doesn't like new pll divider algo */ | ||
1145 | if ((dev->pdev->device == 0x95c4) && | ||
1146 | (dev->pdev->subsystem_vendor == 0x1028) && | ||
1147 | (dev->pdev->subsystem_device == 0x029f)) { | ||
1148 | if ((lvds->native_mode.hdisplay == 1280) && | ||
1149 | (lvds->native_mode.vdisplay == 800)) | ||
1150 | lvds->pll_algo = PLL_ALGO_LEGACY; | ||
1151 | } | ||
1152 | |||
1153 | } | ||
1154 | |||
1155 | union lvds_info { | 1131 | union lvds_info { |
1156 | struct _ATOM_LVDS_INFO info; | 1132 | struct _ATOM_LVDS_INFO info; |
1157 | struct _ATOM_LVDS_INFO_V12 info_12; | 1133 | struct _ATOM_LVDS_INFO_V12 info_12; |
@@ -1234,9 +1210,6 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct | |||
1234 | lvds->pll_algo = PLL_ALGO_LEGACY; | 1210 | lvds->pll_algo = PLL_ALGO_LEGACY; |
1235 | } | 1211 | } |
1236 | 1212 | ||
1237 | /* LVDS quirks */ | ||
1238 | radeon_atom_apply_lvds_quirks(dev, lvds); | ||
1239 | |||
1240 | encoder->native_mode = lvds->native_mode; | 1213 | encoder->native_mode = lvds->native_mode; |
1241 | } | 1214 | } |
1242 | return lvds; | 1215 | return lvds; |