[PATCH 1/2] drm/edid: Make EDID header fixup threshold configurable
Adam Jackson
ajax at redhat.com
Mon Apr 26 12:03:35 PDT 2010
Signed-off-by: Adam Jackson <ajax at redhat.com>
---
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
More information about the dri-devel
mailing list