radeon_hd: Don't call TV encoder control improperly
* TV encoder was dropped on DCE5+ * (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT) will improperly match DFP4 (0x2 | 0x8) = 0xA * Bug reported to linux kernel driver
This commit is contained in:
@@ -674,8 +674,8 @@ connector_probe()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set up information buses such as ddc
|
// Set up information buses such as ddc
|
||||||
if ((connectorFlags
|
if (((connectorFlags & ATOM_DEVICE_TV_SUPPORT) == 0)
|
||||||
& (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) {
|
&& (connectorFlags & ATOM_DEVICE_CV_SUPPORT) == 0) {
|
||||||
for (j = 0; j < connectorObject->ucNumberOfObjects; j++) {
|
for (j = 0; j < connectorObject->ucNumberOfObjects; j++) {
|
||||||
if (B_LENDIAN_TO_HOST_INT16(path->usConnObjectId)
|
if (B_LENDIAN_TO_HOST_INT16(path->usConnObjectId)
|
||||||
== B_LENDIAN_TO_HOST_INT16(
|
== B_LENDIAN_TO_HOST_INT16(
|
||||||
|
|||||||
@@ -295,11 +295,14 @@ encoder_mode_set(uint8 id, uint32 pixelClock)
|
|||||||
case ENCODER_OBJECT_ID_INTERNAL_DAC2:
|
case ENCODER_OBJECT_ID_INTERNAL_DAC2:
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
|
case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
|
||||||
encoder_analog_setup(connectorIndex, pixelClock, ATOM_ENABLE);
|
encoder_analog_setup(connectorIndex, pixelClock, ATOM_ENABLE);
|
||||||
if ((encoderFlags
|
if (info.dceMajor < 5) {
|
||||||
& (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) != 0) {
|
// TV encoder was dropped in DCE 5
|
||||||
encoder_tv_setup(connectorIndex, pixelClock, ATOM_ENABLE);
|
if ((encoderFlags & ATOM_DEVICE_TV_SUPPORT != 0)
|
||||||
} else {
|
|| (encoderFlags & ATOM_DEVICE_CV_SUPPORT) != 0) {
|
||||||
encoder_tv_setup(connectorIndex, pixelClock, ATOM_DISABLE);
|
encoder_tv_setup(connectorIndex, pixelClock, ATOM_ENABLE);
|
||||||
|
} else {
|
||||||
|
encoder_tv_setup(connectorIndex, pixelClock, ATOM_DISABLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_TMDS1:
|
case ENCODER_OBJECT_ID_INTERNAL_TMDS1:
|
||||||
|
|||||||
Reference in New Issue
Block a user