Dear Ian, Am Freitag, den 10.08.2012, 13:44 -0500 schrieb Ian Pilcher: […] > diff --git a/Documentation/EDID/edid_quirks.txt b/Documentation/EDID/edid_quirks.txt > new file mode 100644 > index 0000000..256ded0 > --- /dev/null > +++ b/Documentation/EDID/edid_quirks.txt […] > +Overview > +======== > + > +EDID quirks provide a mechanism for working around display hardware with buggy > +EDID data. > + > +An individual EDID quirk maps a display type (identified by its EDID > +manufacturer ID and product code[1]) to a set of flags. For example, the current > +list of quirks built into the kernel is: > + > + ACR:0xad46:0x00000001 > + API:0x7602:0x00000001 > + ACR:0x0977:0x00000020 > + MAX:0x05ec:0x00000001 > + MAX:0x077e:0x00000001 > + EPI:0xe780:0x00000002 > + EPI:0x2028:0x00000001 > + FCM:0x3520:0x0000000c > + LPL:0x0000:0x00000010 > + LPL:0x2a00:0x00000010 > + PHL:0xe014:0x00000020 > + PTS:0x02fd:0x00000020 > + SAM:0x021d:0x00000040 > + SAM:0x0254:0x00000001 > + SAM:0x027e:0x00000001 > + VSC:0x139c:0x00000080 > + GSM:0x563f:0x00000300 reading the document again, I guess keeping this list up to date will be forgotten and duplicating this information is not necessary. Maybe just add one or two example quirks. I cannot think of a `grep` command to run to list all quirks, so maybe just mention that all the quirks are stored in `edid_quirk_list[]` in `drivers/gpu/drm/drm_edid.c` [1]. > + > +The first field of each quirk is the manufacturer ID, the second field is the > +product code, and the third field is the quirk flags. > + > +NOTE: All of the manufacturer IDs above are displayed as 3-character strings, > + because they are conformant IDs that have been properly encoded: > + > + - The most-significant bit of the encoded ID is 0 > + - They only contain ASCII characters in the range A-Z > + > + IDs that do not conform to these rules are displayed as "raw" hexadecimal > + values. > + > +The current quirk flags are: > + > + /* First detailed mode wrong, use largest 60Hz mode */ > + #define EDID_QUIRK_PREFER_LARGE_60 0x00000001 > + > + /* Reported 135MHz pixel clock is too high, needs adjustment */ > + #define EDID_QUIRK_135_CLOCK_TOO_HIGH 0x00000002 > + > + /* Prefer the largest mode at 75 Hz */ > + #define EDID_QUIRK_PREFER_LARGE_75 0x00000004 > + > + /* Detail timing is in cm not mm */ > + #define EDID_QUIRK_DETAILED_IN_CM 0x00000008 > + > + /* Detailed timing descriptors have bogus size values, so just take the > + * maximum size and use that. > + */ > + #define EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE 0x00000010 > + > + /* Monitor forgot to set the first detailed is preferred bit. */ > + #define EDID_QUIRK_FIRST_DETAILED_PREFERRED 0x00000020 > + > + /* use +hsync +vsync for detailed mode */ > + #define EDID_QUIRK_DETAILED_SYNC_PP 0x00000040 > + > + /* Force reduced-blanking timings for detailed modes */ > + #define EDID_QUIRK_FORCE_REDUCED_BLANKING 0x00000080 > + > + /* Display is confused by InfoFrames; don't sent any */ > + #define EDID_QUIRK_DISABLE_INFOFRAMES 0x00000100 > + > + /* Display doesn't have any audio output */ > + #define EDID_QUIRK_NO_AUDIO 0x00000200 That might be also hard to keep up to date. Maybe also just note that these quirks are defined in the beginning of `drivers/gpu/drm/drm_edid.c` [1] and that these are bit shifts(?) [2]. [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=drivers/gpu/drm/drm_edid.c;h=a8743c399e83234c976ebdb4b471542a0645c42d;hb=HEAD [2] https://en.wikipedia.org/wiki/Bitwise_operation#Shifts_in_C.2C_C.2B.2B.2C_C.23 […] Thanks, Paul
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel