At Mon, 25 Jun 2012 17:53:12 +0200,
Takashi Iwai wrote:
> 
> And, does the patch below help?

BTW, the patch below contains the possible generic fix.
It seems that EDID_QUIRK_FIRST_DETAILED_PREFERRED handling is missing
from the beginning.  So I wrote it just from what I can imagine from
the comment:
  /* Monitor forgot to set the first detailed is preferred bit. */
  #define EDID_QUIRK_FIRST_DETAILED_PREFERRED   (1 << 5)

Adam, is my interpretation correct?


Takashi

> 
> 
> Takashi
> 
> ---
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 5873e48..dab8580 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -116,6 +116,7 @@ static struct edid_quirk {
>  
>       /* Proview AY765C */
>       { "PTS", 765, EDID_QUIRK_FIRST_DETAILED_PREFERRED },
> +     { "PTS", 793, EDID_QUIRK_FIRST_DETAILED_PREFERRED },
>  
>       /* Samsung SyncMaster 205BW.  Note: irony */
>       { "SAM", 541, EDID_QUIRK_DETAILED_SYNC_PP },
> @@ -1404,7 +1405,9 @@ do_detailed_mode(struct detailed_timing *timing, void 
> *c)
>               if (!newmode)
>                       return;
>  
> -             if (closure->preferred)
> +             if (closure->preferred ||
> +                 ((closure->quirks & EDID_QUIRK_FIRST_DETAILED_PREFERRED) &&
> +                  !closure->modes))
>                       newmode->type |= DRM_MODE_TYPE_PREFERRED;
>  
>               drm_mode_probed_add(closure->connector, newmode);
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to