Signed-off-by: Adam Jackson <[email protected]>
---
 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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to