On Tue, Apr 27, 2010 at 5:03 AM, Adam Jackson <ajax@xxxxxxxxxx> wrote: > Signed-off-by: Adam Jackson <ajax@xxxxxxxxxx> not sure about the kernel-parameters additions, since the option would be drm.edid_threshhold= and its a module option, though now that we can accept module options on the command line, we could start adding them to parameters file. However you'd need to add the drm. bit to the front of the option. How much broken hw we seeing that this fixes? maybe some bug references, as I hate having special options that people have to know just to see somehting on screen. Dave. > --- > Documentation/kernel-parameters.txt | 4 ++++ > drivers/gpu/drm/drm_edid.c | 5 ++++- > 2 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt > index e2202e9..17d50d2 100644 > --- a/Documentation/kernel-parameters.txt > +++ b/Documentation/kernel-parameters.txt > @@ -713,6 +713,10 @@ and is between 256 and 4096 characters. It is defined in the file > edd= [EDD] > Format: {"off" | "on" | "skip[mbr]"} > > + edid_threshold=<int> [DRM] > + Set the minimum number of bytes of an EDID header > + that must be valid, out of 8. The default is 6. > + > eisa_irq_edge= [PARISC,HW] > See header of drivers/parisc/eisa.c. > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index 7188674..6a1b5a3 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -62,6 +62,9 @@ > /* use +hsync +vsync for detailed mode */ > #define EDID_QUIRK_DETAILED_SYNC_PP (1 << 6) > > +static unsigned int edid_threshold = 6; > +MODULE_PARM_DESC(edid_threshold, "EDID header fixup threshold (default: 6)"); > +module_param_named(edid_threshold, edid_threshold, int, 0600); > > #define LEVEL_DMT 0 > #define LEVEL_GTF 1 > @@ -135,7 +138,7 @@ drm_edid_block_valid(u8 *raw_edid) > score++; > > if (score == 8) ; > - else if (score >= 6) { > + else if (score >= edid_threshold) { > DRM_DEBUG("Fixing EDID header, your hardware may be failing\n"); > memcpy(raw_edid, edid_header, sizeof(edid_header)); > } else { > -- > 1.7.0.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel