diff options
author | Alex Deucher <alex@samba.(none)> | 2008-01-02 16:27:19 -0500 |
---|---|---|
committer | Alex Deucher <alex@samba.(none)> | 2008-01-02 16:27:19 -0500 |
commit | dab4dc285154d40303aadaa849b85f8e251e578e (patch) | |
tree | 212ddeec4429ddabd3dceca3d26c980565391007 /src/radeon_modes.c | |
parent | e8e585651215b011e3ad07c59d0eab9107ccd8c6 (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.c | 12 |
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); |