diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-10-15 23:26:09 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-10-25 23:28:20 -0400 |
commit | 790cfb34ad645be3bf69265cb05d824aeabcfa11 (patch) | |
tree | fb82aef83a2a40d220579f78c172231b0a29ddcf /drivers | |
parent | 5885b7a9f4d2a0405b7e42d44eab4ed2302a8239 (diff) |
drm/radeon/kms: add quirk for acer 5102
doesn't have a tv-out port
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_combios.c | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index 8298c990be7a..fcb9371bf057 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c | |||
@@ -1579,6 +1579,17 @@ static bool radeon_apply_legacy_quirks(struct drm_device *dev, | |||
1579 | return true; | 1579 | return true; |
1580 | } | 1580 | } |
1581 | 1581 | ||
1582 | static bool radeon_apply_legacy_tv_quirks(struct drm_device *dev) | ||
1583 | { | ||
1584 | /* Acer 5102 has non-existent TV port */ | ||
1585 | if (dev->pdev->device == 0x5975 && | ||
1586 | dev->pdev->subsystem_vendor == 0x1025 && | ||
1587 | dev->pdev->subsystem_device == 0x009f) | ||
1588 | return false; | ||
1589 | |||
1590 | return true; | ||
1591 | } | ||
1592 | |||
1582 | bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev) | 1593 | bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev) |
1583 | { | 1594 | { |
1584 | struct radeon_device *rdev = dev->dev_private; | 1595 | struct radeon_device *rdev = dev->dev_private; |
@@ -1896,16 +1907,18 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev) | |||
1896 | combios_get_table_offset(dev, COMBIOS_TV_INFO_TABLE); | 1907 | combios_get_table_offset(dev, COMBIOS_TV_INFO_TABLE); |
1897 | if (tv_info) { | 1908 | if (tv_info) { |
1898 | if (RBIOS8(tv_info + 6) == 'T') { | 1909 | if (RBIOS8(tv_info + 6) == 'T') { |
1899 | radeon_add_legacy_encoder(dev, | 1910 | if (radeon_apply_legacy_tv_quirks(dev)) { |
1900 | radeon_get_encoder_id | 1911 | radeon_add_legacy_encoder(dev, |
1901 | (dev, | 1912 | radeon_get_encoder_id |
1902 | ATOM_DEVICE_TV1_SUPPORT, | 1913 | (dev, |
1903 | 2), | 1914 | ATOM_DEVICE_TV1_SUPPORT, |
1904 | ATOM_DEVICE_TV1_SUPPORT); | 1915 | 2), |
1905 | radeon_add_legacy_connector(dev, 6, | 1916 | ATOM_DEVICE_TV1_SUPPORT); |
1906 | ATOM_DEVICE_TV1_SUPPORT, | 1917 | radeon_add_legacy_connector(dev, 6, |
1907 | DRM_MODE_CONNECTOR_SVIDEO, | 1918 | ATOM_DEVICE_TV1_SUPPORT, |
1908 | &ddc_i2c); | 1919 | DRM_MODE_CONNECTOR_SVIDEO, |
1920 | &ddc_i2c); | ||
1921 | } | ||
1909 | } | 1922 | } |
1910 | } | 1923 | } |
1911 | } | 1924 | } |