[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5h7guv8juk.wl%tiwai@suse.de>
Date: Mon, 25 Jun 2012 17:57:55 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Adam Jackson <ajax@...hat.com>
Cc: Sven Joachim <svenjoac@....de>, dri-devel@...ts.freedesktop.org,
Rodrigo Vivi <rodrigo.vivi@...el.com>,
Dave Airlie <airlied@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: Bogus video resolution in Linux 3.5-rc4
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists