RADEONValidateDDCModes() issue
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Nov 11 19:47:10 PST 2004
On Fri, 2004-11-12 at 10:38 +1100, Benjamin Herrenschmidt wrote:
> int match = 0;
>
> /* If we didn't get a panel clock or guessed one, try to match the
> * mode with the panel size. We do that because we _need_ a panel
> * clock, or ValidateFPModes will fail, even when UseBiosDividers
> * is set.
> */
> if ((info->DotClock == 0 || info->DotClockGuessed) &&
> info->PanelXRes == d_timings->h_active &&
> info->PanelYRes == d_timings->v_active)
> match = 1;
>
> /* If we don't have a BIOS provided panel data, check for panel size
> */
> if (info->PanelXRes < d_timings->h_active &&
> info->PanelYRes < d_timings->v_active &&
> !info->UseBiosDividers)) {
Of course, the above isn't the right version of the patch, the above if
() should just set match = 1, and the code below done if (match). I
posted the complete patch with my changes anyway (see post "[PATCH]
Radeon driver fixes").
> info->PanelXRes = d_timings->h_active;
> info->PanelYRes = d_timings->v_active;
> info->DotClock = d_timings->clock / 1000;
> info->HOverPlus = d_timings->h_sync_off;
> info->HSyncWidth = d_timings->h_sync_width;
> info->HBlank = d_timings->h_blanking;
> info->VOverPlus = d_timings->v_sync_off;
> info->VSyncWidth = d_timings->v_sync_width;
> info->VBlank = d_timings->v_blanking;
> }
> }
> }
> if (info->UseBiosDividers)
> return;
>
> /* Search thru standard VESA modes from EDID */
>
> .../...
>
> I didn't change the rest of the function.
>
> Any comment ? I'll propose a patch adding those changes later today.
>
> Ben.
>
>
> _______________________________________________
> xorg mailing list
> xorg at freedesktop.org
> http://freedesktop.org/mailman/listinfo/xorg
--
Benjamin Herrenschmidt <benh at kernel.crashing.org>
More information about the xorg
mailing list