<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [IVB] Undocking laptop causes warning in intel_dp_link_down+0x1d2/0x210"
href="https://bugs.freedesktop.org/show_bug.cgi?id=70839#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [IVB] Undocking laptop causes warning in intel_dp_link_down+0x1d2/0x210"
href="https://bugs.freedesktop.org/show_bug.cgi?id=70839">bug 70839</a>
from <span class="vcard"><a class="email" href="mailto:ynovikov@chromium.org" title="Yuly Novikov <ynovikov@chromium.org>"> <span class="fn">Yuly Novikov</span></a>
</span></b>
<pre>But wouldn't "enabling the link at conservative settings and keep on pumping
pixels into the air" waste power?
Sounds to me that bringing the link down when unplug is detected is the power
efficient way to go.
That is, if there is a safe way to do so.
As I understand, the problem with display pipe stopping is not a hardware one,
but the other parts of the driver, right?
I've tried to DPMS OFF the crtc instead of intel_dp_link_down(), and it worked
for me.
But, marcheu@ told me that X caches DPMS state, and the only reason it worked
is because in ChromeOS we re-probe once we receive hotplug uevent, so the cache
is updated properly.
Sounds to me that a better solution would be to devise a mechanism by which drm
state can be updated from the hardware side.
I mean, the usual configuration flow is that userspace configures crtc, which
enables / disables encoder and connector.
But, it sound reasonable to me that when a connector detects that the hardware
configuration changed, it will reconfigure encoder / crtc on it's own, and
notify the userspace about the change.
I've tried calling intel_modeset_setup_hw_state(force_restore==true) for that
effect, and it worked, but it took a few seconds and the internal screen turned
on / off twice instead of once, that I'd expect from reconfiguration.
Perhaps what we need is a more light-weight intel_modeset_setup_hw_state(),
which would not touch hardware which is already in the right state, but only
turn off the relevant one?
How does that sound from "right thing to do" and feasibility perspectives?
If I am just talking nonsense here, what would you suggest as "conservative
settings"? 640x480@60Hz?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>