|
|
|
@ -1175,6 +1175,8 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
/* no HPD on analog connectors */ |
|
|
|
|
radeon_connector->hpd.hpd = RADEON_HPD_NONE; |
|
|
|
|
connector->polled = DRM_CONNECTOR_POLL_CONNECT; |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_DVIA: |
|
|
|
|
drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); |
|
|
|
@ -1190,6 +1192,8 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
1); |
|
|
|
|
/* no HPD on analog connectors */ |
|
|
|
|
radeon_connector->hpd.hpd = RADEON_HPD_NONE; |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_DVII: |
|
|
|
|
case DRM_MODE_CONNECTOR_DVID: |
|
|
|
@ -1226,6 +1230,11 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
rdev->mode_info.load_detect_property, |
|
|
|
|
1); |
|
|
|
|
} |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
if (connector_type == DRM_MODE_CONNECTOR_DVII) |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
else |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_HDMIA: |
|
|
|
|
case DRM_MODE_CONNECTOR_HDMIB: |
|
|
|
@ -1256,6 +1265,11 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
0); |
|
|
|
|
} |
|
|
|
|
subpixel_order = SubPixelHorizontalRGB; |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
if (connector_type == DRM_MODE_CONNECTOR_HDMIB) |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
else |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_DisplayPort: |
|
|
|
|
case DRM_MODE_CONNECTOR_eDP: |
|
|
|
@ -1293,6 +1307,9 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
rdev->mode_info.underscan_vborder_property, |
|
|
|
|
0); |
|
|
|
|
} |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
/* in theory with a DP to VGA converter... */ |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_SVIDEO: |
|
|
|
|
case DRM_MODE_CONNECTOR_Composite: |
|
|
|
@ -1308,6 +1325,8 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
radeon_atombios_get_tv_info(rdev)); |
|
|
|
|
/* no HPD on analog connectors */ |
|
|
|
|
radeon_connector->hpd.hpd = RADEON_HPD_NONE; |
|
|
|
|
connector->interlace_allowed = false; |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_LVDS: |
|
|
|
|
radeon_dig_connector = kzalloc(sizeof(struct radeon_connector_atom_dig), GFP_KERNEL); |
|
|
|
@ -1326,6 +1345,8 @@ radeon_add_atom_connector(struct drm_device *dev, |
|
|
|
|
dev->mode_config.scaling_mode_property, |
|
|
|
|
DRM_MODE_SCALE_FULLSCREEN); |
|
|
|
|
subpixel_order = SubPixelHorizontalRGB; |
|
|
|
|
connector->interlace_allowed = false; |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1403,6 +1424,8 @@ radeon_add_legacy_connector(struct drm_device *dev, |
|
|
|
|
/* no HPD on analog connectors */ |
|
|
|
|
radeon_connector->hpd.hpd = RADEON_HPD_NONE; |
|
|
|
|
connector->polled = DRM_CONNECTOR_POLL_CONNECT; |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_DVIA: |
|
|
|
|
drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type); |
|
|
|
@ -1418,6 +1441,8 @@ radeon_add_legacy_connector(struct drm_device *dev, |
|
|
|
|
1); |
|
|
|
|
/* no HPD on analog connectors */ |
|
|
|
|
radeon_connector->hpd.hpd = RADEON_HPD_NONE; |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_DVII: |
|
|
|
|
case DRM_MODE_CONNECTOR_DVID: |
|
|
|
@ -1435,6 +1460,11 @@ radeon_add_legacy_connector(struct drm_device *dev, |
|
|
|
|
1); |
|
|
|
|
} |
|
|
|
|
subpixel_order = SubPixelHorizontalRGB; |
|
|
|
|
connector->interlace_allowed = true; |
|
|
|
|
if (connector_type == DRM_MODE_CONNECTOR_DVII) |
|
|
|
|
connector->doublescan_allowed = true; |
|
|
|
|
else |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_SVIDEO: |
|
|
|
|
case DRM_MODE_CONNECTOR_Composite: |
|
|
|
@ -1457,6 +1487,8 @@ radeon_add_legacy_connector(struct drm_device *dev, |
|
|
|
|
radeon_combios_get_tv_info(rdev)); |
|
|
|
|
/* no HPD on analog connectors */ |
|
|
|
|
radeon_connector->hpd.hpd = RADEON_HPD_NONE; |
|
|
|
|
connector->interlace_allowed = false; |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
case DRM_MODE_CONNECTOR_LVDS: |
|
|
|
|
drm_connector_init(dev, &radeon_connector->base, &radeon_lvds_connector_funcs, connector_type); |
|
|
|
@ -1470,6 +1502,8 @@ radeon_add_legacy_connector(struct drm_device *dev, |
|
|
|
|
dev->mode_config.scaling_mode_property, |
|
|
|
|
DRM_MODE_SCALE_FULLSCREEN); |
|
|
|
|
subpixel_order = SubPixelHorizontalRGB; |
|
|
|
|
connector->interlace_allowed = false; |
|
|
|
|
connector->doublescan_allowed = false; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|