aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_bios.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_bios.c')
-rw-r--r--drivers/gpu/drm/i915/intel_bios.c52
1 files changed, 38 insertions, 14 deletions
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 3d43da6d3482..1ee98f121a00 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -598,47 +598,71 @@ parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
598 598
599 dev_priv->vbt.edp_pps = *edp_pps; 599 dev_priv->vbt.edp_pps = *edp_pps;
600 600
601 dev_priv->vbt.edp_rate = edp_link_params->rate ? DP_LINK_BW_2_7 : 601 switch (edp_link_params->rate) {
602 DP_LINK_BW_1_62; 602 case EDP_RATE_1_62:
603 dev_priv->vbt.edp_rate = DP_LINK_BW_1_62;
604 break;
605 case EDP_RATE_2_7:
606 dev_priv->vbt.edp_rate = DP_LINK_BW_2_7;
607 break;
608 default:
609 DRM_DEBUG_KMS("VBT has unknown eDP link rate value %u\n",
610 edp_link_params->rate);
611 break;
612 }
613
603 switch (edp_link_params->lanes) { 614 switch (edp_link_params->lanes) {
604 case 0: 615 case EDP_LANE_1:
605 dev_priv->vbt.edp_lanes = 1; 616 dev_priv->vbt.edp_lanes = 1;
606 break; 617 break;
607 case 1: 618 case EDP_LANE_2:
608 dev_priv->vbt.edp_lanes = 2; 619 dev_priv->vbt.edp_lanes = 2;
609 break; 620 break;
610 case 3: 621 case EDP_LANE_4:
611 default:
612 dev_priv->vbt.edp_lanes = 4; 622 dev_priv->vbt.edp_lanes = 4;
613 break; 623 break;
624 default:
625 DRM_DEBUG_KMS("VBT has unknown eDP lane count value %u\n",
626 edp_link_params->lanes);
627 break;
614 } 628 }
629
615 switch (edp_link_params->preemphasis) { 630 switch (edp_link_params->preemphasis) {
616 case 0: 631 case EDP_PREEMPHASIS_NONE:
617 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_0; 632 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_0;
618 break; 633 break;
619 case 1: 634 case EDP_PREEMPHASIS_3_5dB:
620 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_3_5; 635 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_3_5;
621 break; 636 break;
622 case 2: 637 case EDP_PREEMPHASIS_6dB:
623 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_6; 638 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_6;
624 break; 639 break;
625 case 3: 640 case EDP_PREEMPHASIS_9_5dB:
626 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_9_5; 641 dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPHASIS_9_5;
627 break; 642 break;
643 default:
644 DRM_DEBUG_KMS("VBT has unknown eDP pre-emphasis value %u\n",
645 edp_link_params->preemphasis);
646 break;
628 } 647 }
648
629 switch (edp_link_params->vswing) { 649 switch (edp_link_params->vswing) {
630 case 0: 650 case EDP_VSWING_0_4V:
631 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_400; 651 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_400;
632 break; 652 break;
633 case 1: 653 case EDP_VSWING_0_6V:
634 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_600; 654 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_600;
635 break; 655 break;
636 case 2: 656 case EDP_VSWING_0_8V:
637 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_800; 657 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_800;
638 break; 658 break;
639 case 3: 659 case EDP_VSWING_1_2V:
640 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_1200; 660 dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_1200;
641 break; 661 break;
662 default:
663 DRM_DEBUG_KMS("VBT has unknown eDP voltage swing value %u\n",
664 edp_link_params->vswing);
665 break;
642 } 666 }
643} 667}
644 668