|
@@ -396,6 +396,21 @@ static int radeon_connector_set_property(struct drm_connector *connector, struct
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (property == rdev->mode_info.audio_property) {
|
|
|
+ struct radeon_connector *radeon_connector = to_radeon_connector(connector);
|
|
|
+ /* need to find digital encoder on connector */
|
|
|
+ encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS);
|
|
|
+ if (!encoder)
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ radeon_encoder = to_radeon_encoder(encoder);
|
|
|
+
|
|
|
+ if (radeon_connector->audio != val) {
|
|
|
+ radeon_connector->audio = val;
|
|
|
+ radeon_property_change_mode(&radeon_encoder->base);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (property == rdev->mode_info.underscan_property) {
|
|
|
/* need to find digital encoder on connector */
|
|
|
encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS);
|
|
@@ -1619,6 +1634,9 @@ radeon_add_atom_connector(struct drm_device *dev,
|
|
|
drm_object_attach_property(&radeon_connector->base.base,
|
|
|
rdev->mode_info.underscan_vborder_property,
|
|
|
0);
|
|
|
+ drm_object_attach_property(&radeon_connector->base.base,
|
|
|
+ rdev->mode_info.audio_property,
|
|
|
+ RADEON_AUDIO_DISABLE);
|
|
|
subpixel_order = SubPixelHorizontalRGB;
|
|
|
connector->interlace_allowed = true;
|
|
|
if (connector_type == DRM_MODE_CONNECTOR_HDMIB)
|
|
@@ -1708,6 +1726,11 @@ radeon_add_atom_connector(struct drm_device *dev,
|
|
|
rdev->mode_info.underscan_vborder_property,
|
|
|
0);
|
|
|
}
|
|
|
+ if (ASIC_IS_DCE2(rdev)) {
|
|
|
+ drm_object_attach_property(&radeon_connector->base.base,
|
|
|
+ rdev->mode_info.audio_property,
|
|
|
+ RADEON_AUDIO_DISABLE);
|
|
|
+ }
|
|
|
if (connector_type == DRM_MODE_CONNECTOR_DVII) {
|
|
|
radeon_connector->dac_load_detect = true;
|
|
|
drm_object_attach_property(&radeon_connector->base.base,
|
|
@@ -1748,6 +1771,11 @@ radeon_add_atom_connector(struct drm_device *dev,
|
|
|
rdev->mode_info.underscan_vborder_property,
|
|
|
0);
|
|
|
}
|
|
|
+ if (ASIC_IS_DCE2(rdev)) {
|
|
|
+ drm_object_attach_property(&radeon_connector->base.base,
|
|
|
+ rdev->mode_info.audio_property,
|
|
|
+ RADEON_AUDIO_DISABLE);
|
|
|
+ }
|
|
|
subpixel_order = SubPixelHorizontalRGB;
|
|
|
connector->interlace_allowed = true;
|
|
|
if (connector_type == DRM_MODE_CONNECTOR_HDMIB)
|
|
@@ -1787,6 +1815,11 @@ radeon_add_atom_connector(struct drm_device *dev,
|
|
|
rdev->mode_info.underscan_vborder_property,
|
|
|
0);
|
|
|
}
|
|
|
+ if (ASIC_IS_DCE2(rdev)) {
|
|
|
+ drm_object_attach_property(&radeon_connector->base.base,
|
|
|
+ rdev->mode_info.audio_property,
|
|
|
+ RADEON_AUDIO_DISABLE);
|
|
|
+ }
|
|
|
connector->interlace_allowed = true;
|
|
|
/* in theory with a DP to VGA converter... */
|
|
|
connector->doublescan_allowed = false;
|