Bug 10584: Mac Mini EDID data assigned to TMDS output

EDID data for TMDS output got from crt should be applied
to TMDS output on mac mini.
This commit is contained in:
Hong Liu 2008-02-05 08:58:44 +08:00 committed by Zhenyu Wang
parent 9532757113
commit 11de831cb7
1 changed files with 12 additions and 4 deletions

View File

@ -1100,8 +1100,10 @@ i830_sdvo_get_modes(xf86OutputPtr output)
{
ScrnInfoPtr pScrn = output->scrn;
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
DisplayModePtr modes;
DisplayModePtr modes = NULL;
xf86OutputPtr crt;
I830OutputPrivatePtr intel_output;
xf86MonPtr edid_mon = NULL;
modes = i830_ddc_get_modes(output);
if (modes != NULL)
@ -1113,11 +1115,17 @@ i830_sdvo_get_modes(xf86OutputPtr output)
* analog when we fail at finding it the right way.
*/
crt = xf86_config->output[0];
if (crt->funcs->detect(crt) == XF86OutputStatusDisconnected) {
return crt->funcs->get_modes(crt);
intel_output = crt->driver_private;
if (intel_output->type == I830_OUTPUT_ANALOG &&
crt->funcs->detect(crt) == XF86OutputStatusDisconnected) {
edid_mon = xf86OutputGetEDID(crt, intel_output->pDDCBus);
}
if (edid_mon) {
xf86OutputSetEDID(output, edid_mon);
modes = xf86OutputGetEDIDModes(output);
}
return NULL;
return modes;
}
static void