Bug 69960 - Implement "fast" and "no" link training protocols for eDP/DP
Summary: Implement "fast" and "no" link training protocols for eDP/DP
Status: CLOSED NOTABUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other Linux (All)
: medium enhancement
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-30 12:18 UTC by gt6
Modified: 2017-07-24 22:57 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description gt6 2013-09-30 12:18:24 UTC
I own an Asus UX32VD which uses eDP for its panel and it takes Linux some 3-6 seconds to show anything on screen when booting, resuming from suspend or changing resolutions. I describe the problem in bug 56086. Apparently, the delay is due to problems with eDP link training.

However, especially for laptop panels which are always connected to the machine and never change with regard to cable length and other variables, doing "full link training" should not be necessary every time. Two alternatives, "fast link training" and "no link training" are mentioned in many places on the web (although a proper specification eludes me). Specifically, they usually say:

"System can be configured to use fast link training (simplified protocol) or no link training (no training protocol, designed for fastest display re-enable time)"

Apparently, it should be possible to use full link training only *once*, remembering the values for amplitude/preemphasis/whatever else is involved, and then re-using those values upon re-establishing the link on later occasions.

I know for a fact that on my exact laptop model, when resuming from suspend, Windows 8.0 re-establishes the link and shows the desktop in less than 1 second, while my Linux takes about 3-6 seconds, and this is not due to X or other factors, but likely due to slow link training.

I don't know specifics about the protocol, but apparently this shouldn't be too difficult. After a "full" link training has been performed, the settings should be stored and then tried when booting or resuming the next time the same resolution is used on an internal panel.

It would be great if "fast" and "no" link training could be implemented because at the moment, Linux falls behind other operating systems on laptops, which resume almost instantly from suspend and offer a much nicer user experience in this regard.

Thank you for your consideration.
Comment 1 Daniel Vetter 2013-09-30 12:21:07 UTC
Todd is already signed up to look into this I hear ...
Comment 2 Jani Nikula 2014-01-10 15:39:59 UTC
Todd, are you working on this? If not, please drop the assignee back to default.
Comment 3 Todd Previte 2014-01-10 15:49:46 UTC
Yes I'm working on this.
Comment 4 Todd Previte 2014-05-13 19:43:09 UTC
Work on this has been delayed by higher priority issues. I'm going to interleave it into the work I'm doing for compliance testing since I'll be in that code anyways.
Comment 5 Daniel Vetter 2014-11-04 16:30:24 UTC
Tracking features in bugzilla doesn't really work well, since gunking up the db with wishlist items that no one really works on isn't too useful.

Thanks for your report, but I guess it's better if we close this. Patches of course highly welcome.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.