dp_info 493 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_update_vs_emph(struct amdgpu_atombios_dp_link_train_info *dp_info) dp_info 496 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_encoder_setup_dig_transmitter(dp_info->encoder, dp_info 498 drivers/gpu/drm/amd/amdgpu/atombios_dp.c 0, dp_info->train_set[0]); /* sets all lanes at once */ dp_info 501 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_write(dp_info->aux, DP_TRAINING_LANE0_SET, dp_info 502 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->train_set, dp_info->dp_lane_count); dp_info 506 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_set_tp(struct amdgpu_atombios_dp_link_train_info *dp_info, int tp) dp_info 522 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_encoder_setup_dig_encoder(dp_info->encoder, rtp, 0); dp_info 525 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_TRAINING_PATTERN_SET, tp); dp_info 529 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_link_train_init(struct amdgpu_atombios_dp_link_train_info *dp_info) dp_info 531 drivers/gpu/drm/amd/amdgpu/atombios_dp.c struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(dp_info->encoder); dp_info 536 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_set_rx_power_state(dp_info->connector, DP_SET_POWER_D0); dp_info 539 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (dp_info->dpcd[3] & 0x1) dp_info 540 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 543 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 547 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_EDP_CONFIGURATION_SET, 1); dp_info 550 drivers/gpu/drm/amd/amdgpu/atombios_dp.c tmp = dp_info->dp_lane_count; dp_info 551 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (drm_dp_enhanced_frame_cap(dp_info->dpcd)) dp_info 553 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_LANE_COUNT_SET, tmp); dp_info 556 drivers/gpu/drm/amd/amdgpu/atombios_dp.c tmp = drm_dp_link_rate_to_bw_code(dp_info->dp_clock); dp_info 557 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_LINK_BW_SET, tmp); dp_info 560 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_encoder_setup_dig_encoder(dp_info->encoder, dp_info 564 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 572 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_link_train_finish(struct amdgpu_atombios_dp_link_train_info *dp_info) dp_info 577 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 582 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_encoder_setup_dig_encoder(dp_info->encoder, dp_info 589 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_link_train_cr(struct amdgpu_atombios_dp_link_train_info *dp_info) dp_info 595 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_set_tp(dp_info, DP_TRAINING_PATTERN_1); dp_info 596 drivers/gpu/drm/amd/amdgpu/atombios_dp.c memset(dp_info->train_set, 0, 4); dp_info 597 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_update_vs_emph(dp_info); dp_info 603 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->tries = 0; dp_info 606 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_link_train_clock_recovery_delay(dp_info->dpcd); dp_info 608 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (drm_dp_dpcd_read_link_status(dp_info->aux, dp_info 609 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->link_status) <= 0) { dp_info 614 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (drm_dp_clock_recovery_ok(dp_info->link_status, dp_info->dp_lane_count)) { dp_info 619 drivers/gpu/drm/amd/amdgpu/atombios_dp.c for (i = 0; i < dp_info->dp_lane_count; i++) { dp_info 620 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if ((dp_info->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0) dp_info 623 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (i == dp_info->dp_lane_count) { dp_info 628 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if ((dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK) == voltage) { dp_info 629 drivers/gpu/drm/amd/amdgpu/atombios_dp.c ++dp_info->tries; dp_info 630 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (dp_info->tries == 5) { dp_info 635 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->tries = 0; dp_info 637 drivers/gpu/drm/amd/amdgpu/atombios_dp.c voltage = dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK; dp_info 640 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_get_adjust_train(dp_info->link_status, dp_info->dp_lane_count, dp_info 641 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->train_set); dp_info 643 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_update_vs_emph(dp_info); dp_info 650 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK, dp_info 651 drivers/gpu/drm/amd/amdgpu/atombios_dp.c (dp_info->train_set[0] & DP_TRAIN_PRE_EMPHASIS_MASK) >> dp_info 658 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_link_train_ce(struct amdgpu_atombios_dp_link_train_info *dp_info) dp_info 662 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (dp_info->tp3_supported) dp_info 663 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_set_tp(dp_info, DP_TRAINING_PATTERN_3); dp_info 665 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_set_tp(dp_info, DP_TRAINING_PATTERN_2); dp_info 668 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->tries = 0; dp_info 671 drivers/gpu/drm/amd/amdgpu/atombios_dp.c drm_dp_link_train_channel_eq_delay(dp_info->dpcd); dp_info 673 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (drm_dp_dpcd_read_link_status(dp_info->aux, dp_info 674 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->link_status) <= 0) { dp_info 679 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (drm_dp_channel_eq_ok(dp_info->link_status, dp_info->dp_lane_count)) { dp_info 685 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (dp_info->tries > 5) { dp_info 691 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_get_adjust_train(dp_info->link_status, dp_info->dp_lane_count, dp_info 692 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->train_set); dp_info 694 drivers/gpu/drm/amd/amdgpu/atombios_dp.c amdgpu_atombios_dp_update_vs_emph(dp_info); dp_info 695 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->tries++; dp_info 703 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK, dp_info 704 drivers/gpu/drm/amd/amdgpu/atombios_dp.c (dp_info->train_set[0] & DP_TRAIN_PRE_EMPHASIS_MASK) dp_info 719 drivers/gpu/drm/amd/amdgpu/atombios_dp.c struct amdgpu_atombios_dp_link_train_info dp_info; dp_info 738 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.tp3_supported = true; dp_info 740 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.tp3_supported = false; dp_info 742 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.tp3_supported = false; dp_info 745 drivers/gpu/drm/amd/amdgpu/atombios_dp.c memcpy(dp_info.dpcd, dig_connector->dpcd, DP_RECEIVER_CAP_SIZE); dp_info 746 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.adev = adev; dp_info 747 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.encoder = encoder; dp_info 748 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.connector = connector; dp_info 749 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.dp_lane_count = dig_connector->dp_lane_count; dp_info 750 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.dp_clock = dig_connector->dp_clock; dp_info 751 drivers/gpu/drm/amd/amdgpu/atombios_dp.c dp_info.aux = &amdgpu_connector->ddc_bus->aux; dp_info 753 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (amdgpu_atombios_dp_link_train_init(&dp_info)) dp_info 755 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (amdgpu_atombios_dp_link_train_cr(&dp_info)) dp_info 757 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (amdgpu_atombios_dp_link_train_ce(&dp_info)) dp_info 760 drivers/gpu/drm/amd/amdgpu/atombios_dp.c if (amdgpu_atombios_dp_link_train_finish(&dp_info)) dp_info 555 drivers/gpu/drm/radeon/atombios_dp.c static void radeon_dp_update_vs_emph(struct radeon_dp_link_train_info *dp_info) dp_info 558 drivers/gpu/drm/radeon/atombios_dp.c atombios_dig_transmitter_setup(dp_info->encoder, dp_info 560 drivers/gpu/drm/radeon/atombios_dp.c 0, dp_info->train_set[0]); /* sets all lanes at once */ dp_info 563 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_write(dp_info->aux, DP_TRAINING_LANE0_SET, dp_info 564 drivers/gpu/drm/radeon/atombios_dp.c dp_info->train_set, dp_info->dp_lane_count); dp_info 567 drivers/gpu/drm/radeon/atombios_dp.c static void radeon_dp_set_tp(struct radeon_dp_link_train_info *dp_info, int tp) dp_info 572 drivers/gpu/drm/radeon/atombios_dp.c if (ASIC_IS_DCE4(dp_info->rdev) || !dp_info->use_dpencoder) { dp_info 584 drivers/gpu/drm/radeon/atombios_dp.c atombios_dig_encoder_setup(dp_info->encoder, rtp, 0); dp_info 594 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_encoder_service(dp_info->rdev, ATOM_DP_ACTION_TRAINING_PATTERN_SEL, dp_info 595 drivers/gpu/drm/radeon/atombios_dp.c dp_info->dp_clock, dp_info->enc_id, rtp); dp_info 599 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_TRAINING_PATTERN_SET, tp); dp_info 602 drivers/gpu/drm/radeon/atombios_dp.c static int radeon_dp_link_train_init(struct radeon_dp_link_train_info *dp_info) dp_info 604 drivers/gpu/drm/radeon/atombios_dp.c struct radeon_encoder *radeon_encoder = to_radeon_encoder(dp_info->encoder); dp_info 609 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_set_rx_power_state(dp_info->connector, DP_SET_POWER_D0); dp_info 612 drivers/gpu/drm/radeon/atombios_dp.c if (dp_info->dpcd[3] & 0x1) dp_info 613 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 616 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 620 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_EDP_CONFIGURATION_SET, 1); dp_info 623 drivers/gpu/drm/radeon/atombios_dp.c tmp = dp_info->dp_lane_count; dp_info 624 drivers/gpu/drm/radeon/atombios_dp.c if (drm_dp_enhanced_frame_cap(dp_info->dpcd)) dp_info 626 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_LANE_COUNT_SET, tmp); dp_info 629 drivers/gpu/drm/radeon/atombios_dp.c tmp = drm_dp_link_rate_to_bw_code(dp_info->dp_clock); dp_info 630 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, DP_LINK_BW_SET, tmp); dp_info 633 drivers/gpu/drm/radeon/atombios_dp.c if (ASIC_IS_DCE4(dp_info->rdev) || !dp_info->use_dpencoder) dp_info 634 drivers/gpu/drm/radeon/atombios_dp.c atombios_dig_encoder_setup(dp_info->encoder, dp_info 637 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_encoder_service(dp_info->rdev, ATOM_DP_ACTION_TRAINING_START, dp_info 638 drivers/gpu/drm/radeon/atombios_dp.c dp_info->dp_clock, dp_info->enc_id, 0); dp_info 641 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 648 drivers/gpu/drm/radeon/atombios_dp.c static int radeon_dp_link_train_finish(struct radeon_dp_link_train_info *dp_info) dp_info 653 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_dpcd_writeb(dp_info->aux, dp_info 658 drivers/gpu/drm/radeon/atombios_dp.c if (ASIC_IS_DCE4(dp_info->rdev) || !dp_info->use_dpencoder) dp_info 659 drivers/gpu/drm/radeon/atombios_dp.c atombios_dig_encoder_setup(dp_info->encoder, dp_info 662 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_encoder_service(dp_info->rdev, ATOM_DP_ACTION_TRAINING_COMPLETE, dp_info 663 drivers/gpu/drm/radeon/atombios_dp.c dp_info->dp_clock, dp_info->enc_id, 0); dp_info 668 drivers/gpu/drm/radeon/atombios_dp.c static int radeon_dp_link_train_cr(struct radeon_dp_link_train_info *dp_info) dp_info 674 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_set_tp(dp_info, DP_TRAINING_PATTERN_1); dp_info 675 drivers/gpu/drm/radeon/atombios_dp.c memset(dp_info->train_set, 0, 4); dp_info 676 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_update_vs_emph(dp_info); dp_info 682 drivers/gpu/drm/radeon/atombios_dp.c dp_info->tries = 0; dp_info 685 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_link_train_clock_recovery_delay(dp_info->dpcd); dp_info 687 drivers/gpu/drm/radeon/atombios_dp.c if (drm_dp_dpcd_read_link_status(dp_info->aux, dp_info 688 drivers/gpu/drm/radeon/atombios_dp.c dp_info->link_status) <= 0) { dp_info 693 drivers/gpu/drm/radeon/atombios_dp.c if (drm_dp_clock_recovery_ok(dp_info->link_status, dp_info->dp_lane_count)) { dp_info 698 drivers/gpu/drm/radeon/atombios_dp.c for (i = 0; i < dp_info->dp_lane_count; i++) { dp_info 699 drivers/gpu/drm/radeon/atombios_dp.c if ((dp_info->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0) dp_info 702 drivers/gpu/drm/radeon/atombios_dp.c if (i == dp_info->dp_lane_count) { dp_info 707 drivers/gpu/drm/radeon/atombios_dp.c if ((dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK) == voltage) { dp_info 708 drivers/gpu/drm/radeon/atombios_dp.c ++dp_info->tries; dp_info 709 drivers/gpu/drm/radeon/atombios_dp.c if (dp_info->tries == 5) { dp_info 714 drivers/gpu/drm/radeon/atombios_dp.c dp_info->tries = 0; dp_info 716 drivers/gpu/drm/radeon/atombios_dp.c voltage = dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK; dp_info 719 drivers/gpu/drm/radeon/atombios_dp.c dp_get_adjust_train(dp_info->link_status, dp_info->dp_lane_count, dp_info->train_set); dp_info 721 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_update_vs_emph(dp_info); dp_info 728 drivers/gpu/drm/radeon/atombios_dp.c dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK, dp_info 729 drivers/gpu/drm/radeon/atombios_dp.c (dp_info->train_set[0] & DP_TRAIN_PRE_EMPHASIS_MASK) >> dp_info 735 drivers/gpu/drm/radeon/atombios_dp.c static int radeon_dp_link_train_ce(struct radeon_dp_link_train_info *dp_info) dp_info 739 drivers/gpu/drm/radeon/atombios_dp.c if (dp_info->tp3_supported) dp_info 740 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_set_tp(dp_info, DP_TRAINING_PATTERN_3); dp_info 742 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_set_tp(dp_info, DP_TRAINING_PATTERN_2); dp_info 745 drivers/gpu/drm/radeon/atombios_dp.c dp_info->tries = 0; dp_info 748 drivers/gpu/drm/radeon/atombios_dp.c drm_dp_link_train_channel_eq_delay(dp_info->dpcd); dp_info 750 drivers/gpu/drm/radeon/atombios_dp.c if (drm_dp_dpcd_read_link_status(dp_info->aux, dp_info 751 drivers/gpu/drm/radeon/atombios_dp.c dp_info->link_status) <= 0) { dp_info 756 drivers/gpu/drm/radeon/atombios_dp.c if (drm_dp_channel_eq_ok(dp_info->link_status, dp_info->dp_lane_count)) { dp_info 762 drivers/gpu/drm/radeon/atombios_dp.c if (dp_info->tries > 5) { dp_info 768 drivers/gpu/drm/radeon/atombios_dp.c dp_get_adjust_train(dp_info->link_status, dp_info->dp_lane_count, dp_info->train_set); dp_info 770 drivers/gpu/drm/radeon/atombios_dp.c radeon_dp_update_vs_emph(dp_info); dp_info 771 drivers/gpu/drm/radeon/atombios_dp.c dp_info->tries++; dp_info 779 drivers/gpu/drm/radeon/atombios_dp.c dp_info->train_set[0] & DP_TRAIN_VOLTAGE_SWING_MASK, dp_info 780 drivers/gpu/drm/radeon/atombios_dp.c (dp_info->train_set[0] & DP_TRAIN_PRE_EMPHASIS_MASK) dp_info 795 drivers/gpu/drm/radeon/atombios_dp.c struct radeon_dp_link_train_info dp_info; dp_info 816 drivers/gpu/drm/radeon/atombios_dp.c dp_info.use_dpencoder = true; dp_info 820 drivers/gpu/drm/radeon/atombios_dp.c dp_info.use_dpencoder = false; dp_info 824 drivers/gpu/drm/radeon/atombios_dp.c dp_info.enc_id = 0; dp_info 826 drivers/gpu/drm/radeon/atombios_dp.c dp_info.enc_id |= ATOM_DP_CONFIG_DIG2_ENCODER; dp_info 828 drivers/gpu/drm/radeon/atombios_dp.c dp_info.enc_id |= ATOM_DP_CONFIG_DIG1_ENCODER; dp_info 830 drivers/gpu/drm/radeon/atombios_dp.c dp_info.enc_id |= ATOM_DP_CONFIG_LINK_B; dp_info 832 drivers/gpu/drm/radeon/atombios_dp.c dp_info.enc_id |= ATOM_DP_CONFIG_LINK_A; dp_info 837 drivers/gpu/drm/radeon/atombios_dp.c dp_info.tp3_supported = true; dp_info 839 drivers/gpu/drm/radeon/atombios_dp.c dp_info.tp3_supported = false; dp_info 841 drivers/gpu/drm/radeon/atombios_dp.c dp_info.tp3_supported = false; dp_info 844 drivers/gpu/drm/radeon/atombios_dp.c memcpy(dp_info.dpcd, dig_connector->dpcd, DP_RECEIVER_CAP_SIZE); dp_info 845 drivers/gpu/drm/radeon/atombios_dp.c dp_info.rdev = rdev; dp_info 846 drivers/gpu/drm/radeon/atombios_dp.c dp_info.encoder = encoder; dp_info 847 drivers/gpu/drm/radeon/atombios_dp.c dp_info.connector = connector; dp_info 848 drivers/gpu/drm/radeon/atombios_dp.c dp_info.dp_lane_count = dig_connector->dp_lane_count; dp_info 849 drivers/gpu/drm/radeon/atombios_dp.c dp_info.dp_clock = dig_connector->dp_clock; dp_info 850 drivers/gpu/drm/radeon/atombios_dp.c dp_info.aux = &radeon_connector->ddc_bus->aux; dp_info 852 drivers/gpu/drm/radeon/atombios_dp.c if (radeon_dp_link_train_init(&dp_info)) dp_info 854 drivers/gpu/drm/radeon/atombios_dp.c if (radeon_dp_link_train_cr(&dp_info)) dp_info 856 drivers/gpu/drm/radeon/atombios_dp.c if (radeon_dp_link_train_ce(&dp_info)) dp_info 859 drivers/gpu/drm/radeon/atombios_dp.c if (radeon_dp_link_train_finish(&dp_info))