Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1bcad9d authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/kms: remove lvds quirks



- no longer needed with the latest new pll algo fixes.
- also don't use lcd pll limits.  They don't seem
to work well for all systems.  If we have a case where
they are useful, we can set the flag for that case.

fixes fdo bug 27083

Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent b2f8ccd8
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -521,12 +521,6 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc,
				/* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */
				if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1)
					adjusted_clock = mode->clock * 2;
				/* LVDS PLL quirks */
				if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS) {
					struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
					pll->algo = dig->pll_algo;
					pll->flags |= RADEON_PLL_IS_LCD;
				}
			} else {
				if (encoder->encoder_type != DRM_MODE_ENCODER_DAC)
					pll->flags |= RADEON_PLL_NO_ODD_POST_DIV;
+0 −27
Original line number Diff line number Diff line
@@ -1128,30 +1128,6 @@ static struct radeon_atom_ss *radeon_atombios_get_ss_info(struct
	return ss;
}

static void radeon_atom_apply_lvds_quirks(struct drm_device *dev,
					  struct radeon_encoder_atom_dig *lvds)
{

	/* Toshiba A300-1BU laptop panel doesn't like new pll divider algo */
	if ((dev->pdev->device == 0x95c4) &&
	    (dev->pdev->subsystem_vendor == 0x1179) &&
	    (dev->pdev->subsystem_device == 0xff50)) {
		if ((lvds->native_mode.hdisplay == 1280) &&
		    (lvds->native_mode.vdisplay == 800))
			lvds->pll_algo = PLL_ALGO_LEGACY;
	}

	/* Dell Studio 15 laptop panel doesn't like new pll divider algo */
	if ((dev->pdev->device == 0x95c4) &&
	    (dev->pdev->subsystem_vendor == 0x1028) &&
	    (dev->pdev->subsystem_device == 0x029f)) {
		if ((lvds->native_mode.hdisplay == 1280) &&
		    (lvds->native_mode.vdisplay == 800))
			lvds->pll_algo = PLL_ALGO_LEGACY;
	}

}

union lvds_info {
	struct _ATOM_LVDS_INFO info;
	struct _ATOM_LVDS_INFO_V12 info_12;
@@ -1234,9 +1210,6 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
				lvds->pll_algo = PLL_ALGO_LEGACY;
		}

		/* LVDS quirks */
		radeon_atom_apply_lvds_quirks(dev, lvds);

		encoder->native_mode = lvds->native_mode;
	}
	return lvds;