From b6880e5886ab1214b47f06dec395a039a186a76e Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 3 May 2010 14:44:14 -0400 Subject: [PATCH] drm/radeon/kms/rn50: always report connectors as connected Too often servers are wired up strangely or behind kvms that block ddc or load detection. Most use cases want all available ports lit up all the time. Signed-off-by: Alex Deucher --- drivers/gpu/drm/radeon/radeon_connectors.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 40a24c9..1568f14 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -584,6 +584,8 @@ static int radeon_vga_mode_valid(struct drm_connector *connector, static enum drm_connector_status radeon_vga_detect(struct drm_connector *connector) { + struct drm_device *dev = connector->dev; + struct radeon_device *rdev = dev->dev_private; struct radeon_connector *radeon_connector = to_radeon_connector(connector); struct drm_encoder *encoder; struct drm_encoder_helper_funcs *encoder_funcs; @@ -627,6 +629,9 @@ static enum drm_connector_status radeon_vga_detect(struct drm_connector *connect } } + /* always show rn50 as connected */ + if (ASIC_IS_RN50(rdev)) + ret = connector_status_connected; if (ret == connector_status_connected) ret = radeon_connector_analog_encoder_conflict_solve(connector, encoder, ret, true); radeon_connector_update_scratch_regs(connector, ret); @@ -738,6 +743,8 @@ static int radeon_dvi_get_modes(struct drm_connector *connector) */ static enum drm_connector_status radeon_dvi_detect(struct drm_connector *connector) { + struct drm_device *dev = connector->dev; + struct radeon_device *rdev = dev->dev_private; struct radeon_connector *radeon_connector = to_radeon_connector(connector); struct drm_encoder *encoder = NULL; struct drm_encoder_helper_funcs *encoder_funcs; @@ -836,6 +843,10 @@ static enum drm_connector_status radeon_dvi_detect(struct drm_connector *connect } } + /* always show rn50 as connected */ + if (ASIC_IS_RN50(rdev)) + ret = connector_status_connected; + if ((ret == connector_status_connected) && (radeon_connector->use_digital == false) && encoder) { ret = radeon_connector_analog_encoder_conflict_solve(connector, encoder, ret, true); -- 1.5.6.3