Lines Matching refs:train
439 void drm_dp_link_train_init(struct drm_dp_link_train *train) in drm_dp_link_train_init() argument
441 struct drm_dp_link_train_set *request = &train->request; in drm_dp_link_train_init()
442 struct drm_dp_link_train_set *adjust = &train->adjust; in drm_dp_link_train_init()
456 train->pattern = DP_TRAINING_PATTERN_DISABLE; in drm_dp_link_train_init()
457 train->clock_recovered = false; in drm_dp_link_train_init()
458 train->channel_equalized = false; in drm_dp_link_train_init()
461 static bool drm_dp_link_train_valid(const struct drm_dp_link_train *train) in drm_dp_link_train_valid() argument
463 return train->clock_recovered && train->channel_equalized; in drm_dp_link_train_valid()
468 struct drm_dp_link_train_set *request = &link->train.request; in drm_dp_link_apply_training()
511 if (link->train.pattern != DP_TRAINING_PATTERN_DISABLE) in drm_dp_link_apply_training()
514 pattern |= link->train.pattern; in drm_dp_link_apply_training()
529 switch (link->train.pattern) { in drm_dp_link_train_wait()
550 struct drm_dp_link_train_set *adjust = &link->train.adjust; in drm_dp_link_get_adjustments()
576 static void drm_dp_link_train_adjust(struct drm_dp_link_train *train) in drm_dp_link_train_adjust() argument
578 struct drm_dp_link_train_set *request = &train->request; in drm_dp_link_train_adjust()
579 struct drm_dp_link_train_set *adjust = &train->adjust; in drm_dp_link_train_adjust()
615 link->train.clock_recovered = true; in drm_dp_link_recover_clock()
626 link->train.pattern = DP_TRAINING_PATTERN_1; in drm_dp_link_clock_recovery()
635 if (link->train.clock_recovered) in drm_dp_link_clock_recovery()
638 drm_dp_link_train_adjust(&link->train); in drm_dp_link_clock_recovery()
664 link->train.clock_recovered = false; in drm_dp_link_equalize_channel()
671 link->train.channel_equalized = true; in drm_dp_link_equalize_channel()
683 link->train.pattern = DP_TRAINING_PATTERN_3; in drm_dp_link_channel_equalization()
685 link->train.pattern = DP_TRAINING_PATTERN_2; in drm_dp_link_channel_equalization()
694 if (link->train.channel_equalized) in drm_dp_link_channel_equalization()
697 drm_dp_link_train_adjust(&link->train); in drm_dp_link_channel_equalization()
725 link->train.pattern = DP_TRAINING_PATTERN_DISABLE; in drm_dp_link_train_disable()
753 if (!link->train.clock_recovered) { in drm_dp_link_train_full()
771 if (!link->train.channel_equalized) { in drm_dp_link_train_full()
804 link->train.pattern = DP_TRAINING_PATTERN_1; in drm_dp_link_train_fast()
814 link->train.pattern = DP_TRAINING_PATTERN_3; in drm_dp_link_train_fast()
816 link->train.pattern = DP_TRAINING_PATTERN_2; in drm_dp_link_train_fast()
863 drm_dp_link_train_init(&link->train); in drm_dp_link_train()
866 if (drm_dp_link_train_valid(&link->train)) { in drm_dp_link_train()