Messages in this thread Patch in this message | | | Date | Mon, 25 Jun 2012 17:57:55 +0200 | From | Takashi Iwai <> | 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);
| |