On Tue, Jul 26, 2011 at 1:54 AM, Keith Packard keithp@keithp.com wrote:
From 59b920597999381fab70c485c161dd50590e561a Mon Sep 17 00:00:00 2001 From: Keith Packard keithp@keithp.com Date: Mon, 25 Jul 2011 22:37:51 -0700 Subject: [PATCH] Revert and fix "drm/i915/dp: remove DPMS mode tracking from DP"
This reverts commit 885a50147f00a8a80108904bf58a18af357717f3.
We actually *do* need to track DPMS state so that on hotplug, we don't retrain the link until DPMS is disabled.
intel_dp->output_reg = output_reg;
- intel_dp->dpms_mode = -1;
Should that be some actual mode constant instead of -1?
In any case, this patch, applied manually on top of the struct_mutex fix, seems to work. xset dpms force off turns the display off briefly (presumably X or GNOME helpfully turns it back on), but if I let the display turn off on its own, it comes back.
There's still an obnoxious bug, though: I use audio over DP, and when the display turns off, the attached speaker crackles loudly for a second or two. I don't think it's a hardware problem with the monitor, because if I just pull the plug it doesn't make any noise. Should the driver do something to drop the audio link before turning off the DP link as a whole?
--Andy