summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2014-01-22 22:41:48 +0000
committerjsg <jsg@openbsd.org>2014-01-22 22:41:48 +0000
commit28a01fd2a5b69873c3009a0168d71a66186e8820 (patch)
tree1ddefe6a90b1597fd0cef8b0c309cb79513f8e24
parentdrm/i915: No LVDS hardware on Intel D410PT and D425KT (diff)
downloadwireguard-openbsd-28a01fd2a5b69873c3009a0168d71a66186e8820.tar.xz
wireguard-openbsd-28a01fd2a5b69873c3009a0168d71a66186e8820.zip
drm/edid: add quirk for BPC in Samsung NP700G7A-S01PL notebook
From Rafal Milecki f40ead76deb24bbb912c1791722f5ae6eabcc800 in ubuntu 3.8 49d45a31b71d7d9da74485922bdb63faf3dc9684 in mainline linux
-rw-r--r--sys/dev/pci/drm/drm_edid.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/drm_edid.c b/sys/dev/pci/drm/drm_edid.c
index cc3b32531da..2f27bdef94c 100644
--- a/sys/dev/pci/drm/drm_edid.c
+++ b/sys/dev/pci/drm/drm_edid.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: drm_edid.c,v 1.7 2014/01/22 22:07:51 jsg Exp $ */
+/* $OpenBSD: drm_edid.c,v 1.8 2014/01/22 22:41:48 jsg Exp $ */
/*
* Copyright (c) 2006 Luc Verhaegen (quirks list)
* Copyright (c) 2007-2008 Intel Corporation
@@ -67,6 +67,8 @@
#define EDID_QUIRK_DETAILED_SYNC_PP (1 << 6)
/* Force reduced-blanking timings for detailed modes */
#define EDID_QUIRK_FORCE_REDUCED_BLANKING (1 << 7)
+/* Force 8bpc */
+#define EDID_QUIRK_FORCE_8BPC (1 << 8)
struct detailed_mode_closure {
struct drm_connector *connector;
@@ -127,6 +129,9 @@ static struct edid_quirk {
/* Medion MD 30217 PG */
{ "MED", 0x7b8, EDID_QUIRK_PREFER_LARGE_75 },
+
+ /* Panel in Samsung NP700G7A-S01PL notebook reports 6bpc */
+ { "SEC", 0xd033, EDID_QUIRK_FORCE_8BPC },
};
/*** DDC fetch and block validation ***/
@@ -2017,6 +2022,9 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
drm_add_display_info(edid, &connector->display_info);
+ if (quirks & EDID_QUIRK_FORCE_8BPC)
+ connector->display_info.bpc = 8;
+
return num_modes;
}
EXPORT_SYMBOL(drm_add_edid_modes);