summaryrefslogtreecommitdiff
path: root/src/radeon_modes.c
diff options
context:
space:
mode:
authorAlex Deucher <alex@samba.(none)>2008-01-02 16:27:19 -0500
committerAlex Deucher <alex@samba.(none)>2008-01-02 16:27:19 -0500
commitdab4dc285154d40303aadaa849b85f8e251e578e (patch)
tree212ddeec4429ddabd3dceca3d26c980565391007 /src/radeon_modes.c
parente8e585651215b011e3ad07c59d0eab9107ccd8c6 (diff)
RADEON: add support for ATOM component video table
Component output is still not working.
Diffstat (limited to 'src/radeon_modes.c')
-rw-r--r--src/radeon_modes.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/radeon_modes.c b/src/radeon_modes.c
index c9e99b8e..e7759936 100644
--- a/src/radeon_modes.c
+++ b/src/radeon_modes.c
@@ -47,8 +47,8 @@
#include "radeon.h"
#include "radeon_reg.h"
#include "radeon_macros.h"
-
#include "radeon_version.h"
+#include "radeon_atombios.h"
#include "xf86Modes.h"
/* DDC support */
@@ -211,13 +211,23 @@ DisplayModePtr
RADEONProbeOutputModes(xf86OutputPtr output)
{
RADEONOutputPrivatePtr radeon_output = output->driver_private;
+ ScrnInfoPtr pScrn = output->scrn;
+ RADEONInfoPtr info = RADEONPTR(pScrn);
DisplayModePtr modes = NULL;
+ AtomBiosArgRec atomBiosArg;
+ AtomBiosResult atomBiosResult;
ErrorF("in RADEONProbeOutputModes\n");
if (output->status == XF86OutputStatusConnected) {
if (OUTPUT_IS_TV) {
modes = RADEONTVModes(output);
+ } else if (radeon_output->type == OUTPUT_CV) {
+ atomBiosResult = RHDAtomBiosFunc(pScrn->scrnIndex, info->atomBIOS,
+ ATOMBIOS_GET_CV_MODES, &atomBiosArg);
+ if (atomBiosResult == ATOM_SUCCESS) {
+ modes = atomBiosArg.modes;
+ }
} else {
if (output->MonInfo)
modes = xf86OutputGetEDIDModes (output);