summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2014-06-19 06:44:00 +0000
committerjsg <jsg@openbsd.org>2014-06-19 06:44:00 +0000
commit0c58f076c79f8fa3b8474ad8c25167edb7aabd89 (patch)
treeb7305a74d321e4a256308a817a9d8ec12ff3f855
parentSome simple set_basedir() cleanup; more to come. (diff)
downloadwireguard-openbsd-0c58f076c79f8fa3b8474ad8c25167edb7aabd89.tar.xz
wireguard-openbsd-0c58f076c79f8fa3b8474ad8c25167edb7aabd89.zip
drm/i915: kill intel_dp_link_clock()
Use drm_dp_bw_code_to_link_rate insead. It's the same thing, but supports DP_LINK_BW_5_4 and is also used by the other drivers. From Paulo Zanoni 9fa5f6522e6eecb5ab20192a264a29ba4f2f4e85 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.
-rw-r--r--sys/dev/pci/drm/i915/intel_dp.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/sys/dev/pci/drm/i915/intel_dp.c b/sys/dev/pci/drm/i915/intel_dp.c
index fa668cf697c..9cf7464a6de 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.18 2014/03/30 01:10:36 jsg Exp $ */
+/* $OpenBSD: intel_dp.c,v 1.19 2014/06/19 06:44:00 jsg Exp $ */
/*
* Copyright © 2008 Intel Corporation
*
@@ -146,15 +146,6 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
return max_link_bw;
}
-static int
-intel_dp_link_clock(uint8_t link_bw)
-{
- if (link_bw == DP_LINK_BW_2_7)
- return 270000;
- else
- return 162000;
-}
-
/*
* The units on the numbers in the next two are... bizarre. Examples will
* make it clearer; this one parallels an example in the eDP spec.
@@ -189,7 +180,8 @@ intel_dp_adjust_dithering(struct intel_dp *intel_dp,
struct drm_display_mode *mode,
bool adjust_mode)
{
- int max_link_clock = intel_dp_link_clock(intel_dp_max_link_bw(intel_dp));
+ int max_link_clock =
+ drm_dp_bw_code_to_link_rate(intel_dp_max_link_bw(intel_dp));
int max_lanes = drm_dp_max_lane_count(intel_dp->dpcd);
int max_rate, mode_rate;
@@ -745,12 +737,15 @@ intel_dp_mode_fixup(struct drm_encoder *encoder,
for (clock = 0; clock <= max_clock; clock++) {
for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) {
- int link_avail = intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count);
+ int link_bw_clock =
+ drm_dp_bw_code_to_link_rate(bws[clock]);
+ int link_avail = intel_dp_max_data_rate(link_bw_clock,
+ lane_count);
if (mode_rate <= link_avail) {
intel_dp->link_bw = bws[clock];
intel_dp->lane_count = lane_count;
- adjusted_mode->clock = intel_dp_link_clock(intel_dp->link_bw);
+ adjusted_mode->clock = link_bw_clock;
DRM_DEBUG_KMS("DP link bw %02x lane "
"count %d clock %d bpp %d\n",
intel_dp->link_bw, intel_dp->lane_count,