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