[Intel-gfx] [RFC 05/10] drm/i915/config: Add init-time configuration of DP max link rate.
Bob Paauwe
bob.j.paauwe at intel.com
Mon Apr 13 13:51:06 PDT 2015
If the sink does not provide a maximum link rate, then check the
connector configuration before defaulting to the lowest allowed
link rate.
Signed-off-by: Bob Paauwe <bob.j.paauwe at intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index b6944b9..b05ff6d 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -129,6 +129,9 @@ static int
intel_dp_max_link_bw(struct intel_dp *intel_dp)
{
int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE];
+ int cfg_max_link_bw = DP_LINK_BW_1_62;
+ struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
+ struct drm_device *dev = intel_dig_port->base.base.dev;
switch (max_link_bw) {
case DP_LINK_BW_1_62:
@@ -136,9 +139,15 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
case DP_LINK_BW_5_4:
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;
+ intel_config_get_integer(to_i915(dev),
+ CFG_CONNECTOR,
+ intel_dp->attached_connector->base.name,
+ "Maximum DPCD Rate",
+ &cfg_max_link_bw);
+
+ WARN(1, "invalid max DP link bw val %x, using %x\n",
+ max_link_bw, cfg_max_link_bw);
+ max_link_bw = cfg_max_link_bw;
break;
}
return max_link_bw;
--
2.1.0
More information about the Intel-gfx
mailing list