diff options
author | 2014-06-19 06:44:00 +0000 | |
---|---|---|
committer | 2014-06-19 06:44:00 +0000 | |
commit | 0c58f076c79f8fa3b8474ad8c25167edb7aabd89 (patch) | |
tree | b7305a74d321e4a256308a817a9d8ec12ff3f855 | |
parent | Some simple set_basedir() cleanup; more to come. (diff) | |
download | wireguard-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.c | 21 |
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, |