aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-10-15 23:38:32 -0400
committerDave Airlie <airlied@linux.ie>2009-10-16 04:31:29 -0400
commitd0c403e950d449c8c413a1fbf05dfec45ce03e55 (patch)
tree9a89bee2cc97f2b54f63d9dd4fe87d4db44d7034
parent2d152c6ba81c8a7776103b517fa454b8da0419aa (diff)
drm/radeon/kms: fix support for original r100
Original radeon didn't have a connector table in the bios. Check for the CRT table and if we have one, add a VGA connector. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
-rw-r--r--drivers/gpu/drm/radeon/radeon_combios.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
index 3c402b957f0..8298c990be7 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1773,8 +1773,25 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
1773 DRM_MODE_CONNECTOR_DVII, 1773 DRM_MODE_CONNECTOR_DVII,
1774 &ddc_i2c); 1774 &ddc_i2c);
1775 } else { 1775 } else {
1776 DRM_DEBUG("No connector info found\n"); 1776 uint16_t crt_info =
1777 return false; 1777 combios_get_table_offset(dev, COMBIOS_CRT_INFO_TABLE);
1778 DRM_DEBUG("Found CRT table, assuming VGA connector\n");
1779 if (crt_info) {
1780 radeon_add_legacy_encoder(dev,
1781 radeon_get_encoder_id(dev,
1782 ATOM_DEVICE_CRT1_SUPPORT,
1783 1),
1784 ATOM_DEVICE_CRT1_SUPPORT);
1785 ddc_i2c = combios_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
1786 radeon_add_legacy_connector(dev,
1787 0,
1788 ATOM_DEVICE_CRT1_SUPPORT,
1789 DRM_MODE_CONNECTOR_VGA,
1790 &ddc_i2c);
1791 } else {
1792 DRM_DEBUG("No connector info found\n");
1793 return false;
1794 }
1778 } 1795 }
1779 } 1796 }
1780 1797