summaryrefslogtreecommitdiff
path: root/sys/dev/pci/drm
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2014-06-19 06:51:06 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2014-06-19 06:51:06 +0000
commitced6d2673e3d21e3d32a6c24fca41028e940f40f (patch)
tree7b3486ce53989b4f931259b70229d6e7c9090f47 /sys/dev/pci/drm
parentb208348c69c54e32d1aec3fa6d939d14c4ddbc87 (diff)
drm/i915: fix lane bandwidth capping for DP 1.2 sinks
DP 1.2 compatible displays may report a 5.4Gbps maximum bandwidth which the driver will treat as an invalid value and use 1.62Gbps instead. Fix this by capping to 2.7Gbps for sinks reporting a 5.4Gbps max bw. Also add a warning for reserved values. From Imre Deak d4eead50eb206b875f54f66cc0f6ec7d54122c28 in mainline linux One of two backported commits to prevent a black screen on a Lenovo IdeaPad Yoga 2 Pro as reported/debugged by Steven Wilson.
Diffstat (limited to 'sys/dev/pci/drm')
-rw-r--r--sys/dev/pci/drm/i915/intel_dp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/i915/intel_dp.c b/sys/dev/pci/drm/i915/intel_dp.c
index 9cf7464a6de..486f8578a0a 100644
--- a/sys/dev/pci/drm/i915/intel_dp.c
+++ b/sys/dev/pci/drm/i915/intel_dp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: intel_dp.c,v 1.19 2014/06/19 06:44:00 jsg Exp $ */
+/* $OpenBSD: intel_dp.c,v 1.20 2014/06/19 06:51:05 jsg Exp $ */
/*
* Copyright © 2008 Intel Corporation
*
@@ -139,7 +139,12 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
case DP_LINK_BW_1_62:
case DP_LINK_BW_2_7:
break;
+ case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
+ max_link_bw = DP_LINK_BW_2_7;
+ break;
default:
+ WARN(1, "invalid max DP link bw val %x, using 1.62Gbps\n",
+ max_link_bw);
max_link_bw = DP_LINK_BW_1_62;
break;
}