[PATCH 2/3] xfree86: If the driver found modes on an output, don't add more
Alex Deucher
alexdeucher at gmail.com
Thu Jan 6 14:42:29 PST 2011
On Thu, Jan 6, 2011 at 5:29 PM, Adam Jackson <ajax at redhat.com> wrote:
> Inferring modes from sync ranges is only valid if the monitor says it's
> valid. If the monitor says it's valid, then we'll have already added
> those modes during EDID block parse. If it doesn't, then we should
> believe it.
>
> If there's no EDID for an output, but sync ranges from the config, we'll
> still add default modes as normal.
>
> Signed-off-by: Adam Jackson <ajax at redhat.com>
Looks good to me.
Reviewed-by: Alex Deucher <alexdeucher at gmail.com>
> ---
> hw/xfree86/modes/xf86Crtc.c | 10 +++++++++-
> 1 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
> index c4470c3..dba5f28 100644
> --- a/hw/xfree86/modes/xf86Crtc.c
> +++ b/hw/xfree86/modes/xf86Crtc.c
> @@ -1596,7 +1596,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
> int min_clock = 0;
> int max_clock = 0;
> double clock;
> - Bool add_default_modes = xf86ReturnOptValBool(output->options, OPTION_DEFAULT_MODES, TRUE);
> + Bool add_default_modes;
> Bool debug_modes = config->debug_modes ||
> xf86Initialising;
> enum det_monrec_source sync_source = sync_default;
> @@ -1642,6 +1642,14 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
> }
>
> output_modes = (*output->funcs->get_modes) (output);
> +
> + /*
> + * If the user has a preference, respect it.
> + * Otherwise, don't second-guess the driver.
> + */
> + if (!xf86GetOptValBool(output->options, OPTION_DEFAULT_MODES,
> + &add_default_modes))
> + add_default_modes = (output_modes == NULL);
>
> edid_monitor = output->MonInfo;
>
> --
> 1.7.3.4
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list