diff options
author | Dave Airlie <airlied@redhat.com> | 2009-11-26 15:43:54 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-11-26 15:43:54 +1000 |
commit | 8195385d3cedf70d89ca576371af6bca5045bbd2 (patch) | |
tree | 4a8a21e1c39966b706d7816d31b0b8521b6985a4 /src/atombios_output.c | |
parent | 381b14d5422131ea8ff942ab06a328f6beca0d3f (diff) |
dce3: no CV1 or TV1 Output Control tables anymore.
According to the DCE3 docs we should only use DAC1/2 not
CV1/TV OutputControl, also my rv730 bios doesn't have any
CV1/TV tables.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/atombios_output.c')
-rw-r--r-- | src/atombios_output.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/atombios_output.c b/src/atombios_output.c index ac30fa31..af6d68c5 100644 --- a/src/atombios_output.c +++ b/src/atombios_output.c @@ -1256,19 +1256,26 @@ atombios_output_dpms(xf86OutputPtr output, int mode) break; case ENCODER_OBJECT_ID_INTERNAL_DAC1: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1: - if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT)) - index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl); - else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT)) - index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl); - else + if (!IS_DCE3_VARIANT) { + if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT)) + index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl); + else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT)) + index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl); + else + index = GetIndexIntoMasterTable(COMMAND, DAC1OutputControl); + } else index = GetIndexIntoMasterTable(COMMAND, DAC1OutputControl); break; case ENCODER_OBJECT_ID_INTERNAL_DAC2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: - if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT)) - index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl); - else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT)) - index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl); + if (!IS_DCE3_VARIANT) { + if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT)) + index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl); + else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT)) + index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl); + else + index = GetIndexIntoMasterTable(COMMAND, DAC2OutputControl); + } else index = GetIndexIntoMasterTable(COMMAND, DAC2OutputControl); break; |