|
@@ -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;
|
|
|
}
|
|
|
|