[Intel-gfx] [PATCH 00/12] Add more DMT and common modes
Takashi Iwai
tiwai at suse.de
Fri Apr 20 14:34:30 CEST 2012
At Fri, 20 Apr 2012 13:05:48 +0100,
Dave Airlie wrote:
>
> On Thu, Apr 19, 2012 at 3:58 PM, Takashi Iwai <tiwai at suse.de> wrote:
> > At Thu, 19 Apr 2012 14:03:58 +0200,
> > Takashi Iwai wrote:
> >>
> >> At Tue, 17 Apr 2012 17:26:26 +0200,
> >> Takashi Iwai wrote:
> >> >
> >> > At Fri, 13 Apr 2012 16:56:26 -0400,
> >> > Adam Jackson wrote:
> >> > >
> >> > > On 4/13/12 4:33 PM, Adam Jackson wrote:
> >> > > > Incorporates some feedback from Rodrigo and Takashi. Major themes of the
> >> > > > series:
> >> > > >
> >> > > > - Fix the DMT list to include reduced-blanking modes
> >> > > > - Add modes from DMT for any range descriptor type
> >> > > > - Add an extra modes list for things not in DMT
> >> > > > - For ranges that specify a formula, generate timings from the extra modes
> >> > > >
> >> > > > This still doesn't address the driver policy decision of "I know I have
> >> > > > a scaler, add modes as if there were a range descriptor even if there's
> >> > > > not one". But it should at least make clear what such a helper function
> >> > > > should do.
> >> > >
> >> > > One minor buglet in this series that's not obvious from inspection (and
> >> > > that I didn't realize until just now) is that putting 1366x768 in the
> >> > > minimode list won't do what you want, since the mode you get back will
> >> > > be 1368x768. Probably we should move the manual-underscan hack into the
> >> > > timing generators themselves.
> >> >
> >> > Sounds like a good compromise. We have already hacks in drm_edid.c
> >> > for HDMI TV, so one exception more isn't that bad ;)
>
> I've pulled the series into -next along with the NULL check fix.
Thanks!
> the only outstanding bit is the hack.
Also the packed attributes are missing in the new structs.
The fix patch is below.
Takashi
---
From: Takashi Iwai <tiwai at suse.de>
Subject: [PATCH 2/2] drm/edid: Add packed attribute to new gtf2 and cvt structs
The new structs added in struct detailed_data_monitor_range must be
marked with packed attribute although the outer struct itself is
already marked as packed. Otherwise these 7-bytes structs may be
aligned, and give the wrong position and size for the data.
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
include/drm/drm_edid.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index 8cefbbe..0cac551 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -99,7 +99,7 @@ struct detailed_data_monitor_range {
__le16 m;
u8 k;
u8 j; /* need to divide by 2 */
- } gtf2;
+ } __attribute__((packed)) gtf2;
struct {
u8 version;
u8 data1; /* high 6 bits: extra clock resolution */
@@ -108,7 +108,7 @@ struct detailed_data_monitor_range {
u8 flags; /* preferred aspect and blanking support */
u8 supported_scalings;
u8 preferred_refresh;
- } cvt;
+ } __attribute__((packed)) cvt;
} formula;
} __attribute__((packed));
--
1.7.9.2
More information about the Intel-gfx
mailing list