We need this for dp aux communication. This issue can fill the dmesg
with WARN spam when the panel is disable (e.g. while reconfiguring the
mode or while resuming).

v2: Actually enable edp vdd early enough. I've missed one dp aux
channel thingy ...

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50808
Reported-by: Linus Torvalds <torvalds at linux-foundation.org>
Bugreport: http://permalink.gmane.org/gmane.comp.video.dri.devel/69695
Cc: stable at vger.kernel.org
Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
 drivers/gpu/drm/i915/intel_dp.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 296cfc2..547cdc6 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -2152,6 +2152,7 @@ intel_dp_detect(struct drm_connector *connector, bool 
force)

        intel_dp->has_audio = false;

+       ironlake_edp_panel_vdd_on(intel_dp);
        if (HAS_PCH_SPLIT(dev))
                status = ironlake_dp_detect(intel_dp);
        else
@@ -2162,8 +2163,10 @@ intel_dp_detect(struct drm_connector *connector, bool 
force)
                      intel_dp->dpcd[3], intel_dp->dpcd[4], intel_dp->dpcd[5],
                      intel_dp->dpcd[6], intel_dp->dpcd[7]);

-       if (status != connector_status_connected)
+       if (status != connector_status_connected) {
+               ironlake_edp_panel_vdd_off(intel_dp, false);
                return status;
+       }

        intel_dp_probe_oui(intel_dp);

@@ -2177,6 +2180,7 @@ intel_dp_detect(struct drm_connector *connector, bool 
force)
                        kfree(edid);
                }
        }
+       ironlake_edp_panel_vdd_off(intel_dp, false);

        return connector_status_connected;
 }
-- 
1.7.10

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48

Reply via email to