Re: Bogus video resolution in Linux 3.5-rc4

From: Takashi Iwai
Date: Mon Jun 25 2012 - 11:57:50 EST


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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/